diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..235d4fda --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,26 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "(gdb) 启动 timeloop-mapper", + "type": "cppdbg", + "request": "launch", + // 1. 指定您的主可执行程序路径 + "program": "/home/arch/.local/bin/timeloop-mapper", + // 2. 在这里填写程序的命令行参数,每个参数是一个独立的字符串 + "args": [ + "/home/arch/accelergy-timeloop-infrastructure/src/timeloop/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/parsed-processed-input.yaml" + + ], + "stopAtEntry": false, + // 3. 指定程序的工作目录,通常是项目根目录 + "cwd": "${workspaceFolder}", + "environment": [], + "externalConsole": false, + "MIMode": "gdb", + // 4. (可选) 如果gdb不在系统路径中,可以在这里指定它的绝对路径 + // "miDebuggerPath": "/usr/bin/gdb", + + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 053e242c..6799bfdc 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -67,6 +67,27 @@ "thread": "cpp", "cinttypes": "cpp", "typeinfo": "cpp", - "*.h++": "cpp" + "*.h++": "cpp", + "hash_map": "cpp", + "cfenv": "cpp", + "charconv": "cpp", + "coroutine": "cpp", + "csetjmp": "cpp", + "csignal": "cpp", + "forward_list": "cpp", + "source_location": "cpp", + "format": "cpp", + "future": "cpp", + "numbers": "cpp", + "queue": "cpp", + "semaphore": "cpp", + "shared_mutex": "cpp", + "span": "cpp", + "stack": "cpp", + "stdfloat": "cpp", + "text_encoding": "cpp", + "typeindex": "cpp", + "valarray": "cpp", + "variant": "cpp" } } \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..cb8b75d5 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,28 @@ +{ + "tasks": [ + { + "type": "cppbuild", + "label": "C/C++: g++ 生成活动文件", + "command": "/usr/bin/g++", + "args": [ + "-fdiagnostics-color=always", + "-g", + "${file}", + "-o", + "${fileDirname}/${fileBasenameNoExtension}" + ], + "options": { + "cwd": "${fileDirname}" + }, + "problemMatcher": [ + "$gcc" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "detail": "调试器生成的任务。" + } + ], + "version": "2.0.0" +} \ No newline at end of file diff --git a/include/loop-analysis/nest-analysis-tile-info.hpp b/include/loop-analysis/nest-analysis-tile-info.hpp index 4c72d48d..2e467e0e 100644 --- a/include/loop-analysis/nest-analysis-tile-info.hpp +++ b/include/loop-analysis/nest-analysis-tile-info.hpp @@ -144,6 +144,20 @@ struct DataMovementInfo void Reset(); void Validate(); + + friend std::ostream& operator << (std::ostream& out, const DataMovementInfo& info) + { + out << "DataMovementInfo: size=" << info.size + << ", total_child_accesses=" << info.total_child_accesses + << ", link_transfers=" << info.link_transfers + << ", replication_factor=" << info.replication_factor + << ", fanout=" << info.fanout + << ", is_on_storage_boundary=" << std::boolalpha << info.is_on_storage_boundary + << ", is_master_spatial=" << std::boolalpha << info.is_master_spatial + << ", rmw_first_update=" << std::boolalpha << info.rmw_first_update + << ", no_coalesce=" << std::boolalpha << info.no_coalesce; + return out; + } }; struct ComputeInfo @@ -155,6 +169,14 @@ struct ComputeInfo ComputeInfo(); void Reset(); + + friend std::ostream& operator << (std::ostream& out, const ComputeInfo& info) + { + out << "ComputeInfo: replication_factor=" << info.replication_factor + << ", accesses=" << info.accesses + << ", max_temporal_iterations=" << info.max_temporal_iterations; + return out; + } }; // compound tile info types to capture per-dataspace info diff --git a/include/loop-analysis/nest-analysis.hpp b/include/loop-analysis/nest-analysis.hpp index 0e488060..33bfd09e 100644 --- a/include/loop-analysis/nest-analysis.hpp +++ b/include/loop-analysis/nest-analysis.hpp @@ -189,7 +189,9 @@ class NestAnalysis std::vector::reverse_iterator cur, const std::unordered_map& spatial_deltas, problem::PerDataSpace>& unaccounted_delta, - problem::PerDataSpace& access_stats); + problem::PerDataSpace& access_stats, + bool enable_debug_print = false + ); void ComputeNetworkLinkTransfers( std::vector::reverse_iterator cur, @@ -208,6 +210,10 @@ class NestAnalysis void ComputeDataDensity(); void PrintSpaceTimeStamp(); + void LogStrategyDecision(int level, unsigned pvi, + std::uint64_t accesses_without_links, + std::uint64_t accesses_with_links); + public: // API NestAnalysis(); diff --git a/include/workload/util/per-data-space.hpp b/include/workload/util/per-data-space.hpp index 9d66fbe8..c3870c03 100644 --- a/include/workload/util/per-data-space.hpp +++ b/include/workload/util/per-data-space.hpp @@ -92,13 +92,13 @@ class PerDataSpace : public DynamicArray friend std::ostream& operator << (std::ostream& out, const PerDataSpace& x) { - // for (unsigned pvi = 0; pvi < GetShape()->NumDataSpaces; pvi++) - // { - // out << std::setw(10) << GetShape()->DataSpaceIDToName.at(pvi) << ": " << x[pvi] << std::endl; - // } - for (unsigned pvi = 0; pvi < x.size(); pvi++) + // 使用这个信息更丰富的版本 + for (unsigned pvi = 0; pvi < problem::GetShape()->NumDataSpaces; pvi++) { - out << pvi << ": " << x[pvi] << std::endl; + out << std::setw(12) << std::left << problem::GetShape()->DataSpaceIDToName.at(pvi) + ":" << x[pvi]; + if (pvi < problem::GetShape()->NumDataSpaces - 1) { + out << std::endl; + } } return out; } diff --git a/src/applications/mapper/mapper.cpp b/src/applications/mapper/mapper.cpp index a1939545..14415766 100644 --- a/src/applications/mapper/mapper.cpp +++ b/src/applications/mapper/mapper.cpp @@ -316,6 +316,7 @@ Mapper::Mapper(config::CompoundConfig* config, // layout modeling std::cout << "Start Parsering Layout" << std::endl; + std::cout<< "Hello timeloop in mapper !" << std::endl; config::CompoundConfigNode compound_config_node_layout; bool existing_layout = rootNode.lookup("layout", compound_config_node_layout); if (existing_layout){ diff --git a/src/applications/model/main.cpp b/src/applications/model/main.cpp index 65c54162..90e87a21 100644 --- a/src/applications/model/main.cpp +++ b/src/applications/model/main.cpp @@ -28,7 +28,7 @@ #include #include #include - +// #include #include "applications/model/model.hpp" #include "compound-config/compound-config.hpp" #include "util/args.hpp" @@ -65,7 +65,7 @@ int main(int argc, char* argv[]) sigemptyset(&action.sa_mask); action.sa_flags = 0; sigaction(SIGINT, &action, NULL); - + // dbg("dbg-macro is fuctioning correctly"); std::vector input_files; std::string output_dir = "."; bool success = ParseArgs(argc, argv, input_files, output_dir); diff --git a/src/applications/model/model.cpp b/src/applications/model/model.cpp index 5121e08f..2c6c7ca2 100644 --- a/src/applications/model/model.cpp +++ b/src/applications/model/model.cpp @@ -188,6 +188,7 @@ Model::Model(config::CompoundConfig* config, // layout modeling std::cout << "Start Parsering Layout" << std::endl; + std::cout<< "Hello timeloop in model !" << std::endl; config::CompoundConfigNode compound_config_node_layout; bool existing_layout = rootNode.lookup("layout", compound_config_node_layout); diff --git a/src/loop-analysis/nest-analysis.cpp b/src/loop-analysis/nest-analysis.cpp index 9c858044..11793f83 100644 --- a/src/loop-analysis/nest-analysis.cpp +++ b/src/loop-analysis/nest-analysis.cpp @@ -34,7 +34,7 @@ #include #include #include - +#include // FIXME: num_spatial_elems, spatial_fanouts, replication_factor etc. are // all maintained across datatypes. They should be per-datatype at // this analytical level of abstraction. It's only when we get to @@ -102,6 +102,7 @@ namespace analysis NestAnalysis::NestAnalysis() { + std::cout << "[DEBUG] NestAnalysis constructor has been called." << std::endl; } @@ -366,6 +367,7 @@ std::ostream& operator << (std::ostream& out, const NestAnalysis& n) void NestAnalysis::ComputeWorkingSets() { + std::cout<< "Hello NestAnalysis!" << std::endl; if (nest_state_.size() != 0) { InitializeNestProperties(); @@ -735,7 +737,6 @@ problem::OperationSpace NestAnalysis::ComputeDeltas(std::vectordescriptor.spacetime_dimension)) { ComputeSpatialWorkingSet(cur); @@ -777,19 +778,8 @@ problem::OperationSpace NestAnalysis::ComputeDeltas(std::vector no_temporal_reuse(workload_->GetShape()->NumDataSpaces); for(unsigned pv = 0; pv < workload_->GetShape()->NumDataSpaces; pv++) { @@ -820,6 +811,21 @@ problem::OperationSpace NestAnalysis::ComputeDeltas(std::vector::r bool this_level_imperfect = cur->descriptor.end != cur->descriptor.residual_end; bool run_last_iteration = imperfect_iteration || workload_->GetShape()->UsesFlattening || gRunLastIteration; bool run_second_last_iteration = this_level_imperfect && run_last_iteration; - + + dbg(gExtrapolateUniformTemporal); if (gExtrapolateUniformTemporal && !disable_temporal_extrapolation_.at(level)) { // What we would like to do is to *NOT* iterate through the entire loop @@ -945,6 +952,7 @@ void NestAnalysis::ComputeTemporalWorkingSet(std::vector::r if (num_iterations >= 1) { + dbg("Temporal Extrapolate: Iteration #0", level, indices_[level]); // Invoke next (inner) loop level. ++cur; auto temporal_delta = ComputeDeltas(cur); @@ -961,7 +969,7 @@ void NestAnalysis::ComputeTemporalWorkingSet(std::vector::r (time_stamp_.back())++; } - // Iterations #1 through #last-1/last. + // Iterations #1 through #last-1/last.s if ((run_second_last_iteration && num_iterations >= 4) || (run_last_iteration && !run_second_last_iteration && num_iterations >= 3) || (!run_last_iteration && num_iterations >= 2)) @@ -977,6 +985,7 @@ void NestAnalysis::ComputeTemporalWorkingSet(std::vector::r auto saved_epochs = num_epochs_; num_epochs_ *= virtual_iterations; + dbg("Temporal Extrapolate: Virtual Block", level, indices_[level], "num_virtual_iterations", virtual_iterations); ++cur; auto temporal_delta = ComputeDeltas(cur); @@ -1000,6 +1009,7 @@ void NestAnalysis::ComputeTemporalWorkingSet(std::vector::r if (run_second_last_iteration && num_iterations >= 3) { // Invoke next (inner) loop level. + dbg("Temporal Extrapolate: Second-to-Last Iteration", level, indices_[level]); ++cur; auto temporal_delta = ComputeDeltas(cur); --cur; @@ -1025,6 +1035,7 @@ void NestAnalysis::ComputeTemporalWorkingSet(std::vector::r if (run_last_iteration && num_iterations >= 2) { // Invoke next (inner) loop level. + dbg("Temporal Extrapolate: Last Iteration", level, indices_[level]); ++cur; auto temporal_delta = ComputeDeltas(cur); --cur; @@ -1132,8 +1143,8 @@ void NestAnalysis::ComputeTemporalWorkingSet(std::vector::r void NestAnalysis::ComputeSpatialWorkingSet(std::vector::reverse_iterator cur) { int level = cur->level; + dbg("Hitting spatial level",level); ASSERT(master_spatial_level_[level]); - // // Step II: Compute Spatial Deltas, etc. // @@ -1223,12 +1234,11 @@ void NestAnalysis::ComputeSpatialWorkingSet(std::vector::re } ComputeAccurateMulticastedAccesses(cur, spatial_deltas, unaccounted_delta, - access_stats_without_link_transfers); + access_stats_without_link_transfers,true); // *** FIXME *** for Read-Write data spaces, we must check if hardware // reduction is supported by the child level. If not, we cannot perform // link transfers. - if (gEnableLinkTransfers && linked_spatial_level_[level]) { // Reset unaccounted delta, and now count with link transfers. @@ -1243,11 +1253,16 @@ void NestAnalysis::ComputeSpatialWorkingSet(std::vector::re // } problem::PerDataSpace link_transfers(workload_->GetShape()->NumDataSpaces); - + + // dbg(level); + // dbg(link_transfers); + // dbg(unaccounted_delta); ComputeNetworkLinkTransfers(cur, spatial_deltas, unaccounted_delta, link_transfers); - + // dbg(link_transfers); + // dbg(unaccounted_delta); ComputeAccurateMulticastedAccesses(cur, spatial_deltas, unaccounted_delta, access_stats_with_link_transfers); + // dbg("------------------------------------------------------------------"); // Compare. for (unsigned pvi = 0; pvi < workload_->GetShape()->NumDataSpaces; pvi++) @@ -1255,8 +1270,11 @@ void NestAnalysis::ComputeSpatialWorkingSet(std::vector::re std::uint64_t total_without = access_stats_without_link_transfers[pvi].TotalAccesses(); std::uint64_t total_with = access_stats_with_link_transfers[pvi].TotalAccesses(); + // LogStrategyDecision(level, pvi, total_without, total_with); + if (total_with < total_without) { + cur_state.link_transfers[pvi] += link_transfers[pvi]; access_stats[pvi] = &access_stats_with_link_transfers[pvi]; } @@ -1435,7 +1453,7 @@ void NestAnalysis::FillSpatialDeltas(std::vector::reverse_i unsigned iterations_to_run = (gExtrapolateUniformSpatial && !workload_->GetShape()->UsesFlattening) ? (gDisableFirstElementOnlySpatialExtrapolation ? 3 : 1) : num_iterations; - + // dbg(level,base_index,iterations_to_run,cur->descriptor.start,cur->descriptor.stride,end,loop::IsSpatial(next->descriptor.spacetime_dimension)); if (loop::IsSpatial(next->descriptor.spacetime_dimension)) { // Next-inner loop level is spatial. @@ -1609,10 +1627,11 @@ void NestAnalysis::ComputeAccurateMulticastedAccesses( problem::PerDataSpace>& unaccounted_delta, //std::set>& unaccounted_delta, //std::vector>& unaccounted_delta, - problem::PerDataSpace& access_stats) + problem::PerDataSpace& access_stats, + bool enable_debug_print) { //std::uint64_t num_deltas = spatial_deltas.size(); - + // if(enable_debug_print) dbg(spatial_deltas); // For each data type, records the number of unaccounted deltas // that the current delta matches with. This will be used // to infer the multicast factor for a specific delta. @@ -1698,7 +1717,30 @@ void NestAnalysis::ComputeAccurateMulticastedAccesses( } } } + // // ======================= DBG语句开始 ======================= + if(enable_debug_print) + { + for (unsigned pv = 0; pv < workload_->GetShape()->NumDataSpaces; pv++) + { + // 仅当目标数量大于1时,才认为是多播 + if (num_matches[pv] > 1 && delta.GetSize(pv) > 0) + + { + // 使用 stringstream 来格式化位置列表,使其更易读 + std::stringstream locations_ss; + for (const auto& loc : match_set[pv]) + { + locations_ss << loc << " "; + } + // 打印详细的多播信息 + // 你可以把 std::cout 替换为你的 dbg() 宏 + dbg(pv, num_matches[pv], delta.GetSize(pv), match_set[pv]); + } + } + + } + // ======================= DBG语句结束 ======================= // NOTE: multicast is # children sharing the same delta // scatter factor is the # data spaces with the same multicast value @@ -1777,7 +1819,12 @@ void NestAnalysis::ComputeAccurateMulticastedAccesses( } } } - + // // The main loop has finished. This is the correct place. + // if (enable_debug_print) + // { + // dbg("=== End of all multicast checks for this function call ==="); + // } + // Populate the actual stats. for (unsigned pv = 0; pv < workload_->GetShape()->NumDataSpaces; pv++) { @@ -1830,9 +1877,21 @@ void NestAnalysis::CompareSpatioTemporalDeltas( { if (!ignore_dataspaces[pv] && !cur_delta.IsEmpty(pv)) { + // ================================================================= + // ============= 在这里插入“关卡五”的调试代码 ============= + // ================================================================= + // 打印当前比较的两个PE的索引 + // dbg(cur_spatial_index, prev_spatial_index); + + // // 打印出即将被比较的两个OperationSpace + // dbg(pv); + // dbg( cur_delta); + // dbg( prev_delta); + // ================================================================= if (cur_delta.CheckEquality(prev_delta, pv)) { // ASSERT(!inter_elem_reuse[cur_spatial_index][pv]); + dbg("Found a match!"); inter_elem_reuse.at(cur_spatial_index)[pv] = true; //std::cout << " match for pv " << pv << std::endl; } @@ -1988,6 +2047,7 @@ void NestAnalysis::ComputeNetworkLinkTransfers( } } + // Compute the total number of accesses that can be bypassed // by using link transfers for (auto& delta: cur_spatial_deltas) @@ -2375,4 +2435,26 @@ problem::OperationSpace NestAnalysis::GetCurrentWorkingSet(std::vector bool gHideInconsequentialStats = (getenv("TIMELOOP_HIDE_INCONSEQUENTIAL_STATS") == NULL) || @@ -1293,6 +1294,8 @@ std::vector Topology::Evaluate(Mapping& mapping, sparse::SparseOptimizationInfo* sparse_optimizations, bool break_on_failure) { + dbg(mapping); + dbg(analysis); assert(is_specced_); Reset(); assert(!is_evaluated_); @@ -1317,8 +1320,8 @@ std::vector Topology::Evaluate(Mapping& mapping, problem::Workload* workload = analysis->GetWorkload(); workload_ = workload; layout::Layouts layout = analysis->GetLayout(); - std::vector eval_status(NumLevels(), { .success = true, .fail_reason = "" }); + // dbg(eval_status); bool valid = tiling::CheckMaskValidity(mapping.datatype_bypass_nest, workload); if (!valid) { @@ -1327,7 +1330,6 @@ std::vector Topology::Evaluate(Mapping& mapping, EvalStatus({ .success = false, .fail_reason = "one of the tensors is bypassed in all storage levels"})); return eval_status; } - bool success_accum = true; bool success = true; @@ -1345,15 +1347,50 @@ std::vector Topology::Evaluate(Mapping& mapping, // Compute working-set tile hierarchy for the nest. analysis::CompoundTileNest tile_info_nest; problem::PerDataSpace> ws_tiles; + dbg("hello topology!"); try { + dbg("function!"); ws_tiles = analysis->GetWorkingSets(); - // construct a summaried tileinfo with both datamovement info and compute info + // ================ 手动打印 ws_tiles 的开始 ================ +std::cout << "----------- Manually printing ws_tiles -----------" << std::endl; + +// // 1. 外层循环:遍历所有数据空间 (Inputs, Weights, Outputs, etc.) +// for (unsigned pvi = 0; pvi < problem::GetShape()->NumDataSpaces; pvi++) +// { +// // 获取当前数据空间的名称,例如 "Weights" +// const auto& data_space_name = problem::GetShape()->DataSpaceIDToName.at(pvi); + +// // 获取该数据空间对应的 std::vector +// const auto& data_movement_vector = ws_tiles[pvi]; + +// std::cout << " [" << data_space_name << "]:" << std::endl; + +// if (data_movement_vector.empty()) +// { +// std::cout << " (No data movement info)" << std::endl; +// continue; +// } + +// // 2. 内层循环:遍历 vector 中的每一个 DataMovementInfo 对象 +// for (size_t i = 0; i < data_movement_vector.size(); ++i) +// { +// const auto& info = data_movement_vector[i]; +// dbg(info); +// std::cout<GetComputeInfo(); + // dbg(tile_info_nest.compound_compute_info_nest); tile_info_nest.compound_data_movement_info_nest = ws_tiles; } catch (std::runtime_error& e) { + dbg("error"); std::fill(eval_status.begin(), eval_status.end(), EvalStatus({ .success = false, .fail_reason = "" })); return eval_status; @@ -1361,6 +1398,7 @@ std::vector Topology::Evaluate(Mapping& mapping, // Ugh... FIXME. + dbg("function!"); auto compute_cycles = analysis->GetComputeInfo()[0].accesses; //innermost level // Create a mask indicating which levels support distributed multicast. diff --git a/storage_comparison.png b/storage_comparison.png new file mode 100644 index 00000000..058961cc Binary files /dev/null and b/storage_comparison.png differ diff --git a/timeloop-mapper.ART.yaml b/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..0c904bbb --- /dev/null +++ b/timeloop-mapper.ART.yaml @@ -0,0 +1,19 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + area: 0.0 + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + - name: system_top_level.shared_glb[1..1] + area: 217363.0 + - name: system_top_level.ifmap_spad[1..168] + area: 1270.75 + - name: system_top_level.weights_spad[1..168] + area: 20002.6 + - name: system_top_level.psum_spad[1..168] + area: 1686.49 + - name: system_top_level.mac[1..168] + area: 330.392 diff --git a/timeloop-mapper.ART_summary.yaml b/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..6d89e0ad --- /dev/null +++ b/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,53 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + primitive_estimations: dummy + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + primitive_estimations: dummy + - name: system_top_level.shared_glb[1..1] + area: 217363.0 + primitive_estimations: + - name: storage + estimator: CactiSRAM + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + area: 1270.75 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + area: 20002.6 + primitive_estimations: + - name: storage.storage[1..6144] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + area: 1686.49 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + area: 330.392 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/timeloop-mapper.ERT.yaml b/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..98fc39d0 --- /dev/null +++ b/timeloop-mapper.ERT.yaml @@ -0,0 +1,89 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + actions: + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + arguments: {} + energy: 14.1379 + - name: read + arguments: {} + energy: 18.1838 + - name: leak + arguments: {} + energy: 0.00565154 + - name: update + arguments: {} + energy: 14.1379 + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.221404 + - name: read + arguments: {} + energy: 0.253957 + - name: leak + arguments: {} + energy: 0.000127419 + - name: update + arguments: {} + energy: 0.221404 + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + arguments: {} + energy: 2.37642 + - name: read + arguments: {} + energy: 2.49655 + - name: leak + arguments: {} + energy: 0.00201372 + - name: update + arguments: {} + energy: 2.37642 + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.275033 + - name: read + arguments: {} + energy: 0.315775 + - name: leak + arguments: {} + energy: 0.000169297 + - name: update + arguments: {} + energy: 0.275033 + - name: system_top_level.mac[1..168] + actions: + - name: compute + arguments: {} + energy: 0.262781 + - name: leak + arguments: {} + energy: 0.00300321 diff --git a/timeloop-mapper.ERT_summary.yaml b/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..2b44a84f --- /dev/null +++ b/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,115 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + actions: + - name: write + energy: 512.0 + - name: update + energy: 512.0 + - name: leak + energy: 0.0 + - name: read + energy: 512.0 + primitive_estimation(s): + - name: system_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + energy: 14.1379 + - name: read + energy: 18.1838 + - name: leak + energy: 0.00565154 + - name: update + energy: 14.1379 + primitive_estimation(s): + - name: storage + estimator: CactiSRAM + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + energy: 0.221404 + - name: read + energy: 0.253957 + - name: leak + energy: 0.000127419 + - name: update + energy: 0.221404 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + energy: 2.37642 + - name: read + energy: 2.49655 + - name: leak + energy: 0.00201372 + - name: update + energy: 2.37642 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..6144] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + energy: 0.275033 + - name: read + energy: 0.315775 + - name: leak + energy: 0.000169297 + - name: update + energy: 0.275033 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + actions: + - name: compute + energy: 0.262781 + - name: leak + energy: 0.00300321 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/timeloop-mapper.accelergy.log b/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..704184e6 --- /dev/null +++ b/timeloop-mapper.accelergy.log @@ -0,0 +1,964 @@ +2025-07-05 16:30:44 INFO _ _ +2025-07-05 16:30:44 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2025-07-05 16:30:44 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2025-07-05 16:30:44 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2025-07-05 16:30:44 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2025-07-05 16:30:44 INFO |___/ |___/ +2025-07-05 16:30:44 INFO generating outputs according to the following specified output flags... +2025-07-05 16:30:44 INFO Please use the -f flag to update the preference (default to all output files) +2025-07-05 16:30:44 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2025-07-05 16:30:44 INFO Located config file at /home/arch/.config/accelergy/accelergy_config.yaml. +2025-07-05 16:30:44 INFO config file located: +2025-07-05 16:30:44 INFO /home/arch/.config/accelergy/accelergy_config.yaml +2025-07-05 16:30:44 INFO Parsing file /home/arch/accelergy-timeloop-infrastructure/src/timeloop/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/parsed-processed-input.yaml for architecture info +2025-07-05 16:30:44 INFO Parsing file /home/arch/accelergy-timeloop-infrastructure/src/timeloop/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/parsed-processed-input.yaml for compound_components info +2025-07-05 16:30:44 INFO Adding required action "write" to class DRAM +2025-07-05 16:30:44 INFO Adding required action "update" to class DRAM +2025-07-05 16:30:44 INFO Adding required action "leak" to class DRAM +2025-07-05 16:30:44 INFO Adding required action "read" to class DRAM +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_SRAM attributes"memory_width" as "max(32, width)" = 64. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_SRAM attributes"memory_depth" as "max(64, depth)" = 16384. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_SRAM attributes"widthscale" as "width / memory_width" = 1.0. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_SRAM attributes"depthscale" as "depth / memory_depth" = 1.0. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_SRAM attributes"real_depth" as "depth" = 16384. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_SRAM attributes"area_scale" as "widthscale * depthscale" = 1.0. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_SRAM attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 1.0. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_SRAM attributes"static_energy_scale" as "area_scale" = 1.0. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 64. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 0.1875. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 12. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.09375. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.1354911710963393. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.09375. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 192. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 1.0. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 192. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.5. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.5. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.5. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 64. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 0.25. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 16. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.125. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.16957554093095897. +2025-07-05 16:30:44 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.125. +2025-07-05 16:30:44 WARNING Area scale in attributes is deprecated. Use it on the same level as the attributes, not a subkey. +2025-07-05 16:30:44 WARNING Area scale in attributes is deprecated. Use it on the same level as the attributes, not a subkey. +2025-07-05 16:30:44 WARNING Area scale in attributes is deprecated. Use it on the same level as the attributes, not a subkey. +2025-07-05 16:30:44 WARNING Area scale in attributes is deprecated. Use it on the same level as the attributes, not a subkey. +2025-07-05 16:30:44 INFO Estimator plug-in identified by: /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2025-07-05 16:30:44 INFO Estimator plug-in identified by: /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2025-07-05 16:30:44 INFO Estimator plug-in identified by: /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2025-07-05 16:30:44 INFO Estimator plug-in identified by: /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2025-07-05 16:30:44 INFO Estimator plug-in identified by: /home/arch/miniconda3/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2025-07-05 16:30:44 INFO Estimator plug-in identified by: /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2025-07-05 16:30:44 INFO Estimator plug-in identified by: /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2025-07-05 16:30:44 INFO Loading Python plug-in: /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_wrapper.py. Errors below are likely due to plug-in, not Accelergy. +2025-07-05 16:30:44 INFO Getting all estimators in module +2025-07-05 16:30:44 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2025-07-05 16:30:44 INFO Added estimator CactiDRAM that estimates ['DRAM', 'dram'] with actions idle, read, update, write, leak +2025-07-05 16:30:44 INFO Added estimator CactiSRAM that estimates ['SRAM', 'sram'] with actions idle, read, update, write, leak +2025-07-05 16:30:44 INFO Done loading Python plug-ins. +2025-07-05 16:30:44 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2025-07-05 16:30:44 INFO Found estimator plug-in: Neurosim Plug-In () +2025-07-05 16:30:44 INFO Found estimator plug-in: Aladdin_table () +2025-07-05 16:30:44 INFO Found estimator plug-in: dummy () +2025-07-05 16:30:44 INFO Found estimator plug-in: Library () +2025-07-05 16:30:44 INFO Found estimator plug-in: ADC Plug-In () +2025-07-05 16:30:44 INFO Found estimator plug-in: CactiCache () +2025-07-05 16:30:44 INFO Found estimator plug-in: CactiDRAM () +2025-07-05 16:30:44 INFO Found estimator plug-in: CactiSRAM () +2025-07-05 16:30:44 INFO Calculated storage."width" as "memory_width" = 64. +2025-07-05 16:30:44 INFO Calculated storage."depth" as "memory_depth" = 16384. +2025-07-05 16:30:44 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2025-07-05 16:30:44 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated storage.area_scale as "area_scale" = 1.0. +2025-07-05 16:30:44 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 14. +2025-07-05 16:30:44 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 14. +2025-07-05 16:30:44 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 1.0. +2025-07-05 16:30:44 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 1.0. +2025-07-05 16:30:44 INFO Calculated action leak energy_scale as "static_energy_scale" = 1.0. +2025-07-05 16:30:44 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 1.0. +2025-07-05 16:30:44 INFO Calculated storage."width" as "memory_width" = 32. +2025-07-05 16:30:44 INFO Calculated storage."depth" as "memory_depth" = 64. +2025-07-05 16:30:44 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2025-07-05 16:30:44 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated storage.area_scale as "area_scale" = 0.09375. +2025-07-05 16:30:44 INFO Calculated list index expression as "width*depth" = 2048. +2025-07-05 16:30:44 INFO Calculated list index expression as "depth" = 64. +2025-07-05 16:30:44 INFO Calculated storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2025-07-05 16:30:44 INFO Calculated storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2025-07-05 16:30:44 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2025-07-05 16:30:44 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.1354911710963393. +2025-07-05 16:30:44 INFO Calculated list index expression as "width" = 32. +2025-07-05 16:30:44 INFO Calculated list index expression as "depth" = 64. +2025-07-05 16:30:44 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.1354911710963393. +2025-07-05 16:30:44 INFO Calculated list index expression as "width" = 32. +2025-07-05 16:30:44 INFO Calculated list index expression as "depth" = 64. +2025-07-05 16:30:44 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.09375. +2025-07-05 16:30:44 INFO Calculated list index expression as "width*depth" = 2048. +2025-07-05 16:30:44 INFO Calculated system_top_level.ifmap_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated list index expression as "depth" = 64. +2025-07-05 16:30:44 INFO Calculated system_top_level.ifmap_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.1354911710963393. +2025-07-05 16:30:44 INFO Calculated list index expression as "width" = 32. +2025-07-05 16:30:44 INFO Calculated list index expression as "depth" = 64. +2025-07-05 16:30:44 INFO Calculated storage."width" as "memory_width" = 32. +2025-07-05 16:30:44 INFO Calculated storage."depth" as "memory_depth" = 192. +2025-07-05 16:30:44 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2025-07-05 16:30:44 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated storage.area_scale as "area_scale" = 0.5. +2025-07-05 16:30:44 INFO Calculated list index expression as "width*depth" = 6144. +2025-07-05 16:30:44 INFO Calculated list index expression as "depth" = 192. +2025-07-05 16:30:44 INFO Calculated storage.storage[1..6144]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated storage.comparator[1..192]."n_bits" as "max(1, ceil(log2(depth)))" = 8. +2025-07-05 16:30:44 INFO Calculated storage.comparator[1..192]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2025-07-05 16:30:44 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2025-07-05 16:30:44 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.5. +2025-07-05 16:30:44 INFO Calculated list index expression as "width" = 32. +2025-07-05 16:30:44 INFO Calculated list index expression as "depth" = 192. +2025-07-05 16:30:44 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.5. +2025-07-05 16:30:44 INFO Calculated list index expression as "width" = 32. +2025-07-05 16:30:44 INFO Calculated list index expression as "depth" = 192. +2025-07-05 16:30:44 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.5. +2025-07-05 16:30:44 INFO Calculated list index expression as "width*depth" = 6144. +2025-07-05 16:30:44 INFO Calculated system_top_level.weights_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated list index expression as "depth" = 192. +2025-07-05 16:30:44 INFO Calculated system_top_level.weights_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.5. +2025-07-05 16:30:44 INFO Calculated list index expression as "width" = 32. +2025-07-05 16:30:44 INFO Calculated list index expression as "depth" = 192. +2025-07-05 16:30:44 INFO Calculated storage."width" as "memory_width" = 32. +2025-07-05 16:30:44 INFO Calculated storage."depth" as "memory_depth" = 64. +2025-07-05 16:30:44 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2025-07-05 16:30:44 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated storage.area_scale as "area_scale" = 0.125. +2025-07-05 16:30:44 INFO Calculated list index expression as "width*depth" = 2048. +2025-07-05 16:30:44 INFO Calculated list index expression as "depth" = 64. +2025-07-05 16:30:44 INFO Calculated storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2025-07-05 16:30:44 INFO Calculated storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2025-07-05 16:30:44 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2025-07-05 16:30:44 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.16957554093095897. +2025-07-05 16:30:44 INFO Calculated list index expression as "width" = 32. +2025-07-05 16:30:44 INFO Calculated list index expression as "depth" = 64. +2025-07-05 16:30:44 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.16957554093095897. +2025-07-05 16:30:44 INFO Calculated list index expression as "width" = 32. +2025-07-05 16:30:44 INFO Calculated list index expression as "depth" = 64. +2025-07-05 16:30:44 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.125. +2025-07-05 16:30:44 INFO Calculated list index expression as "width*depth" = 2048. +2025-07-05 16:30:44 INFO Calculated system_top_level.psum_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated list index expression as "depth" = 64. +2025-07-05 16:30:44 INFO Calculated system_top_level.psum_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2025-07-05 16:30:44 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.16957554093095897. +2025-07-05 16:30:44 INFO Calculated list index expression as "width" = 32. +2025-07-05 16:30:44 INFO Calculated list index expression as "depth" = 64. +2025-07-05 16:30:44 INFO Calculated intadder."width" as "adder_width" = 16. +2025-07-05 16:30:44 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2025-07-05 16:30:44 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2025-07-05 16:30:44 INFO +2025-07-05 16:30:44 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, depth=1048576, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=32nm, global_cycle_seconds=1e-09, version=0.4, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2025-07-05 16:30:44 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2025-07-05 16:30:44 INFO | Unused arguments (datawidth, depth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, global_cycle_seconds, version, action_latency_cycles, cycle_seconds, n_instances) provided for ['DRAM', 'dram'].__init__. Arguments used: (type, width) +2025-07-05 16:30:44 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for ['DRAM', 'dram'].write. Arguments used: () +2025-07-05 16:30:44 INFO +2025-07-05 16:30:44 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, depth=1048576, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=32nm, global_cycle_seconds=1e-09, version=0.4, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2025-07-05 16:30:44 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2025-07-05 16:30:44 INFO | Unused arguments (datawidth, depth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, global_cycle_seconds, version, action_latency_cycles, cycle_seconds, n_instances) provided for ['DRAM', 'dram'].__init__. Arguments used: (type, width) +2025-07-05 16:30:44 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for ['DRAM', 'dram'].update. Arguments used: () +2025-07-05 16:30:44 INFO +2025-07-05 16:30:44 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, depth=1048576, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=32nm, global_cycle_seconds=1e-09, version=0.4, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2025-07-05 16:30:44 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2025-07-05 16:30:44 INFO | Unused arguments (datawidth, depth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, global_cycle_seconds, version, action_latency_cycles, cycle_seconds, n_instances) provided for ['DRAM', 'dram'].__init__. Arguments used: (type, width) +2025-07-05 16:30:44 INFO | Unused arguments (action_latency_cycles) provided for ['DRAM', 'dram'].leak. Arguments used: (global_cycle_seconds) +2025-07-05 16:30:44 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:44 INFO +2025-07-05 16:30:44 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, depth=1048576, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=32nm, global_cycle_seconds=1e-09, version=0.4, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2025-07-05 16:30:44 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2025-07-05 16:30:44 INFO | Unused arguments (datawidth, depth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, global_cycle_seconds, version, action_latency_cycles, cycle_seconds, n_instances) provided for ['DRAM', 'dram'].__init__. Arguments used: (type, width) +2025-07-05 16:30:44 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for ['DRAM', 'dram'].read. Arguments used: () +2025-07-05 16:30:44 INFO +2025-07-05 16:30:44 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rdwr_ports=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:44 INFO CactiSRAM estimated 1.4109500000000001e-11 with accuracy 80%. Messages: +2025-07-05 16:30:44 INFO | Unused arguments (n_rdwr_ports, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for ['SRAM', 'sram'].__init__. Arguments used: (width, depth, technology) +2025-07-05 16:30:44 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for ['SRAM', 'sram'].write. Arguments used: () +2025-07-05 16:30:44 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.032 n_banks=1 tag_size=0 associativity=1 +2025-07-05 16:30:44 INFO | Calling CACTI with input path /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp49jltde3 +2025-07-05 16:30:44 INFO | CACTI output will be written to /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpka_r6riy +2025-07-05 16:30:44 INFO | CACTI executable not found at /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2025-07-05 16:30:44 INFO | Calling: cd /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp49jltde3 >> /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpka_r6riy 2>&1 +2025-07-05 16:30:44 INFO | Cache bandwidth: 8.0 bytes/cycle +2025-07-05 16:30:44 INFO | Cache bandwidth: 49177808513.908104 bits/second +2025-07-05 16:30:44 INFO +2025-07-05 16:30:44 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:44 INFO Neurosim Plug-In estimated 0.028429009999999998p with accuracy 70%. Messages: +2025-07-05 16:30:44 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:44 INFO | Building a crossbar with cell file /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/cells/placeholder.cell +2025-07-05 16:30:44 INFO | Neurosim Plugin parsing cell file... +2025-07-05 16:30:44 INFO | Failed to calculate "widthSRAMCellNMOS:". Ignore if this value is not needed. +2025-07-05 16:30:44 INFO | Could not find -SRAMCellNMOSWidth (F): in cell file. +2025-07-05 16:30:44 INFO | Failed to calculate "widthSRAMCellPMOS:". Ignore if this value is not needed. +2025-07-05 16:30:44 INFO | Could not find -SRAMCellPMOSWidth (F): in cell file. +2025-07-05 16:30:44 INFO | Failed to calculate "minSenseVoltage:". Ignore if this value is not needed. +2025-07-05 16:30:44 INFO | Could not find -MinSenseVoltage (mV): in cell file. +2025-07-05 16:30:44 INFO | Failed to calculate "accessTransistorResistance:". Ignore if this value is not needed. +2025-07-05 16:30:44 INFO | Could not find -AccessTransistorResistance (ohm): in cell file. +2025-07-05 16:30:44 INFO | Failed to calculate "WriteVoltage:". Ignore if this value is not needed. +2025-07-05 16:30:44 INFO | Could not find -WriteVoltage (V): in cell file. +2025-07-05 16:30:44 INFO | Failed to calculate "SET_CURRENT". Ignore if this value is not needed. +2025-07-05 16:30:44 INFO | Could not find -SetCurrent (uA): in cell file. +2025-07-05 16:30:44 INFO | Failed to calculate "SET_POWER". Ignore if this value is not needed. +2025-07-05 16:30:44 INFO | Could not find -SetPower (uW): in cell file. +2025-07-05 16:30:44 INFO | Failed to calculate "READ_CURRENT". Ignore if this value is not needed. +2025-07-05 16:30:44 INFO | Could not find -ReadCurrent (uA): in cell file. +2025-07-05 16:30:44 INFO | Failed to calculate "READ_ENERGY". Ignore if this value is not needed. +2025-07-05 16:30:44 INFO | Could not find -ReadEnergy (pJ): in cell file. +2025-07-05 16:30:44 INFO | Failed to calculate "cellCapacitanceMultiplier:". Ignore if this value is not needed. +2025-07-05 16:30:44 INFO | Could not find -CellCapacitanceMultiplier: in cell file. +2025-07-05 16:30:44 INFO | Failed to calculate "cellCapacitanceAdjust:". Ignore if this value is not needed. +2025-07-05 16:30:44 INFO | Could not find -CellCapacitanceAdjust (F): in cell file. +2025-07-05 16:30:44 INFO | Failed to calculate "deviceRoadmap:". Ignore if this value is not needed. +2025-07-05 16:30:44 INFO | Could not find -DeviceRoadmap -1LP 1HP 2LSTP: in cell file. +2025-07-05 16:30:44 INFO | Running /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/NeuroSim/main /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim_input_73089.cfg +2025-07-05 16:30:44 INFO | Crossbar minimum latency is 2.344 ns to read 8.0 columns at once. +2025-07-05 16:30:44 INFO +2025-07-05 16:30:44 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rdwr_ports=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO CactiSRAM estimated 1.81554e-11 with accuracy 80%. Messages: +2025-07-05 16:30:45 INFO | Unused arguments (n_rdwr_ports, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for ['SRAM', 'sram'].__init__. Arguments used: (width, depth, technology) +2025-07-05 16:30:45 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for ['SRAM', 'sram'].read. Arguments used: () +2025-07-05 16:30:45 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.032 n_banks=1 tag_size=0 associativity=1 +2025-07-05 16:30:45 INFO | Calling CACTI with input path /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3204k2cl +2025-07-05 16:30:45 INFO | CACTI output will be written to /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmplq3_wynu +2025-07-05 16:30:45 INFO | CACTI executable not found at /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2025-07-05 16:30:45 INFO | Calling: cd /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3204k2cl >> /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmplq3_wynu 2>&1 +2025-07-05 16:30:45 INFO | Cache bandwidth: 8.0 bytes/cycle +2025-07-05 16:30:45 INFO | Cache bandwidth: 49177808513.908104 bits/second +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Neurosim Plug-In estimated 0.028429009999999998p with accuracy 70%. Messages: +2025-07-05 16:30:45 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rdwr_ports=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO CactiSRAM estimated 5.645290000000001e-15 with accuracy 80%. Messages: +2025-07-05 16:30:45 INFO | Unused arguments (n_rdwr_ports, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for ['SRAM', 'sram'].__init__. Arguments used: (width, depth, technology) +2025-07-05 16:30:45 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for ['SRAM', 'sram'].leak. Arguments used: (global_cycle_seconds) +2025-07-05 16:30:45 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.032 n_banks=1 tag_size=0 associativity=1 +2025-07-05 16:30:45 INFO | Calling CACTI with input path /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5ly_in86 +2025-07-05 16:30:45 INFO | CACTI output will be written to /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp8k83h9dj +2025-07-05 16:30:45 INFO | CACTI executable not found at /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2025-07-05 16:30:45 INFO | Calling: cd /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5ly_in86 >> /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp8k83h9dj 2>&1 +2025-07-05 16:30:45 INFO | Cache bandwidth: 8.0 bytes/cycle +2025-07-05 16:30:45 INFO | Cache bandwidth: 49177808513.908104 bits/second +2025-07-05 16:30:45 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 1.3013999999999999e-09 +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Neurosim Plug-In estimated 3.124068e-06p with accuracy 70%. Messages: +2025-07-05 16:30:45 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rdwr_ports=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO CactiSRAM estimated 1.4109500000000001e-11 with accuracy 80%. Messages: +2025-07-05 16:30:45 INFO | Unused arguments (n_rdwr_ports, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for ['SRAM', 'sram'].__init__. Arguments used: (width, depth, technology) +2025-07-05 16:30:45 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for ['SRAM', 'sram'].write. Arguments used: () +2025-07-05 16:30:45 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.032 n_banks=1 tag_size=0 associativity=1 +2025-07-05 16:30:45 INFO | Calling CACTI with input path /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpt836md61 +2025-07-05 16:30:45 INFO | CACTI output will be written to /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp1ehosoth +2025-07-05 16:30:45 INFO | CACTI executable not found at /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2025-07-05 16:30:45 INFO | Calling: cd /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpt836md61 >> /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp1ehosoth 2>&1 +2025-07-05 16:30:45 INFO | Cache bandwidth: 8.0 bytes/cycle +2025-07-05 16:30:45 INFO | Cache bandwidth: 49177808513.908104 bits/second +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Neurosim Plug-In estimated 0.028429009999999998p with accuracy 70%. Messages: +2025-07-05 16:30:45 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.0p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_register.write. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_register energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_register energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.02458459202526533p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_comparator.compare. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_comparator energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_comparator energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Neurosim Plug-In estimated 0.008220707p with accuracy 70%. Messages: +2025-07-05 16:30:45 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:45 INFO | Building a crossbar with cell file /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/cells/placeholder.cell +2025-07-05 16:30:45 INFO | Neurosim Plugin parsing cell file... +2025-07-05 16:30:45 INFO | Failed to calculate "widthSRAMCellNMOS:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -SRAMCellNMOSWidth (F): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "widthSRAMCellPMOS:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -SRAMCellPMOSWidth (F): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "minSenseVoltage:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -MinSenseVoltage (mV): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "accessTransistorResistance:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -AccessTransistorResistance (ohm): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "WriteVoltage:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -WriteVoltage (V): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "SET_CURRENT". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -SetCurrent (uA): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "SET_POWER". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -SetPower (uW): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "READ_CURRENT". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -ReadCurrent (uA): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "READ_ENERGY". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -ReadEnergy (pJ): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "cellCapacitanceMultiplier:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -CellCapacitanceMultiplier: in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "cellCapacitanceAdjust:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -CellCapacitanceAdjust (F): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "deviceRoadmap:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -DeviceRoadmap -1LP 1HP 2LSTP: in cell file. +2025-07-05 16:30:45 INFO | Running /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/NeuroSim/main /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim_input_73089.cfg +2025-07-05 16:30:45 INFO | Crossbar minimum latency is 2.344 ns to read 8.0 columns at once. +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.007508019281553714p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_register.read. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.009, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_register energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_register energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.02458459202526533p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_comparator.compare. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_comparator energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_comparator energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Neurosim Plug-In estimated 0.008220707p with accuracy 70%. Messages: +2025-07-05 16:30:45 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.0p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_register.leak. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x leak', 'aladdin_register leak has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2025-07-05 16:30:45 INFO | Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x leak +2025-07-05 16:30:45 INFO | aladdin_register leak has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 2.0939031551888693e-05p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_comparator.leak. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=2.51e-05, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x leak', 'aladdin_comparator leak has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x leak +2025-07-05 16:30:45 INFO | aladdin_comparator leak has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Neurosim Plug-In estimated 8.925909999999997e-07p with accuracy 70%. Messages: +2025-07-05 16:30:45 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.0p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_register.write. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_register energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_register energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.02458459202526533p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_comparator.compare. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_comparator energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_comparator energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Neurosim Plug-In estimated 0.008220707p with accuracy 70%. Messages: +2025-07-05 16:30:45 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.0p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_register.write. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_register energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_register energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.02458459202526533p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_comparator.compare. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_comparator energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_comparator energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Neurosim Plug-In estimated 0.016304029999999997p with accuracy 70%. Messages: +2025-07-05 16:30:45 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:45 INFO | Building a crossbar with cell file /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/cells/placeholder.cell +2025-07-05 16:30:45 INFO | Neurosim Plugin parsing cell file... +2025-07-05 16:30:45 INFO | Failed to calculate "widthSRAMCellNMOS:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -SRAMCellNMOSWidth (F): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "widthSRAMCellPMOS:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -SRAMCellPMOSWidth (F): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "minSenseVoltage:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -MinSenseVoltage (mV): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "accessTransistorResistance:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -AccessTransistorResistance (ohm): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "WriteVoltage:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -WriteVoltage (V): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "SET_CURRENT". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -SetCurrent (uA): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "SET_POWER". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -SetPower (uW): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "READ_CURRENT". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -ReadCurrent (uA): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "READ_ENERGY". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -ReadEnergy (pJ): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "cellCapacitanceMultiplier:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -CellCapacitanceMultiplier: in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "cellCapacitanceAdjust:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -CellCapacitanceAdjust (F): in cell file. +2025-07-05 16:30:45 INFO | Failed to calculate "deviceRoadmap:". Ignore if this value is not needed. +2025-07-05 16:30:45 INFO | Could not find -DeviceRoadmap -1LP 1HP 2LSTP: in cell file. +2025-07-05 16:30:45 INFO | Running /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/NeuroSim/main /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim_input_73089.cfg +2025-07-05 16:30:45 INFO | Crossbar minimum latency is 2.344 ns to read 8.0 columns at once. +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.007508019281553714p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_register.read. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.009, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_register energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_register energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.02458459202526533p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_comparator.compare. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_comparator energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_comparator energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Neurosim Plug-In estimated 0.016304029999999997p with accuracy 70%. Messages: +2025-07-05 16:30:45 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.0p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_register.leak. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x leak', 'aladdin_register leak has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2025-07-05 16:30:45 INFO | Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x leak +2025-07-05 16:30:45 INFO | aladdin_register leak has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 2.0939031551888693e-05p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_comparator.leak. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=2.51e-05, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x leak', 'aladdin_comparator leak has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x leak +2025-07-05 16:30:45 INFO | aladdin_comparator leak has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Neurosim Plug-In estimated 1.7851820000000002e-06p with accuracy 70%. Messages: +2025-07-05 16:30:45 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.0p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_register.write. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_register energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_register energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.02458459202526533p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_comparator.compare. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_comparator energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_comparator energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Neurosim Plug-In estimated 0.016304029999999997p with accuracy 70%. Messages: +2025-07-05 16:30:45 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.0p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_register.write. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_register energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_register energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.02458459202526533p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_comparator.compare. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_comparator energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_comparator energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Neurosim Plug-In estimated 0.008220707p with accuracy 70%. Messages: +2025-07-05 16:30:45 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.007508019281553714p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_register.read. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.009, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_register energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_register energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.02458459202526533p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_comparator.compare. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_comparator energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_comparator energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Neurosim Plug-In estimated 0.008220707p with accuracy 70%. Messages: +2025-07-05 16:30:45 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.0p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_register.leak. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x leak', 'aladdin_register leak has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2025-07-05 16:30:45 INFO | Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x leak +2025-07-05 16:30:45 INFO | aladdin_register leak has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 2.0939031551888693e-05p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_comparator.leak. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=2.51e-05, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x leak', 'aladdin_comparator leak has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x leak +2025-07-05 16:30:45 INFO | aladdin_comparator leak has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Neurosim Plug-In estimated 8.925909999999997e-07p with accuracy 70%. Messages: +2025-07-05 16:30:45 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.0p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_register.write. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_register energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_register.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_register energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.02458459202526533p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_comparator.compare. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_comparator energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_comparator energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Neurosim Plug-In estimated 0.008220707p with accuracy 70%. Messages: +2025-07-05 16:30:45 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.08759355828479333p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_adder.read. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.21, matching_attrs=2, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_adder.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_adder energy has been scaled 0.4171121823085397x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling width from 32 to 16 +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_adder.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_adder energy has been scaled 0.4171121823085397x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.17518711656958666p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_adder.read. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.21, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_adder.technology from 40.0 to 32.0: 0.8342243646170794x energy', 'aladdin_adder energy has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2025-07-05 16:30:45 INFO | Scaled aladdin_adder.technology from 40.0 to 32.0: 0.8342243646170794x energy +2025-07-05 16:30:45 INFO | aladdin_adder energy has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.0010010692375404951p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_adder.leak. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.0024, matching_attrs=2, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_adder.technology from 40.0 to 32.0: 0.8342243646170794x leak', 'aladdin_adder leak has been scaled 0.4171121823085397x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling width from 32 to 16 +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2025-07-05 16:30:45 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2025-07-05 16:30:45 INFO | Scaled aladdin_adder.technology from 40.0 to 32.0: 0.8342243646170794x leak +2025-07-05 16:30:45 INFO | aladdin_adder leak has been scaled 0.4171121823085397x +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:45 INFO Library estimated 0.0020021384750809903p with accuracy 90%. Messages: +2025-07-05 16:30:45 INFO | Found 1 entries for aladdin_adder.leak. +2025-07-05 16:30:45 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:45 INFO | value=0.0024, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_adder.technology from 40.0 to 32.0: 0.8342243646170794x leak', 'aladdin_adder leak has been scaled 0.8342243646170794x'] +2025-07-05 16:30:45 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:45 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:45 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:45 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2025-07-05 16:30:45 INFO | Scaled aladdin_adder.technology from 40.0 to 32.0: 0.8342243646170794x leak +2025-07-05 16:30:45 INFO | aladdin_adder leak has been scaled 0.8342243646170794x +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 WARNING No action counts are specified as yaml input +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO AREA ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, depth=1048576, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=32nm, global_cycle_seconds=1e-09, version=0.4, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2025-07-05 16:30:45 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2025-07-05 16:30:45 INFO | Unused arguments (datawidth, depth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, global_cycle_seconds, version, action_latency_cycles, cycle_seconds, n_instances) provided for ['DRAM', 'dram'].__init__. Arguments used: (type, width) +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, global_cycle_seconds=1e-09, version=0.4, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2025-07-05 16:30:45 INFO dummy estimated 1u^2 with accuracy 100%. Messages: +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=14, meshY=1, global_cycle_seconds=1e-09, version=0.4, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2025-07-05 16:30:45 INFO dummy estimated 1u^2 with accuracy 100%. Messages: +2025-07-05 16:30:45 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:45 INFO +2025-07-05 16:30:45 INFO AREA ESTIMATION for SRAM(width=64, depth=16384, n_rdwr_ports=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:46 INFO CactiSRAM estimated 2.17281e-07 with accuracy 80%. Messages: +2025-07-05 16:30:46 INFO | Unused arguments (n_rdwr_ports, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for ['SRAM', 'sram'].__init__. Arguments used: (width, depth, technology) +2025-07-05 16:30:46 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.032 n_banks=1 tag_size=0 associativity=1 +2025-07-05 16:30:46 INFO | Calling CACTI with input path /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpn1elhm0n +2025-07-05 16:30:46 INFO | CACTI output will be written to /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpqyrw_dbu +2025-07-05 16:30:46 INFO | CACTI executable not found at /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2025-07-05 16:30:46 INFO | Calling: cd /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpn1elhm0n >> /home/arch/miniconda3/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpqyrw_dbu 2>&1 +2025-07-05 16:30:46 INFO | Cache bandwidth: 8.0 bytes/cycle +2025-07-05 16:30:46 INFO | Cache bandwidth: 49177808513.908104 bits/second +2025-07-05 16:30:46 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:46 INFO +2025-07-05 16:30:46 INFO AREA ESTIMATION for intadder(n_bits=14, precision=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:46 INFO Neurosim Plug-In estimated 41.18446u^2 with accuracy 70%. Messages: +2025-07-05 16:30:46 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:46 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:46 INFO +2025-07-05 16:30:46 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:46 INFO Library estimated 4.738u^2 with accuracy 90%. Messages: +2025-07-05 16:30:46 INFO | Found 4 entries for aladdin_register. +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_register area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_register area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_register area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_register area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:46 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:46 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:46 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2025-07-05 16:30:46 INFO | Scaled aladdin_register.technology from 40.0 to 32.0: 0.7923076923076924x area +2025-07-05 16:30:46 INFO | aladdin_register area has been scaled 0.7923076923076924x +2025-07-05 16:30:46 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:46 INFO +2025-07-05 16:30:46 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:46 INFO Library estimated 56.25384615384616u^2 with accuracy 90%. Messages: +2025-07-05 16:30:46 INFO | Found 5 entries for aladdin_comparator. +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_comparator area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_comparator area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_comparator area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_comparator area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_comparator area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:46 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:46 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2025-07-05 16:30:46 INFO | Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area +2025-07-05 16:30:46 INFO | aladdin_comparator area has been scaled 0.7923076923076924x +2025-07-05 16:30:46 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:46 INFO +2025-07-05 16:30:46 INFO AREA ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:46 INFO Neurosim Plug-In estimated 11.766989999999998u^2 with accuracy 70%. Messages: +2025-07-05 16:30:46 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:46 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:46 INFO +2025-07-05 16:30:46 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:46 INFO Library estimated 4.738u^2 with accuracy 90%. Messages: +2025-07-05 16:30:46 INFO | Found 4 entries for aladdin_register. +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_register area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_register area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_register area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_register area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:46 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:46 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:46 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2025-07-05 16:30:46 INFO | Scaled aladdin_register.technology from 40.0 to 32.0: 0.7923076923076924x area +2025-07-05 16:30:46 INFO | aladdin_register area has been scaled 0.7923076923076924x +2025-07-05 16:30:46 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:46 INFO +2025-07-05 16:30:46 INFO AREA ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:46 INFO Library estimated 56.25384615384616u^2 with accuracy 90%. Messages: +2025-07-05 16:30:46 INFO | Found 5 entries for aladdin_comparator. +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_comparator area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_comparator area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_comparator area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_comparator area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_comparator area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:46 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:46 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2025-07-05 16:30:46 INFO | Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area +2025-07-05 16:30:46 INFO | aladdin_comparator area has been scaled 0.7923076923076924x +2025-07-05 16:30:46 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:46 INFO +2025-07-05 16:30:46 INFO AREA ESTIMATION for intadder(n_bits=8, precision=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:46 INFO Neurosim Plug-In estimated 23.533979999999996u^2 with accuracy 70%. Messages: +2025-07-05 16:30:46 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:46 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:46 INFO +2025-07-05 16:30:46 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:46 INFO Library estimated 4.738u^2 with accuracy 90%. Messages: +2025-07-05 16:30:46 INFO | Found 4 entries for aladdin_register. +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_register area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_register area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_register area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_register area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'n_instances': 1} +2025-07-05 16:30:46 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:46 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:46 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2025-07-05 16:30:46 INFO | Scaled aladdin_register.technology from 40.0 to 32.0: 0.7923076923076924x area +2025-07-05 16:30:46 INFO | aladdin_register area has been scaled 0.7923076923076924x +2025-07-05 16:30:46 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:46 INFO +2025-07-05 16:30:46 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:46 INFO Library estimated 56.25384615384616u^2 with accuracy 90%. Messages: +2025-07-05 16:30:46 INFO | Found 5 entries for aladdin_comparator. +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_comparator area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_comparator area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_comparator area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_comparator area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_comparator area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'n_instances': 1} +2025-07-05 16:30:46 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:46 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:46 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2025-07-05 16:30:46 INFO | Scaled aladdin_comparator.technology from 40.0 to 32.0: 0.7923076923076924x area +2025-07-05 16:30:46 INFO | aladdin_comparator area has been scaled 0.7923076923076924x +2025-07-05 16:30:46 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:46 INFO +2025-07-05 16:30:46 INFO AREA ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:46 INFO Neurosim Plug-In estimated 11.766989999999998u^2 with accuracy 70%. Messages: +2025-07-05 16:30:46 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2025-07-05 16:30:46 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:46 INFO +2025-07-05 16:30:46 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:46 INFO Library estimated 110.13076923076925u^2 with accuracy 90%. Messages: +2025-07-05 16:30:46 INFO | Found 5 entries for aladdin_adder. +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=278.0, matching_attrs=2, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_adder area has been scaled 0.3961538461538462x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=278.0, matching_attrs=2, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_adder area has been scaled 0.3961538461538462x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=278.0, matching_attrs=2, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_adder area has been scaled 0.3961538461538462x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=278.0, matching_attrs=2, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_adder area has been scaled 0.3961538461538462x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=278.0, matching_attrs=2, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_adder area has been scaled 0.3961538461538462x'] +2025-07-05 16:30:46 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:46 INFO | Scaling width from 32 to 16 +2025-07-05 16:30:46 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:46 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:46 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2025-07-05 16:30:46 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2025-07-05 16:30:46 INFO | Scaled aladdin_adder.technology from 40.0 to 32.0: 0.7923076923076924x area +2025-07-05 16:30:46 INFO | aladdin_adder area has been scaled 0.3961538461538462x +2025-07-05 16:30:46 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:46 INFO +2025-07-05 16:30:46 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2025-07-05 16:30:46 INFO Library estimated 220.2615384615385u^2 with accuracy 90%. Messages: +2025-07-05 16:30:46 INFO | Found 5 entries for aladdin_adder. +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=278.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_adder area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=278.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_adder area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=278.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_adder area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=278.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_adder area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Checking entry "{'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:46 INFO | value=278.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 40nm to 32nm', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 40.0 to 32.0: 0.7923076923076924x area', 'aladdin_adder area has been scaled 0.7923076923076924x'] +2025-07-05 16:30:46 INFO | Best-matching entry: {'technology': '40nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'n_instances': 1} +2025-07-05 16:30:46 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2025-07-05 16:30:46 INFO | Scaling technology from 40nm to 32nm +2025-07-05 16:30:46 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2025-07-05 16:30:46 INFO | Scaled aladdin_adder.technology from 40.0 to 32.0: 0.7923076923076924x area +2025-07-05 16:30:46 INFO | aladdin_adder area has been scaled 0.7923076923076924x +2025-07-05 16:30:46 INFO | Multiplying by n_instances 1 +2025-07-05 16:30:46 INFO flattened architecture is saved to: +2025-07-05 16:30:46 INFO ./timeloop-mapper.flattened_architecture.yaml +2025-07-05 16:30:46 INFO energy reference table is saved to: +2025-07-05 16:30:46 INFO ./timeloop-mapper.ERT.yaml +2025-07-05 16:30:46 INFO energy reference table summary is saved to: +2025-07-05 16:30:46 INFO ./timeloop-mapper.ERT_summary.yaml +2025-07-05 16:30:46 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2025-07-05 16:30:46 INFO area reference table is saved to: +2025-07-05 16:30:46 INFO ./timeloop-mapper.ART.yaml +2025-07-05 16:30:46 INFO area reference table summary is saved to: +2025-07-05 16:30:46 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/timeloop-mapper.flattened_architecture.yaml b/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..8b3070f8 --- /dev/null +++ b/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,269 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + depth: 1048576 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - write + - update + - leak + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 64 + memory_depth: 16384 + widthscale: 1.0 + depthscale: 1.0 + real_depth: 16384 + area_scale: 1.0 + dynamic_energy_scale: 1.0 + static_energy_scale: 1.0 + n_rdwr_ports: 1 + required_actions: + - write + - update + - leak + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.1875 + real_depth: 12 + area_scale: 0.09375 + dynamic_energy_scale: 0.1354911710963393 + static_energy_scale: 0.09375 + n_rdwr_ports: 1 + required_actions: + - write + - update + - leak + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 192 + widthscale: 0.5 + depthscale: 1.0 + real_depth: 192 + area_scale: 0.5 + dynamic_energy_scale: 0.5 + static_energy_scale: 0.5 + n_rdwr_ports: 1 + required_actions: + - write + - update + - leak + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.25 + real_depth: 16 + area_scale: 0.125 + dynamic_energy_scale: 0.16957554093095897 + static_energy_scale: 0.125 + n_rdwr_ports: 1 + required_actions: + - write + - update + - leak + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true + area_scale: 1.0 + energy_scale: 1.0 diff --git a/workspace/README.md b/workspace/README.md new file mode 100644 index 00000000..b12a3ecc --- /dev/null +++ b/workspace/README.md @@ -0,0 +1,23 @@ +# Overview +Welcome to `timeloop-accelergy-exercises`! This repository contains tutorials, +exercises, and examples to get you started with Timeloop and Accelergy. In this +directory, you'll find the following. + +#### `tutorial_exercises` +This directory contains exercises and tutorials to teach you how to use +Timeloop. Note that exercises 1 and 2 are prerequisites for the rest of the +exercises, and should be completed first. + +#### `cheatsheets` +This directory contains YAML syntax examples and explanations for YAML syntax +and parsing, as well as some of the Timeloop input files. They're meant to be +used as a quick reference when writing your own input files. + +#### `example_designs` +This directory contains example Timeloop accelerator designs that can be used +and/or adapted to run your own experiments. + +#### `timeloop_spec.yaml` +This file contains a full specification of the Timeloop input file format, +including all allowed fields and their types. Use this as a reference when +writing your own Timeloop input files. diff --git a/workspace/cheatsheets/1_yaml_syntax.yaml b/workspace/cheatsheets/1_yaml_syntax.yaml new file mode 100644 index 00000000..41338c0b --- /dev/null +++ b/workspace/cheatsheets/1_yaml_syntax.yaml @@ -0,0 +1,95 @@ +# YAML Nodes +listNode: +- element1 +- element2 + +dict_node: + key1: value1 + key2: value2 + +# Styles +list_block_style: +- element1 +- element2 +list_flow_style: {element1, element2} + +dict_block_style: + key1: value1 + key2: value2 +dict_flow_style: {key1: value1, key2: value2} + +# Anchors, Aliases, and Merge Keys + +# Anchors +anchored_list_flow_style: &my_anchored_list +- element1 +- element2 +anchored_list_block_style: &my_anchored_list [1, 2, 3, 4, 5] + +anchored_dict_flow_style: &my_anchored_dict + key1: value1 + key2: value2 +anchored_dict_block_style: &my_anchored_dict {key1: value1, key2: value2} + +# Aliases +my_list_alias: *my_anchored_list +result_of_my_list_alias: [1, 2, 3, 4, 5] + +my_dict_alias: *my_anchored_dict +result_of_my_dict_alias: {key1: value1, key2: value2} + +# Merge Keys +anchored_dict_1: &my_anchored_dict + key1: value1_dict1 + key2: value2_dict1 + +anchored_dict_2: &my_anchored_dict2 + key2: value2_dict2 + key3: value3_dict2 + +merged_dict: + <<: [*my_anchored_dict, *my_anchored_dict2] # My_anchored_dict takes precedence + +result_of_merged_dict: + key1: value1_dict1 + key2: value2_dict1 # Earlier anchors take precedence + key3: value3_dict2 + +merged_dict2: + <<: *my_anchored_dict + value2: override_value2 # Override value2 + +result_of_merged_dict2: + key1: value1_dict1 + key2: override_value2 + +# Hierarchical Merge Keys +anchored_dict_hierarchical_1: &my_anchored_dict + key1: value1_dict1 + key2: {subkey1: subvalue1, subkey2: subvalue2} + mylist: [d, e, f] + mylist_nomerge: [4, 5, 6] + +merged_dict_hierarchical: + <<<: *my_anchored_dict + key2: {subkey1: override1} # subkey2: subvalue2 will come from the merge + mylist: [a, b, c] + mylist_nomerge: !nomerge [1, 2, 3] + +result_of_merged_dict_hierarchical: + key1: value1_dict1 + key2: {subkey1: override1, subkey2: subvalue2} + mylist: [a, b, c, d, e, f] + mylist_nomerge: [1, 2, 3] + +merged_dict_non_hierarchical: + <<: *my_anchored_dict + key2: {subkey1: override1} # This will override all of key2 + mylist: [a, b, c] + mylist_nomerge: !nomerge [1, 2, 3] + +result_of_merged_dict_non_hierarchical: + key1: value1_dict1 + key2: {subkey1: override1} + mylist: [a, b, c] + mylist_nomerge: [1, 2, 3] diff --git a/workspace/cheatsheets/2_arithmetic_parsing.yaml b/workspace/cheatsheets/2_arithmetic_parsing.yaml new file mode 100644 index 00000000..31352c3f --- /dev/null +++ b/workspace/cheatsheets/2_arithmetic_parsing.yaml @@ -0,0 +1,102 @@ +## ============================================================================== +# Including Python scripts for more complex arithmetic +# ============================================================================== + +# in math_functions.py +# def func(x): +# return x + 1 +globals: + version: 0.4 + expression_custom_functions: + - math_functions.py + +# Included Python math functions available: +# ceil, comb, copysign, fabs, factorial, floor, fmod, frexp, fsum, gcd, +# isclose, isfinite, isinf, isnan, isqrt, ldexp, modf, perm, prod, remainder, +# trunc, exp, expm1, log, log1p, log2, log10, pow, sqrt, acos, asin, atan, +# atan2, cos, dist, hypot, sin, tan, degrees, radians, acosh, asinh, atanh, +# cosh, sinh, tanh, erf, erfc, gamma, lgamma, pi, e, tau, inf, nan, abs, +# round, pow, sum, range, len, min, max, float, int, str, bool, list, tuple, +# enumerate, getcwd, map + +# ============================================================================= +# Arithmetic in top-level defines +# ============================================================================== +variables: + version: 0.4 + TOP_LEVEL_DEFINE: 3 + TOP_LEVEL_MATH: 3 + 1 # Can use expressions + TOP_LEVEL_USE_IMPORTED: func(1) # Can use imported functions + +# ============================================================================== +# Arithmetic in compound components +# ============================================================================== +compound_components: # REQUIRED top-level key + version: 0.4 # REQUIRED version number + classes: # Compound component classes go below + + # Define a compound component class + - name: component_name_here + attributes: # Attributes listed here can be thought of as the "inputs" to the component + scalar: 123 + array: [1, 2, 3] + dict: {key1: 1, key2: 2} + string: "string" # Quotes are required for strings + reference_top_level: TOP_LEVEL_DEFINE # References to top-level defines are allowed + + # Any Python expression can be used. A limited set of functions are available. + expression: scalar + 1 # Any Python expression can be used + complex_expression: scalar + array[0] + dict["key1"] + pow(len(string), 4) + + # If an expression WOULD otherwise be wrapped in quotes, we can force it + # to be treated as an expression by wrapping it in parentheses + expresssion_with_strings: ("string1" + "string2") + multiline_expression: | + def func(x): + return x + 1 + expression_calling_function: func(1) + + # Subcomponents can reference parent component attributes + subcomponents: + - name: subcomponent_name_1[1..scalar] # Can reference attributes of parent components + class: class_of_subcomponent_1 + area_scale: scalar * 123 + attributes: + subcomponent_attribute_1: scalar * 2 # Can reference attributes of parent components + subcomponent_attribute_2: expression + 1 # + + actions: + - name: read # Read action processes a value + subcomponents: + - name: subcomponent_name_1 + actions: + - name: read + energy_scale: expression # + arguments: {arg1: expression} # Arguments are passed to the action + +# ============================================================================== +# Arithmetic in architecture.yaml +# ============================================================================== +architecture: + nodes: ¯o # TOP MACRO + # ============================================================================ + - !Container # Top-level system + name: system + attributes: + system_val: 123 + + - !Component + name: component1 + subclass: component_name_here + attributes: + value1: TOP_LEVEL_DEFINE # Reference top-level define + scalar: TOP_LEVEL_DEFINE * 123 # Overwrite component default + from_system: system_val # Directly reference parent containers + spatial: {meshX: value1} # Can reference attributes of this component + + - !Component + name: component2 + subclass: component_name_here + attributes: + value1: component1.attributes["value1"] # Reference component1 attribute + scalar: component1.attributes.spatial.meshX diff --git a/workspace/cheatsheets/3_architecture.yaml b/workspace/cheatsheets/3_architecture.yaml new file mode 100644 index 00000000..57f53c3e --- /dev/null +++ b/workspace/cheatsheets/3_architecture.yaml @@ -0,0 +1,161 @@ +{{include_text('defines.yaml')}} # Jija templating is allowed + +architecture: + version: 0.4 + nodes: + # =========================================================================== + - !Container # Top-level system + name: top_container + spatial: {meshX: 12, meshY: 34} # Set to 1, 1 if not specified + attributes: + a: 1 + b: 2 + constraints: + # ======================================================================== + # Spatial factor & constraint directives + # ======================================================================== + spatial: + # One way to express + factors: [A=1, B>2, C<3, D=1, E=1, F=1, G=1 ] # ... + # OR use the following + factors_only: [B>2, C<3] + + permutation: [G, F, E, D, C, B, A] + + # Do not iterate over dimensions in ANY of the following + no_iteration_over_dataspaces: [Inputs, Outputs] + # Must iterate over dimensions in ALL of the following list + must_iterate_over_dataspaces: [Weights] + + - !Component + name: buffer_element_1 + subclass: buffer_element + spatial: {meshX: 12, meshY: 34} # Set to 1, 1 if not specified + + # ========================================================================== + # Element attribute settings + # ========================================================================== + attributes: + depth: 2048 # Number of lines + width: 256 # Bits per line + datawidth: 2 # Bits per entry + + # Bandwidths are set to infinite if not specified + read_bandwidth: 1024 # Bits per cycle + write_bandwidth: 1024 # Bits per cycle + rw_bandwidth: 1024 # Bits per cycle + per_dataspace_bandwidth_consumption_scale: + inputs: 5 # Each input bit transferred consumes 5 bits of bandwidth + outputs: 0.2 # An output bit consumes 0.2 bits of bandwidth + + # ========================================================================== + # Element constraint settings + # ========================================================================== + constraints: + # ======================================================================== + # Bypass directives + # ======================================================================== + dataspace: + # One way to express + keep: [Inputs, Outputs] + bypass: [Weights] + # OR use the following + keep_only: [Inputs, Outputs] + # ======================================================================== + # Temporal factor & constraint directives + # ======================================================================== + temporal: + # One way to express + factors: [A=1, B>2, C<3, D=1, E=1, F=1, G=1 ] # ... + # OR use the following + factors_only: [B>2, C<3] + permutation: [G, F, E, D, C, B, A] + + # Do not iterate over dimensions in ANY of the following + no_iteration_over_dataspaces: [Inputs, Outputs] + # Must iterate over dimensions in ALL of the following list + must_iterate_over_dataspaces: [Weights] + + + - !Component + name: buffer_element_2 + subclass: buffer_element + spatial: {meshX: 12, meshY: 34} # Set to 1, 1 if not specified + # ========================================================================== + # Element attribute arithmetic examples + # ========================================================================== + attributes: + depth: 12 * 34 # Use expressions + width: a # Inherit from parent containers (top-level attribute a) + datawidth: buffer_element_1.attributes["datawidth"] # From other elements + # Other attributes are propagated to Accelergy compound components + other_attribute: depth * width + + # ========================================================================== + # Constraint reuse directives + # ========================================================================== + constraints: + dataspace: + # no_coalesce implies temporal no_reuse, AND also that an element can + # not coalesce multiple accesses of a piece of data into one access to a + # parent or child. For example, when an adder sums several values, it + # coalesces them into one output (i.e., reusing the output for multiple + # additions). On the other hand, some networks may not coalesce; if the + # same piece of data is propagated through multiple times, it must be + # fetched from backing storage multiple times. + no_coalesce: [Weights] + temporal: + # temporal no_reuse means that this buffer is emptied each time a + # higher-level temporal loop iterates. For this buffer, it will be + # cleared each time a loop below top_container iterates. Temporal + # no_reuse does not affect lower-level loops. + no_reuse: [Inputs, Outputs] + spatial: + no_reuse: [Inputs, Outputs] # No multicast/reduction + no_link_transfer: [Inputs, Outputs] + # Normally, the first update is just a write. If this constraint is set, + # the first update is a read & update instead. + rmw_first_update: [Outputs] + + - !Component + name: buffer_element_3 + subclass: buffer_element + spatial: {meshX: 12, meshY: 34} # Set to 1, 1 if not specified + # ========================================================================== + # Maximize dims directives + # ========================================================================== + constraints: + temporal: + # Maximize dims priority: + # 1. Earlier lists before later lists + # 2. Dimension that results in greater reduction in the problem size + # 3. Earlier elements before later elements in a list + maximize_dims: # Maximizes up to the spatial meshX + - [A, B] # Maximize A & B first. Prioritize dim that can be made larger. + - [C, D] # After A & B are maximized, maximize C & D. + - [E, F] # After A, B, C, & D are maximized, maximize E & F. + maximize_dims_capacity: 123 # Maximize up to 123 total loop iterations + + spatial: + # Maximize dims priority: + # 1. Earlier lists before later lists + # 2. Dimension that results in greater reduction in the problem size + # 3. Earlier elements before later elements in a list + maximize_dims: + - [A, B] # Maximize A & B first. Prioritize dim that can be made larger. + - [C, D] # After A & B are maximized, maximize C & D. + - [E, F] # After A, B, C, & D are maximized, maximize E & F. + + # The following is set automatically for spatial maximize_dims + maximize_dims_capacity: | + buffer_element_II.spatial.meshX * buffer_element_II.spatial.meshY + + # ============================================================================ + # Compute element is always the leaf node + # ============================================================================ + - !Component + name: compute_element + class: compute_element_class + attributes: + a: 1 + b: 2 diff --git a/workspace/cheatsheets/4_compound_component.yaml b/workspace/cheatsheets/4_compound_component.yaml new file mode 100644 index 00000000..e4330e8e --- /dev/null +++ b/workspace/cheatsheets/4_compound_component.yaml @@ -0,0 +1,52 @@ +compound_components: # REQUIRED top-level key + version: 0.4 # REQUIRED version number + classes: # Compound component classes go below + + # Define a compound component class + - name: component_name_here + attributes: # Attributes listed here can be thought of as the "inputs" to the component + attribute_name_1: 123 # Default values can be specified here + attribute_name_2: "must_specify" # "must_specify" means that the user must specify a value + + # Each subcomponent is a component that is instantiated inside this component + subcomponents: + - name: subcomponent_name_1 + class: class_of_subcomponent_1 # class must be defined by a plug-in or compound component + area_scale: 1 # Area share scales the area of the subcomponent + attributes: + subcomponent_attribute_1: 123 + subcomponent_attribute_2: 456 + + # Multiple subcomponents can be instantiated with a range + - name: subcomponent_name_2[1..123] + class: class_of_subcomponent_2 + area_scale: 1 # Area share scales the area of the subcomponent + attributes: + subcomponent_attribute_1: 123 + subcomponent_attribute_2: 456 + + # Each component MUST have read, write, update, and leak actions + actions: + - name: read # Read action processes a value + subcomponents: + - name: subcomponent_name_1 + actions: + - name: read + energy_scale: 1 # energy_scale specifies how many times the action is performed + arguments: {arg1: 123, arg2: 456} # Arguments are passed to the action + + - name: subcomponent_name_2[0] # Multiple subcomponents can be called. We use [0] here + # because we only want one subcomponent to be read. + actions: + - name: read + energy_scale: 1 # energy_scale specifies how many times the action is performed + arguments: {arg1: 123, arg2: 456} + + # Specify empty subcomponents to have zero-energy actions + - {name: write, subcomponents: []} + - {name: update, subcomponents: []} + - {name: leak, subcomponents: []} + + # Define more compound component classes + - name: component_name_here_2 + # ... \ No newline at end of file diff --git a/workspace/cheatsheets/5_jinja_parsing.yaml b/workspace/cheatsheets/5_jinja_parsing.yaml new file mode 100644 index 00000000..de352710 --- /dev/null +++ b/workspace/cheatsheets/5_jinja_parsing.yaml @@ -0,0 +1,34 @@ +# Add files to be included in the environment +{{add_to_path('path/to/some/dir')}} +{{add_to_path('path/to/some/other/dir')}} + +variables: + version: 0.4 + var1: 5 + var3: "{{cwd()}}/some_file.yaml" # {{cwd()}} is the directory of this file + var4: "{{find_path('some_file.yaml')}}" # find_path searches all paths added by add_to_path + var5: {{set_by_jinja}} # Sets the value to a "set_by_jinja" variable that must be defined + + {% if path_exists('some_file.yaml') %} # Check if a file exists + var6: "some_file.yaml exists" # Include this line if the file exists + {% else %} + +architecture: + # Include a subset of the file. Index into the structure with + # dot-separated keys. + nodes: {{include('other_arch.yaml', 'architecture.nodes')}} + +# Include the entire file +{{include_text('grab_text_from_file.yaml')}} + +compound_components: + version: 0.4 # REQUIRED version number + # Include the subsets of multiple files. They will be merged into one list. + classes: {{include_all('compound_components/*.yaml', 'compound_components.classes')}} + + +{% if enable_text_flag|default(False) %} +text_included_if_enable_text_flag_is_true: | + This text will be included if enable_text_flag is true. The |default(False) sets + the default value of enable_text_flag to False if it is not set. +{% endif %} \ No newline at end of file diff --git a/workspace/example_designs/README.md b/workspace/example_designs/README.md new file mode 100644 index 00000000..4f3b161d --- /dev/null +++ b/workspace/example_designs/README.md @@ -0,0 +1,72 @@ +Example Designs for Timeloop-Accelergy Evaluation System +------------------------------------------------------------ +This folder contains some baseline implementations of an Eyeriss-like architecture,a simba-like (NVDLA style) architecture, +a simple weight stationary architecture, a processing-in-memory architecture, and an output stationary architecture. +Please find them in the `designs` folder. + +### System requirement +In order to run the example designs, you need to be either inside a docker with installed tools +(e.g., [infrastructure docker](https://github.com/Accelergy-Project/accelergy-timeloop-infrastructure) +or manually install the Accelergy-Timeloop evaluation system. + +### File Structure +- example_designs: + - architecture descriptions, compound component descriptions. + - top.yaml.jinja2: Top-level file gathering + - _components directory: Compound components + - _include directory: Default problem file and mapper description +- layer_shapes: + - Example workloads: AlexNet, VGG01, VGG02 +- scripts + - A set of scripts for generating your own workloads in Timeloop format + - Instructions: + - `cd scripts` + - modify the `cnn_layers.py` file to describe your own workload + - `python3 construct_workloads.py ` + +### Run simulations + +To run a simulation using timeloop-accelergy system you should run the `run_example_designs.py` file. + +Here is an example for running AlexNet Layer1 on the `simple_weight_stationary` architecture: +``` +python3 run_example_designs.py --architecture simple_weight_stationary +``` + +Outputs will be generated in the `example_designs/simple_output_stationary/outputs` directory. + +Run `python3 run_example_designs.py -h` to see available arguments. + +``` +usage: run_example_designs.py [-h] [--clear_outputs] [--architecture ARCHITECTURE] [--generate_ref_outputs] [--problem PROBLEM] [--n_jobs N_JOBS] + +options: + -h, --help show this help message and exit + --clear_outputs Clear all generated outputs + --architecture ARCHITECTURE + Architecture to run in the example_designs directory. If not specified, all architectures will be run. + --generate_ref_outputs + Generate reference outputs instead of outputs + --problem PROBLEM Problem to run in the layer_shapes directory. If a directory is specified, all problems in the directory will be run. If not specified, the default problem will be run. + --n_jobs N_JOBS Number of jobs to run in parallel +``` + +Full DNNs can be run by specifying a directory containing multiple layer files: +``` +python3 run_example_designs.py --clear_outputs --architecture eyeriss_like --problem CONV/VGG02 +``` + +Outputs for each layer will be generated in subdirectories of the `example_designs/eyeriss_like/outputs` directory. + + +** Note that for the provided designs and workloads, your simulation should generally converge within 30 mins. Once you see +the simulations converging, you can press `ctrl + C` to manually stop them. They sometimes will take much longer to +automaticaly stop as we set the converging criteria to be pretty high to avoid early-stop with subooptimal mappings. +Please use you own judgement. ** + + +### Related reading + - [eyeriss-like design](https://people.csail.mit.edu/emer/papers/2017.01.jssc.eyeriss_design.pdf) + - [simba-like architecture](https://people.eecs.berkeley.edu/~ysshao/assets/papers/shao2019-micro.pdf) + - simple weight stationary architecture: you can refer to the related lecture notes + - simple output stationary architecture: you can refer to the related lecture notes diff --git a/workspace/example_designs/example_designs/_components/intmac.yaml b/workspace/example_designs/example_designs/_components/intmac.yaml new file mode 100644 index 00000000..2724fab1 --- /dev/null +++ b/workspace/example_designs/example_designs/_components/intmac.yaml @@ -0,0 +1,32 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + + subcomponents: + - name: intadder + class: aladdin_adder + attributes: {width: adder_width} + + - name: intmultiplier + class: aladdin_multiplier + attributes: {width_a: multiplier_width, width_b: multiplier_width} + + actions: + - name: compute + subcomponents: + - name: intadder + actions: [{name: read}] + - name: intmultiplier + actions: [{name: read}] + - name: leak + subcomponents: + - name: intadder + actions: [{name: leak}] + - name: intmultiplier + actions: [{name: leak}] diff --git a/workspace/example_designs/example_designs/_components/regfile.yaml b/workspace/example_designs/example_designs/_components/regfile.yaml new file mode 100644 index 00000000..006ce976 --- /dev/null +++ b/workspace/example_designs/example_designs/_components/regfile.yaml @@ -0,0 +1,45 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + + + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + + # We don't need to scale the address generators + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + + actions: + - &write_action + name: write + subcomponents: + - name: storage[1..width] + actions: [{name: write}] + - name: comparator[1..depth] + actions: [{name: compare}] + - name: read + subcomponents: + - name: storage[1..width] + actions: [{name: read}] + - name: comparator[1..depth] + actions: [{name: compare}] + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: [{name: leak, arguments: {global_cycle_seconds: global_cycle_seconds}}] + - name: comparator[1..depth] + actions: [{name: leak, arguments: {global_cycle_seconds: global_cycle_seconds}}] + - name: update + << : *write_action # Update is the same as write \ No newline at end of file diff --git a/workspace/example_designs/example_designs/_components/regfile_metadata.yaml b/workspace/example_designs/example_designs/_components/regfile_metadata.yaml new file mode 100644 index 00000000..8e5557a2 --- /dev/null +++ b/workspace/example_designs/example_designs/_components/regfile_metadata.yaml @@ -0,0 +1,69 @@ +compound_components: + version: 0.4 + classes: + - name: regfile_metadata + attributes: + # attributes that must be specified + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + + - name: metadata_counters[0..1] # one for read, one for write + class: intadder + attributes: + technology: technology + width: metadata_counter_width + + actions: + - name: read + subcomponents: + - {name: storage, actions: [{name: read}]} + - &write_action + name: write + subcomponents: + - {name: storage, actions: [{name: write}]} + - name: update + <<: *write_action + + - name: metadata_read + subcomponents: + - {name: metadata_storage, actions: [{name: read}]} + - &metadata_write + name: metadata_write + subcomponents: + - {name: metadata_storage, actions: [{name: write}]} + - name: metadata_update + <<: *metadata_write + + - name: leak + subcomponents: + - {name: storage, actions: [{name: leak, arguments: {global_cycle_seconds: global_cycle_seconds}}]} + - {name: metadata_storage, actions: [{name: leak, arguments: {global_cycle_seconds: global_cycle_seconds}}]} + + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add diff --git a/workspace/example_designs/example_designs/_components/smartbuffer_RF.yaml b/workspace/example_designs/example_designs/_components/smartbuffer_RF.yaml new file mode 100644 index 00000000..dc0fc9ec --- /dev/null +++ b/workspace/example_designs/example_designs/_components/smartbuffer_RF.yaml @@ -0,0 +1,64 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + # CACTI requires >= 4B wide and >= 64 entries deep + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + + area_scale: widthscale * depthscale + # CACTI scaling: 2x depth --> 1.56x dynamic power + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale # Leakage proportional to area + n_rdwr_ports: 1 # Can be overwridden + global_cycle_seconds: "must_specify" + + + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + + # We don't need to scale the address generators + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + + actions: + - &write_action + name: write + subcomponents: + - name: storage + actions: [{name: write, energy_scale: dynamic_energy_scale}] + - name: address_generators[0] + actions: [{name: add}] + - name: read + subcomponents: + - name: storage + actions: [{name: read, energy_scale: dynamic_energy_scale}] + - name: address_generators[1] + actions: [{name: add}] + - name: leak + subcomponents: + - name: storage + actions: [{name: leak, energy_scale: static_energy_scale}] + - name: address_generators[0..1] + actions: [{name: leak}] + - name: update + << : *write_action # Update is the same as write diff --git a/workspace/example_designs/example_designs/_components/smartbuffer_SRAM.yaml b/workspace/example_designs/example_designs/_components/smartbuffer_SRAM.yaml new file mode 100644 index 00000000..382d712a --- /dev/null +++ b/workspace/example_designs/example_designs/_components/smartbuffer_SRAM.yaml @@ -0,0 +1,52 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + + # We don't need to scale the address generators + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + + actions: + - &write_action + name: write + subcomponents: + - name: storage + actions: [{name: write}] + - name: address_generators[0] + actions: [{name: add}] + - name: read + subcomponents: + - name: storage + actions: [{name: read}] + - name: address_generators[1] + actions: [{name: add}] + - name: leak + subcomponents: + - name: storage + actions: [{name: leak}] + - name: address_generators[0..1] + actions: [{name: leak}] + - name: update + << : *write_action # Update is the same as write diff --git a/workspace/example_designs/example_designs/_components/smartbuffer_metadata.yaml b/workspace/example_designs/example_designs/_components/smartbuffer_metadata.yaml new file mode 100644 index 00000000..ed182b15 --- /dev/null +++ b/workspace/example_designs/example_designs/_components/smartbuffer_metadata.yaml @@ -0,0 +1,72 @@ +compound_components: + version: 0.4 + classes: + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + + - name: metadata_counters[0..1] # one for read, one for write + class: intadder + attributes: + technology: technology + width: metadata_counter_width + + actions: + - name: read + subcomponents: + - {name: storage, actions: [{name: read}]} + - &write_action + name: write + subcomponents: + - {name: storage, actions: [{name: write}]} + - name: update + <<: *write_action + + - name: metadata_read + subcomponents: + - {name: metadata_storage, actions: [{name: read}]} + - &metadata_write + name: metadata_write + subcomponents: + - {name: metadata_storage, actions: [{name: write}]} + - name: metadata_update + <<: *metadata_write + + - name: leak + subcomponents: + - {name: storage, actions: [{name: leak, arguments: {global_cycle_seconds: global_cycle_seconds}}]} + - {name: metadata_storage, actions: [{name: leak, arguments: {global_cycle_seconds: global_cycle_seconds}}]} + + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add diff --git a/workspace/example_designs/example_designs/_include/default_problem.yaml b/workspace/example_designs/example_designs/_include/default_problem.yaml new file mode 100644 index 00000000..a25d00f5 --- /dev/null +++ b/workspace/example_designs/example_designs/_include/default_problem.yaml @@ -0,0 +1,63 @@ +problem: + version: 0.4 + instance: + C: 3 + H: 224 + Hdilation: 1 + Hpad: 1 + Hstride: 2 + M: 32 + N: 1 + P: 112 + Q: 112 + R: 3 + S: 3 + W: 224 + Wdilation: 1 + Wpad: 1 + Wstride: 2 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: conv2D diff --git a/workspace/example_designs/example_designs/_include/mapper.yaml b/workspace/example_designs/example_designs/_include/mapper.yaml new file mode 100644 index 00000000..2c25f314 --- /dev/null +++ b/workspace/example_designs/example_designs/_include/mapper.yaml @@ -0,0 +1,9 @@ +mapper: + version: 0.4 + optimization_metrics: [ edp ] + live_status: False + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: False \ No newline at end of file diff --git a/workspace/example_designs/example_designs/eyeriss_like/README.md b/workspace/example_designs/example_designs/eyeriss_like/README.md new file mode 100644 index 00000000..677c825e --- /dev/null +++ b/workspace/example_designs/example_designs/eyeriss_like/README.md @@ -0,0 +1,33 @@ +Eyeriss-Like Architecture +---------------------------- +This folder contains an architecture based on the Eyeriss design description proposed +[here](https://people.csail.mit.edu/emer/papers/2017.01.jssc.eyeriss_design.pdf). + +Q&As: +---------------------------- +1. What is the usage of the "DummyBuffer"? + + DummyBuffer is placeholder memory block that helps Timeloop to correctly model + the row stationary mappings. With the insertion of the Dummybuffer, we can map + M dimension to both the rows of the PE and cols of PE -- otherwise, Timeloop can + only map the model dimensions to either the rows or columns of the PE array. + +2. Does this design perform exactly as the Eyeriss design in the paper? + + For many cases, it does. However, since Timeloop's mapper is not as flexible as a manually + generated mapping, sometimes it does not produce the exact results as shown in the paper. + The main limitation is that Timeloop considers the factors of a dimension, e.g., 4 is a factor + of 256, when it performs mapping space explorations. Therefore, when using a non-divisible factor + result in better mappings, Timeloop is not able to find it. However, padding the workload dimensions + will solve these types of problems. + +3. How long do the Timeloop simulations take? + + Depending on your workload, the simulation takes various amounts of time to finish. Generally, they should + converge within 30 mins. You can manually stop the exploration when you see things are converging by + pressing `ctrl + C`. They sometimes will take much longer to automatically stop as we set the converging criteria to be pretty high to avoid early-stop with suboptimal mappings. Use you own + judgement. + + + + diff --git a/workspace/example_designs/example_designs/eyeriss_like/arch.yaml b/workspace/example_designs/example_designs/eyeriss_like/arch.yaml new file mode 100644 index 00000000..49f64386 --- /dev/null +++ b/workspace/example_designs/example_designs/eyeriss_like/arch.yaml @@ -0,0 +1,107 @@ +architecture: + # ============================================================ + # Architecture Description + # ============================================================ + version: 0.4 + nodes: # Top-level is hierarchical + - !Container # Top-level system + name: system + + - !Component # DRAM main memory + name: DRAM + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + + - !Container # Eyeriss accelerator + name: eyeriss + attributes: + technology: "65nm" + + - !Component # Global buffer for inputs & outputs + name: shared_glb + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + constraints: + dataspace: {keep: [Inputs, Outputs], bypass: [Weights]} + + - !Container # Each column of PEs produces a different psum row + name: PE_column + spatial: {meshX: 14} + constraints: + spatial: + permutation: [N, C, P, R, S, Q, M] + factors: [N=1, C=1, P=1, R=1, S=1] + split: 999 + + - !Container # Each PE in the column receives a different filter row + name: PE + spatial: {meshY: 12} + constraints: + spatial: + split: 0 + permutation: [N, P, Q, R, S, C, M] + factors: [N=1, P=1, Q=1, R=1] + + - !Parallel # Input/Output/Weight scratchpads in parallel + nodes: + - !Component # Input scratchpad + name: ifmap_spad + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + constraints: + dataspace: {keep: [Inputs]} + temporal: + permutation: [N, M, C, P, Q, R, S] + factors: [N=1, M=1, C=1, P=1, Q=1, R=1, S=1] + + - !Component # Weight scratchpad + name: weights_spad + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + constraints: + dataspace: {keep: [Weights]} + temporal: + permutation: [N, M, P, Q, S, C, R] + factors: [N=1, M=1, P=1, Q=1, S=1] + + - !Component # Output scratchpad + name: psum_spad + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + constraints: + dataspace: {keep: [Outputs]} + temporal: + permutation: [N, C, P, Q, R, S, M] + factors: [N=1, C=1, R=1, S=1, P=1, Q=1] + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 diff --git a/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..d59fce51 --- /dev/null +++ b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,735 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "SET ME" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + required_actions: + - leak + - write + - read + - update + enabled: true + - name: shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + technology: "32nm" + required_actions: + - leak + - write + - read + - update + enabled: true + - name: inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + enabled: true + - name: inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + power_gated_at: null + enabled: true + - name: ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + technology: "32nm" + required_actions: + - leak + - write + - read + - update + enabled: true + - name: weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + technology: "32nm" + required_actions: + - leak + - write + - read + - update + enabled: true + - name: psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + technology: "32nm" + required_actions: + - leak + - write + - read + - update + enabled: true + - name: mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + power_gated_at: null + technology: "32nm" + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - type: temporal + permutation: N + target: DRAM + - keep: + - Inputs + - Outputs + bypass: + - Weights + type: bypass + target: shared_glb + - type: temporal + permutation: N + target: shared_glb + - type: spatial + factors: N=1,C=1,P=1,R=1,S=1 + permutation: NCPRSQM + split: 999 + target: inter_PE_column_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_column_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_column_spatial + - type: spatial + factors: N=1,P=1,Q=1,R=1 + permutation: NPQRSCM + split: 0 + target: inter_PE_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - keep: + - Inputs + type: bypass + bypass: + - Weights + - Outputs + target: ifmap_spad + - permutation: NMCPQRS + factors: N=1,M=1,C=1,P=1,Q=1,R=1,S=1 + type: temporal + target: ifmap_spad + - keep: + - Weights + type: bypass + bypass: + - Outputs + - Inputs + target: weights_spad + - permutation: NMPQSCR + factors: N=1,M=1,P=1,Q=1,S=1 + type: temporal + target: weights_spad + - keep: + - Outputs + type: bypass + bypass: + - Weights + - Inputs + target: psum_spad + - permutation: NCPQRSM + factors: N=1,C=1,R=1,S=1,P=1,Q=1 + type: temporal + target: psum_spad +problem: + version: '0.4' + instance: + C: 3 + H: 224 + Hdilation: 1 + Hpad: 1 + Hstride: 2 + M: 32 + N: 1 + P: 112 + Q: 112 + R: 3 + S: 3 + W: 224 + Wdilation: 1 + Wpad: 1 + Wstride: 2 + densities: {} + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + read_write: false + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + read_write: false + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: conv2D +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..3abe0818 --- /dev/null +++ b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,19 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + area: 0.0 + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + - name: system_top_level.shared_glb[1..1] + area: 217363.36892 + - name: system_top_level.ifmap_spad[1..168] + area: 70.091961 + - name: system_top_level.weights_spad[1..168] + area: 5816.44278 + - name: system_top_level.psum_spad[1..168] + area: 123.627348 + - name: system_top_level.mac[1..168] + area: 191.82 diff --git a/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..4ab3cd6a --- /dev/null +++ b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,53 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.shared_glb[1..1] + area: 217363.36892 + primitive_estimations: + - name: storage + estimator: CactiSRAM + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + area: 70.091961 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + area: 5816.44278 + primitive_estimations: + - name: storage.storage[1..6144] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + area: 123.627348 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + area: 191.82 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..a348bf3f --- /dev/null +++ b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,89 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + arguments: {} + energy: 14.137929 + - name: read + arguments: {} + energy: 18.183829 + - name: leak + arguments: {} + energy: 0.005652 + - name: update + arguments: {} + energy: 14.137929 + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.176713 + - name: read + arguments: {} + energy: 0.202442 + - name: leak + arguments: {} + energy: 0.000101 + - name: update + arguments: {} + energy: 0.176713 + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + arguments: {} + energy: 1.881657 + - name: read + arguments: {} + energy: 1.976602 + - name: leak + arguments: {} + energy: 0.001592 + - name: update + arguments: {} + energy: 1.881657 + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.2191 + - name: read + arguments: {} + energy: 0.2513 + - name: leak + arguments: {} + energy: 0.000134 + - name: update + arguments: {} + energy: 0.2191 + - name: system_top_level.mac[1..168] + actions: + - name: compute + arguments: {} + energy: 0.207692 + - name: leak + arguments: {} + energy: 0.002374 diff --git a/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..4f10183f --- /dev/null +++ b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,115 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + actions: + - name: leak + energy: 0.0 + - name: write + energy: 512.0 + - name: read + energy: 512.0 + - name: update + energy: 512.0 + primitive_estimation(s): + - name: system_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + energy: 14.137929 + - name: read + energy: 18.183829 + - name: leak + energy: 0.005652 + - name: update + energy: 14.137929 + primitive_estimation(s): + - name: storage + estimator: CactiSRAM + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + energy: 0.176713 + - name: read + energy: 0.202442 + - name: leak + energy: 0.000101 + - name: update + energy: 0.176713 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + energy: 1.881657 + - name: read + energy: 1.976602 + - name: leak + energy: 0.001592 + - name: update + energy: 1.881657 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..6144] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + energy: 0.2191 + - name: read + energy: 0.2513 + - name: leak + energy: 0.000134 + - name: update + energy: 0.2191 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + actions: + - name: compute + energy: 0.207692 + - name: leak + energy: 0.002374 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..cdc2409f --- /dev/null +++ b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,954 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Adding required action "leak" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "write" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "read" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "update" to class DRAM +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 0.1875. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 12. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.09375. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.1354911710963393. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.09375. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 192. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 192. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.5. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.5. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.5. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 0.25. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 16. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.125. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.16957554093095897. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.125. +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:56 INFO Getting all estimators in module +2024-05-29 16:49:56 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:56 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:56 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: Library () +2024-05-29 16:49:56 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 64. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 16384. +2024-05-29 16:49:56 INFO Calculated storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage."technology" as "technology" = 32nm. +2024-05-29 16:49:56 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.area_scale as "area_scale" = 0.09375. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:56 INFO Calculated storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.1354911710963393. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.1354911710963393. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.09375. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated system_top_level.ifmap_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated system_top_level.ifmap_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.1354911710963393. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "memory_depth" = 192. +2024-05-29 16:49:56 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.area_scale as "area_scale" = 0.5. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 6144. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 192. +2024-05-29 16:49:56 INFO Calculated storage.storage[1..6144]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.comparator[1..192]."n_bits" as "max(1, ceil(log2(depth)))" = 8. +2024-05-29 16:49:56 INFO Calculated storage.comparator[1..192]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 192. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 192. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.5. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 6144. +2024-05-29 16:49:56 INFO Calculated system_top_level.weights_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 192. +2024-05-29 16:49:56 INFO Calculated system_top_level.weights_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 192. +2024-05-29 16:49:56 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.area_scale as "area_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:56 INFO Calculated storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.16957554093095897. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.16957554093095897. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated system_top_level.psum_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated system_top_level.psum_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.16957554093095897. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=SET ME, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (action_latency_cycles) provided for DRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=SET ME, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.write. Arguments used: () +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=SET ME, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.read. Arguments used: () +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=SET ME, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.update. Arguments used: () +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rw_ports=1, technology=32nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 1.4109500000000001e-11 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.032 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpdldufwgt +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpnipcpoo6 +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpdldufwgt >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpnipcpoo6 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 49.177808513908104 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:57 INFO Neurosim Plug-In estimated 0.028429009999999998p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:57 INFO | Building a crossbar with cell file /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/cells/placeholder.cell +2024-05-29 16:49:57 INFO | Neurosim Plugin parsing cell file... +2024-05-29 16:49:57 INFO | Failed to calculate "widthSRAMCellNMOS:". Ignore if this value is not needed. +2024-05-29 16:49:57 INFO | Could not find -SRAMCellNMOSWidth (F): in cell file. +2024-05-29 16:49:57 INFO | Failed to calculate "widthSRAMCellPMOS:". Ignore if this value is not needed. +2024-05-29 16:49:57 INFO | Could not find -SRAMCellPMOSWidth (F): in cell file. +2024-05-29 16:49:57 INFO | Failed to calculate "minSenseVoltage:". Ignore if this value is not needed. +2024-05-29 16:49:57 INFO | Could not find -MinSenseVoltage (mV): in cell file. +2024-05-29 16:49:57 INFO | Failed to calculate "accessTransistorResistance:". Ignore if this value is not needed. +2024-05-29 16:49:57 INFO | Could not find -AccessTransistorResistance (ohm): in cell file. +2024-05-29 16:49:57 INFO | Failed to calculate "WriteVoltage:". Ignore if this value is not needed. +2024-05-29 16:49:57 INFO | Could not find -WriteVoltage (V): in cell file. +2024-05-29 16:49:57 INFO | Failed to calculate "SET_CURRENT". Ignore if this value is not needed. +2024-05-29 16:49:57 INFO | Could not find -SetCurrent (uA): in cell file. +2024-05-29 16:49:57 INFO | Failed to calculate "SET_POWER". Ignore if this value is not needed. +2024-05-29 16:49:57 INFO | Could not find -SetPower (uW): in cell file. +2024-05-29 16:49:57 INFO | Failed to calculate "READ_CURRENT". Ignore if this value is not needed. +2024-05-29 16:49:57 INFO | Could not find -ReadCurrent (uA): in cell file. +2024-05-29 16:49:57 INFO | Failed to calculate "READ_ENERGY". Ignore if this value is not needed. +2024-05-29 16:49:57 INFO | Could not find -ReadEnergy (pJ): in cell file. +2024-05-29 16:49:57 INFO | Failed to calculate "cellCapacitanceMultiplier:". Ignore if this value is not needed. +2024-05-29 16:49:57 INFO | Could not find -CellCapacitanceMultiplier: in cell file. +2024-05-29 16:49:57 INFO | Failed to calculate "cellCapacitanceAdjust:". Ignore if this value is not needed. +2024-05-29 16:49:57 INFO | Could not find -CellCapacitanceAdjust (F): in cell file. +2024-05-29 16:49:57 INFO | Failed to calculate "deviceRoadmap:". Ignore if this value is not needed. +2024-05-29 16:49:57 INFO | Could not find -DeviceRoadmap -1LP 1HP 2LSTP: in cell file. +2024-05-29 16:49:57 INFO | Running /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/NeuroSim/main /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim_input_17049.cfg +2024-05-29 16:49:57 INFO | Crossbar minimum latency is 2.344 ns to read 8.0 columns at once. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rw_ports=1, technology=32nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 1.81554e-11 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.032 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp95tzyj7u +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbyvc6n2r +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp95tzyj7u >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbyvc6n2r 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 49.177808513908104 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:57 INFO Neurosim Plug-In estimated 0.028429009999999998p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rw_ports=1, technology=32nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 5.645290000000001e-15 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.032 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp2cx4ih7r +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpiftd294k +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp2cx4ih7r >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpiftd294k 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 49.177808513908104 bits/second +2024-05-29 16:49:58 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 1.3014 +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Neurosim Plug-In estimated 3.124068e-06p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rw_ports=1, technology=32nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 1.4109500000000001e-11 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.032 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3gpigwsx +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp60e5uaox +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3gpigwsx >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp60e5uaox 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 49.177808513908104 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Neurosim Plug-In estimated 0.028429009999999998p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_register energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.019430758015641682p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_comparator energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Neurosim Plug-In estimated 0.008220707p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:58 INFO | Building a crossbar with cell file /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/cells/placeholder.cell +2024-05-29 16:49:58 INFO | Neurosim Plugin parsing cell file... +2024-05-29 16:49:58 INFO | Failed to calculate "widthSRAMCellNMOS:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -SRAMCellNMOSWidth (F): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "widthSRAMCellPMOS:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -SRAMCellPMOSWidth (F): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "minSenseVoltage:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -MinSenseVoltage (mV): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "accessTransistorResistance:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -AccessTransistorResistance (ohm): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "WriteVoltage:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -WriteVoltage (V): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "SET_CURRENT". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -SetCurrent (uA): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "SET_POWER". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -SetPower (uW): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "READ_CURRENT". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -ReadCurrent (uA): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "READ_ENERGY". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -ReadEnergy (pJ): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "cellCapacitanceMultiplier:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -CellCapacitanceMultiplier: in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "cellCapacitanceAdjust:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -CellCapacitanceAdjust (F): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "deviceRoadmap:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -DeviceRoadmap -1LP 1HP 2LSTP: in cell file. +2024-05-29 16:49:58 INFO | Running /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/NeuroSim/main /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim_input_17049.cfg +2024-05-29 16:49:58 INFO | Crossbar minimum latency is 2.344 ns to read 8.0 columns at once. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.005934062509018498p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.009, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_register energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.019430758015641682p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_comparator energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Neurosim Plug-In estimated 0.008220707p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x leak', 'aladdin_register leak has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x leak +2024-05-29 16:49:58 INFO | aladdin_register leak has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 1.654944099737381e-05p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=2.51e-05, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x leak', 'aladdin_comparator leak has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x leak +2024-05-29 16:49:58 INFO | aladdin_comparator leak has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Neurosim Plug-In estimated 8.925909999999997e-07p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_register energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.019430758015641682p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_comparator energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Neurosim Plug-In estimated 0.008220707p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_register energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.019430758015641682p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_comparator energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Neurosim Plug-In estimated 0.016304029999999997p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:58 INFO | Building a crossbar with cell file /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/cells/placeholder.cell +2024-05-29 16:49:58 INFO | Neurosim Plugin parsing cell file... +2024-05-29 16:49:58 INFO | Failed to calculate "widthSRAMCellNMOS:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -SRAMCellNMOSWidth (F): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "widthSRAMCellPMOS:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -SRAMCellPMOSWidth (F): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "minSenseVoltage:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -MinSenseVoltage (mV): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "accessTransistorResistance:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -AccessTransistorResistance (ohm): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "WriteVoltage:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -WriteVoltage (V): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "SET_CURRENT". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -SetCurrent (uA): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "SET_POWER". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -SetPower (uW): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "READ_CURRENT". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -ReadCurrent (uA): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "READ_ENERGY". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -ReadEnergy (pJ): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "cellCapacitanceMultiplier:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -CellCapacitanceMultiplier: in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "cellCapacitanceAdjust:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -CellCapacitanceAdjust (F): in cell file. +2024-05-29 16:49:58 INFO | Failed to calculate "deviceRoadmap:". Ignore if this value is not needed. +2024-05-29 16:49:58 INFO | Could not find -DeviceRoadmap -1LP 1HP 2LSTP: in cell file. +2024-05-29 16:49:58 INFO | Running /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/NeuroSim/main /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim_input_17049.cfg +2024-05-29 16:49:58 INFO | Crossbar minimum latency is 2.344 ns to read 8.0 columns at once. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.005934062509018498p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.009, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_register energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.019430758015641682p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_comparator energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Neurosim Plug-In estimated 0.016304029999999997p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x leak', 'aladdin_register leak has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x leak +2024-05-29 16:49:58 INFO | aladdin_register leak has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 1.654944099737381e-05p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=2.51e-05, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x leak', 'aladdin_comparator leak has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x leak +2024-05-29 16:49:58 INFO | aladdin_comparator leak has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Neurosim Plug-In estimated 1.7851820000000002e-06p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_register energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.019430758015641682p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_comparator energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Neurosim Plug-In estimated 0.016304029999999997p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_register energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.019430758015641682p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_comparator energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Neurosim Plug-In estimated 0.008220707p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.005934062509018498p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.009, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_register energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.019430758015641682p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_comparator energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Neurosim Plug-In estimated 0.008220707p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x leak', 'aladdin_register leak has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x leak +2024-05-29 16:49:58 INFO | aladdin_register leak has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 1.654944099737381e-05p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=2.51e-05, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x leak', 'aladdin_comparator leak has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x leak +2024-05-29 16:49:58 INFO | aladdin_comparator leak has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Neurosim Plug-In estimated 8.925909999999997e-07p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_register energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_register.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.019430758015641682p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_comparator energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Neurosim Plug-In estimated 0.008220707p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.06923072927188248p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.21, matching_attrs=2, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_adder.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_adder energy has been scaled 0.32967013938991657x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_adder energy has been scaled 0.32967013938991657x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.13846145854376496p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.21, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'Scaled aladdin_adder.technology from 45.0 to 32.0: 0.6593402787798331x energy', 'aladdin_adder energy has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.technology from 45.0 to 32.0: 0.6593402787798331x energy +2024-05-29 16:49:58 INFO | aladdin_adder energy has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0007912083345357997p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0024, matching_attrs=2, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_adder.technology from 45.0 to 32.0: 0.6593402787798331x leak', 'aladdin_adder leak has been scaled 0.32967013938991657x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.technology from 45.0 to 32.0: 0.6593402787798331x leak +2024-05-29 16:49:58 INFO | aladdin_adder leak has been scaled 0.32967013938991657x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0015824166690715995p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0024, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'Scaled aladdin_adder.technology from 45.0 to 32.0: 0.6593402787798331x leak', 'aladdin_adder leak has been scaled 0.6593402787798331x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.technology from 45.0 to 32.0: 0.6593402787798331x leak +2024-05-29 16:49:58 INFO | aladdin_adder leak has been scaled 0.6593402787798331x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 WARNING No action counts are specified as yaml input +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=SET ME, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=14, meshY=1, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for SRAM(width=64, depth=16384, n_rw_ports=1, technology=32nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:59 INFO CactiSRAM estimated 2.17281e-07 with accuracy 80%. Messages: +2024-05-29 16:49:59 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:59 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.032 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:59 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpuoza6d80 +2024-05-29 16:49:59 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpwkaaobgf +2024-05-29 16:49:59 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:59 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpuoza6d80 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpwkaaobgf 2>&1 +2024-05-29 16:49:59 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:59 INFO | Cache bandwidth: 49.177808513908104 bits/second +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:59 INFO Neurosim Plug-In estimated 41.18446u^2 with accuracy 70%. Messages: +2024-05-29 16:49:59 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 2.7508000000000004u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.46x area', 'aladdin_register area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.46x area', 'aladdin_register area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.46x area', 'aladdin_register area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.46x area', 'aladdin_register area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:59 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | Scaled aladdin_register.technology from 45.0 to 32.0: 0.46x area +2024-05-29 16:49:59 INFO | aladdin_register area has been scaled 0.46x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 32.660000000000004u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area', 'aladdin_comparator area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area', 'aladdin_comparator area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area', 'aladdin_comparator area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area', 'aladdin_comparator area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area', 'aladdin_comparator area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:59 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area +2024-05-29 16:49:59 INFO | aladdin_comparator area has been scaled 0.46x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:59 INFO Neurosim Plug-In estimated 11.766989999999998u^2 with accuracy 70%. Messages: +2024-05-29 16:49:59 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 2.7508000000000004u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.46x area', 'aladdin_register area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.46x area', 'aladdin_register area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.46x area', 'aladdin_register area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.46x area', 'aladdin_register area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:59 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | Scaled aladdin_register.technology from 45.0 to 32.0: 0.46x area +2024-05-29 16:49:59 INFO | aladdin_register area has been scaled 0.46x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 32.660000000000004u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area', 'aladdin_comparator area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area', 'aladdin_comparator area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area', 'aladdin_comparator area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area', 'aladdin_comparator area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area', 'aladdin_comparator area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:59 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area +2024-05-29 16:49:59 INFO | aladdin_comparator area has been scaled 0.46x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:59 INFO Neurosim Plug-In estimated 23.533979999999996u^2 with accuracy 70%. Messages: +2024-05-29 16:49:59 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 2.7508000000000004u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.46x area', 'aladdin_register area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.46x area', 'aladdin_register area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.46x area', 'aladdin_register area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_register.technology from 45.0 to 32.0: 0.46x area', 'aladdin_register area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:59 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | Scaled aladdin_register.technology from 45.0 to 32.0: 0.46x area +2024-05-29 16:49:59 INFO | aladdin_register area has been scaled 0.46x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 32.660000000000004u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area', 'aladdin_comparator area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area', 'aladdin_comparator area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area', 'aladdin_comparator area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area', 'aladdin_comparator area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area', 'aladdin_comparator area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:59 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | Scaled aladdin_comparator.technology from 45.0 to 32.0: 0.46x area +2024-05-29 16:49:59 INFO | aladdin_comparator area has been scaled 0.46x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:59 INFO Neurosim Plug-In estimated 11.766989999999998u^2 with accuracy 70%. Messages: +2024-05-29 16:49:59 INFO | WARN: Non-numeric 32nm for parameter technology. Using 32 instead. +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 63.940000000000005u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=2, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 45.0 to 32.0: 0.46x area', 'aladdin_adder area has been scaled 0.23x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=2, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 45.0 to 32.0: 0.46x area', 'aladdin_adder area has been scaled 0.23x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=2, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 45.0 to 32.0: 0.46x area', 'aladdin_adder area has been scaled 0.23x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=2, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 45.0 to 32.0: 0.46x area', 'aladdin_adder area has been scaled 0.23x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=2, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 45.0 to 32.0: 0.46x area', 'aladdin_adder area has been scaled 0.23x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:59 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:49:59 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | Scaled aladdin_adder.technology from 45.0 to 32.0: 0.46x area +2024-05-29 16:49:59 INFO | aladdin_adder area has been scaled 0.23x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=32nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 127.88000000000001u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 45.0 to 32.0: 0.46x area', 'aladdin_adder area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 45.0 to 32.0: 0.46x area', 'aladdin_adder area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 45.0 to 32.0: 0.46x area', 'aladdin_adder area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 45.0 to 32.0: 0.46x area', 'aladdin_adder area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaling technology from 45nm to 32nm', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'Scaled aladdin_adder.technology from 45.0 to 32.0: 0.46x area', 'aladdin_adder area has been scaled 0.46x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaling technology from 45nm to 32nm +2024-05-29 16:49:59 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | Scaled aladdin_adder.technology from 45.0 to 32.0: 0.46x area +2024-05-29 16:49:59 INFO | aladdin_adder area has been scaled 0.46x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO flattened architecture is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:49:59 INFO energy reference table is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:49:59 INFO energy reference table summary is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:49:59 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:49:59 INFO area reference table is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:49:59 INFO area reference table summary is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..801fec39 --- /dev/null +++ b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,244 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + technology: "SET ME" + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - write + - read + - update + enabled: true + - name: system_top_level.shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + technology: "32nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rw_ports: 1 + required_actions: + - leak + - write + - read + - update + enabled: true + - name: system_top_level.inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + technology: "32nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.1875 + real_depth: 12 + area_scale: 0.09375 + dynamic_energy_scale: 0.1354911710963393 + static_energy_scale: 0.09375 + n_rdwr_ports: 1 + required_actions: + - leak + - write + - read + - update + enabled: true + - name: system_top_level.weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + technology: "32nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 192 + widthscale: 0.5 + depthscale: 1.0 + real_depth: 192 + area_scale: 0.5 + dynamic_energy_scale: 0.5 + static_energy_scale: 0.5 + n_rdwr_ports: 1 + required_actions: + - leak + - write + - read + - update + enabled: true + - name: system_top_level.psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + technology: "32nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.25 + real_depth: 16 + area_scale: 0.125 + dynamic_energy_scale: 0.16957554093095897 + static_energy_scale: 0.125 + n_rdwr_ports: 1 + required_actions: + - leak + - write + - read + - update + enabled: true + - name: system_top_level.mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + power_gated_at: null + technology: "32nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..5a49ae07 --- /dev/null +++ b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,42 @@ +#error Tenssella does not support bypass. +t6 +C 1 M 4 R 1 S 1 N 1 P 8 Q 2 +MQP +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t5 +C 1 M 1 R 1 S 1 N 1 P 14 Q 4 +QP +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 14 +Q +7 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s3 +C 3 M 1 R 1 S 3 N 1 P 1 Q 1 +SC +5 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +C 1 M 1 R 3 S 1 N 1 P 1 Q 1 +R +t0 +C 1 M 8 R 1 S 1 N 1 P 1 Q 1 +M diff --git a/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/eyeriss_like/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/simba_like/README.md b/workspace/example_designs/example_designs/simba_like/README.md new file mode 100644 index 00000000..3aa2e699 --- /dev/null +++ b/workspace/example_designs/example_designs/simba_like/README.md @@ -0,0 +1,23 @@ +Simba-Like Architecture +---------------------------- +This folder contains an architecture based on the Simba design description proposed +[here](https://people.csail.mit.edu/emer/papers/2017.01.jssc.eyeriss_design.pdf). This architecture is similar to the +NVDLA architecture as well. + +Q&As: +---------------------------- +1. Why is the technology different? + + Since the open-sourced energy estimation plug-ins have the most flexible support + for the 45nm components, we changed the technology to 45nm. + +2. What are major the differences between this design and the original design? + - Simba is a multi-chip design, but here we only show the architecture description of a single chip. + - We have reduced the number of MACs inside each PE from 64 to 16. + +3. How long do the Timeloop simulations take? + + Depending on your workload, the simulation takes various amount of time to finish. Generally, they should + converge within 30 mins. You can manually stop the exploration when you see things are converging by + pressing `ctrl + C`. They sometimes will take much longer to automaticaly stop as we set the converging cretiria to be pretty high to avoid early-stop with subooptimal mappings. Use you own + judgement. \ No newline at end of file diff --git a/workspace/example_designs/example_designs/simba_like/arch.yaml b/workspace/example_designs/example_designs/simba_like/arch.yaml new file mode 100644 index 00000000..27a12241 --- /dev/null +++ b/workspace/example_designs/example_designs/simba_like/arch.yaml @@ -0,0 +1,104 @@ +architecture: + version: 0.4 + nodes: # Top-level is hierarchical + - !Container # Top-level system + name: System + attributes: + datawidth: 8 + technology: "45nm" + + - !Component # DRAM main memory + name: DRAM + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + + - !Component # Global buffer for inputs & outputs + name: GlobalBuffer + class: smartbuffer_SRAM + attributes: + depth: 2048 + width: 256 + datawidth: 8 + n_banks: 4 + nports: 2 + constraints: + dataspace: {keep: [Inputs, Outputs], bypass: [Weights]} + + - !Container # Each PE works on a different output channel + name: PE + spatial: {meshX: 16} + constraints: + spatial: {factors: R=1 S=1 P=1 Q=1 N=1, permutation: [M, C, R, S, P, Q, N]} + + - !Component # Input buffer + name: PEInputBuffer + class: storage + subclass: smartbuffer_RF + attributes: + depth: 8192 + width: 64 + datawidth: 8 + constraints: + dataspace: {keep: [Inputs], bypass: [Weights, Outputs]} + + - !Container # Weight channels distributed across different buffers + name: distributed_buffers + spatial: {meshY: 4} + constraints: + spatial: {factors: P=1 Q=1 R=1 S=1 C=1 N=1, permutation: [M, C, Q, R, S, P, N]} + + - !Parallel # Weight/accumulator buffers + nodes: + - !Component # Weight buffer + name: PEWeightBuffer + class: storage + subclass: smartbuffer_RF + attributes: + depth: 4096 + width: 64 + datawidth: 8 + n_banks: 8 + constraints: + dataspace: {keep: [Weights], bypass: [Inputs, Outputs]} + + - !Component # Accumulator buffer + name: PEAccuBuffer + class: storage + subclass: smartbuffer_RF + attributes: + depth: 128 + datawidth: 24 + width: 24 + constraints: + dataspace: {keep: [Outputs], bypass: [Inputs, Weights]} + + - !Nothing {constraints: {dataspace: {keep: [Inputs]}}} + + - !Container # Four registers/MAC pairs per distributed buffer + name: reg_mac + spatial: {meshY: 4} + constraints: + spatial: {factors: P=1 Q=1 R=1 S=1 M=1 N=1, permutation: [C, M, Q, R, S, P, N]} + + - !Component # Weight registers + name: PEWeightRegs + class: storage + subclass: smartbuffer_RF + attributes: + depth: 1 + width: 512 + cluster_size: 64 + num_ports: 2 + datawidth: 8 + constraints: + dataspace: {keep: [Weights], bypass: [Inputs, Outputs]} + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 diff --git a/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..47ed26fa --- /dev/null +++ b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,795 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: System_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + datawidth: 8 + has_power_gating: false + power_gated_at: null + local: + - name: DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - read + - update + - leak + - write + enabled: true + - name: GlobalBuffer[1..1] + class: smartbuffer_SRAM + attributes: + depth: 2048 + width: 256 + datawidth: 8 + n_banks: 4 + nports: 2 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - read + - update + - leak + - write + enabled: true + - name: inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + enabled: true + - name: PEInputBuffer[1..16] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 8192 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - read + - update + - leak + - write + enabled: true + - name: inter_distributed_buffers_spatial[1..16] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + power_gated_at: null + enabled: true + - name: PEWeightBuffer[1..64] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 4096 + width: 64 + datawidth: 8 + n_banks: 8 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 4 + technology: "45nm" + power_gated_at: null + required_actions: + - read + - update + - leak + - write + enabled: true + - name: PEAccuBuffer[1..64] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 128 + datawidth: 24 + width: 24 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 4 + technology: "45nm" + power_gated_at: null + required_actions: + - read + - update + - leak + - write + enabled: true + - name: inter_reg_mac_spatial[1..64] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 4 + power_gated_at: null + enabled: true + - name: PEWeightRegs[1..256] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 1 + width: 512 + cluster_size: 64 + num_ports: 2 + datawidth: 8 + has_power_gating: false + n_banks: 2 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + technology: "45nm" + power_gated_at: null + required_actions: + - read + - update + - leak + - write + enabled: true + - name: mac[1..256] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 16 + meshY: 16 + datawidth: 8 + technology: "45nm" + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - type: temporal + permutation: N + target: DRAM + - keep: + - Inputs + - Outputs + bypass: + - Weights + type: bypass + target: GlobalBuffer + - type: temporal + permutation: N + target: GlobalBuffer + - type: spatial + factors: R=1,S=1,P=1,Q=1,N=1 + permutation: MCRSPQN + target: inter_PE_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - keep: + - Inputs + bypass: + - Weights + - Outputs + type: bypass + target: PEInputBuffer + - type: temporal + permutation: N + target: PEInputBuffer + - type: spatial + factors: P=1,Q=1,R=1,S=1,C=1,N=1 + permutation: MCQRSPN + target: inter_distributed_buffers_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_distributed_buffers_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_distributed_buffers_spatial + - keep: + - Weights + bypass: + - Inputs + - Outputs + type: bypass + target: PEWeightBuffer + - type: temporal + permutation: N + target: PEWeightBuffer + - keep: + - Outputs + bypass: + - Inputs + - Weights + type: bypass + target: PEAccuBuffer + - type: temporal + permutation: N + target: PEAccuBuffer + - type: spatial + factors: P=1,Q=1,R=1,S=1,M=1,N=1 + permutation: CMQRSPN + target: inter_reg_mac_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_reg_mac_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_reg_mac_spatial + - keep: + - Weights + bypass: + - Inputs + - Outputs + type: bypass + target: PEWeightRegs + - type: temporal + permutation: N + target: PEWeightRegs +problem: + version: '0.4' + instance: + C: 3 + H: 224 + Hdilation: 1 + Hpad: 1 + Hstride: 2 + M: 32 + N: 1 + P: 112 + Q: 112 + R: 3 + S: 3 + W: 224 + Wdilation: 1 + Wpad: 1 + Wstride: 2 + densities: {} + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + read_write: false + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + read_write: false + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: conv2D +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..70377f1e --- /dev/null +++ b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,23 @@ +ART: + version: '0.4' + tables: + - name: System_top_level.DRAM[1..1] + area: 0.0 + - name: System_top_level.inter_PE_spatial[1..1] + area: 1.0 + - name: System_top_level.inter_distributed_buffers_spatial[1..16] + area: 1.0 + - name: System_top_level.inter_reg_mac_spatial[1..64] + area: 1.0 + - name: System_top_level.GlobalBuffer[1..1] + area: 199065.0625 + - name: System_top_level.PEInputBuffer[1..16] + area: 3717019.6775 + - name: System_top_level.PEWeightBuffer[1..64] + area: 1858571.37 + - name: System_top_level.PEAccuBuffer[1..64] + area: 18948.654375 + - name: System_top_level.PEWeightRegs[1..256] + area: 49.12418 + - name: System_top_level.mac[1..256] + area: 417.0 diff --git a/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..ecc3a85e --- /dev/null +++ b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,65 @@ +ART_summary: + version: '0.4' + table_summary: + - name: System_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: System_top_level.inter_PE_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: System_top_level.inter_distributed_buffers_spatial[1..16] + area: 1.0 + primitive_estimations: dummy_table + - name: System_top_level.inter_reg_mac_spatial[1..64] + area: 1.0 + primitive_estimations: dummy_table + - name: System_top_level.GlobalBuffer[1..1] + area: 199065.0625 + primitive_estimations: + - name: storage + estimator: CactiSRAM + - name: address_generators[0..1] + estimator: Aladdin_table + - name: System_top_level.PEInputBuffer[1..16] + area: 3717019.6775 + primitive_estimations: + - name: storage.storage[1..524288] + estimator: Library + - name: storage.comparator[1..8192] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: System_top_level.PEWeightBuffer[1..64] + area: 1858571.37 + primitive_estimations: + - name: storage.storage[1..262144] + estimator: Library + - name: storage.comparator[1..4096] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: System_top_level.PEAccuBuffer[1..64] + area: 18948.654375 + primitive_estimations: + - name: storage.storage[1..4096] + estimator: Library + - name: storage.comparator[1..128] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: System_top_level.PEWeightRegs[1..256] + area: 49.12418 + primitive_estimations: + - name: storage.storage[1..32768] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: System_top_level.mac[1..256] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..e19e44eb --- /dev/null +++ b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,103 @@ +ERT: + version: '0.4' + tables: + - name: System_top_level.DRAM[1..1] + actions: + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: write + arguments: {} + energy: 66.310888 + - name: read + arguments: {} + energy: 51.870888 + - name: leak + arguments: {} + energy: 0.003241 + - name: update + arguments: {} + energy: 66.310888 + - name: System_top_level.PEInputBuffer[1..16] + actions: + - name: write + arguments: {} + energy: 241.503552 + - name: read + arguments: {} + energy: 242.079552 + - name: leak + arguments: {} + energy: 0.207488 + - name: update + arguments: {} + energy: 241.503552 + - name: System_top_level.PEWeightBuffer[1..64] + actions: + - name: write + arguments: {} + energy: 120.78787 + - name: read + arguments: {} + energy: 121.36387 + - name: leak + arguments: {} + energy: 0.104535 + - name: update + arguments: {} + energy: 120.78787 + - name: System_top_level.PEAccuBuffer[1..64] + actions: + - name: write + arguments: {} + energy: 2.875058 + - name: read + arguments: {} + energy: 3.091057 + - name: leak + arguments: {} + energy: 0.003416 + - name: update + arguments: {} + energy: 2.875058 + - name: System_top_level.PEWeightRegs[1..256] + actions: + - name: write + arguments: {} + energy: 0.080139 + - name: read + arguments: {} + energy: 0.259899 + - name: leak + arguments: {} + energy: 0.000169 + - name: update + arguments: {} + energy: 0.080139 + - name: System_top_level.mac[1..256] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..48638ff2 --- /dev/null +++ b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,138 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: System_top_level.DRAM[1..1] + actions: + - name: read + energy: 512.0 + - name: update + energy: 512.0 + - name: leak + energy: 0.0 + - name: write + energy: 512.0 + primitive_estimation(s): + - name: System_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: write + energy: 66.310888 + - name: read + energy: 51.870888 + - name: leak + energy: 0.003241 + - name: update + energy: 66.310888 + primitive_estimation(s): + - name: storage + estimator: CactiSRAM + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: System_top_level.PEInputBuffer[1..16] + actions: + - name: write + energy: 241.503552 + - name: read + energy: 242.079552 + - name: leak + energy: 0.207488 + - name: update + energy: 241.503552 + primitive_estimation(s): + - name: storage.storage[1..64] + estimator: Library + - name: storage.comparator[1..8192] + estimator: Library + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: storage.storage[1..524288] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: System_top_level.PEWeightBuffer[1..64] + actions: + - name: write + energy: 120.78787 + - name: read + energy: 121.36387 + - name: leak + energy: 0.104535 + - name: update + energy: 120.78787 + primitive_estimation(s): + - name: storage.storage[1..64] + estimator: Library + - name: storage.comparator[1..4096] + estimator: Library + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: storage.storage[1..262144] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: System_top_level.PEAccuBuffer[1..64] + actions: + - name: write + energy: 2.875058 + - name: read + energy: 3.091057 + - name: leak + energy: 0.003416 + - name: update + energy: 2.875058 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..128] + estimator: Library + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: storage.storage[1..4096] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: System_top_level.PEWeightRegs[1..256] + actions: + - name: write + energy: 0.080139 + - name: read + energy: 0.259899 + - name: leak + energy: 0.000169 + - name: update + energy: 0.080139 + primitive_estimation(s): + - name: storage.storage[1..512] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: storage.storage[1..32768] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: System_top_level.mac[1..256] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..77ec1faf --- /dev/null +++ b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,953 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:57 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:57 INFO Adding required action "read" to class DRAM +2024-05-29 16:49:57 INFO Adding required action "update" to class DRAM +2024-05-29 16:49:57 INFO Adding required action "leak" to class DRAM +2024-05-29 16:49:57 INFO Adding required action "write" to class DRAM +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 64. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 8192. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 8192. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 64. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 4096. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 4096. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 128. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.75. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 128. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.75. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.75. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.75. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 512. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 0.015625. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 1. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.015625. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.03901032965317537. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.015625. +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:57 INFO Getting all estimators in module +2024-05-29 16:49:57 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:57 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:57 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:57 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:57 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:57 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:57 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:57 INFO Found estimator plug-in: Library () +2024-05-29 16:49:57 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:57 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:57 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:57 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:57 INFO Calculated storage."width" as "width" = 256. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "depth" = 2048. +2024-05-29 16:49:57 INFO Calculated storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 11. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 11. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 11. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage."width" as "memory_width" = 64. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "memory_depth" = 8192. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.area_scale as "area_scale" = 1.0. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 524288. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 8192. +2024-05-29 16:49:57 INFO Calculated storage.storage[1..524288]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..8192]."n_bits" as "max(1, ceil(log2(depth)))" = 13. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..8192]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 13. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 13. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 13. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 1.0. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 64. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 8192. +2024-05-29 16:49:57 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 1.0. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 64. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 8192. +2024-05-29 16:49:57 INFO Calculated action leak energy_scale as "static_energy_scale" = 1.0. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 524288. +2024-05-29 16:49:57 INFO Calculated System_top_level.PEInputBuffer[1..16].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 8192. +2024-05-29 16:49:57 INFO Calculated System_top_level.PEInputBuffer[1..16].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 1.0. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 64. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 8192. +2024-05-29 16:49:57 INFO Calculated storage."width" as "memory_width" = 64. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "memory_depth" = 4096. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.area_scale as "area_scale" = 1.0. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 262144. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 4096. +2024-05-29 16:49:57 INFO Calculated storage.storage[1..262144]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..4096]."n_bits" as "max(1, ceil(log2(depth)))" = 12. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..4096]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 12. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 12. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 12. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 1.0. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 64. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 4096. +2024-05-29 16:49:57 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 1.0. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 64. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 4096. +2024-05-29 16:49:57 INFO Calculated action leak energy_scale as "static_energy_scale" = 1.0. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 262144. +2024-05-29 16:49:57 INFO Calculated System_top_level.PEWeightBuffer[1..64].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 4096. +2024-05-29 16:49:57 INFO Calculated System_top_level.PEWeightBuffer[1..64].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 1.0. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 64. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 4096. +2024-05-29 16:49:57 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "memory_depth" = 128. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.area_scale as "area_scale" = 0.75. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 4096. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:57 INFO Calculated storage.storage[1..4096]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..128]."n_bits" as "max(1, ceil(log2(depth)))" = 7. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..128]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.75. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:57 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.75. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:57 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.75. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 4096. +2024-05-29 16:49:57 INFO Calculated System_top_level.PEAccuBuffer[1..64].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:57 INFO Calculated System_top_level.PEAccuBuffer[1..64].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.75. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:57 INFO Calculated storage."width" as "memory_width" = 512. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.area_scale as "area_scale" = 0.015625. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 32768. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated storage.storage[1..32768]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 1. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 1. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 1. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.03901032965317537. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 512. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.03901032965317537. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 512. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.015625. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 32768. +2024-05-29 16:49:57 INFO Calculated System_top_level.PEWeightRegs[1..256].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated System_top_level.PEWeightRegs[1..256].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.03901032965317537. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 512. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:57 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:57 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.read. Arguments used: () +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.update. Arguments used: () +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:57 INFO | Unused arguments (action_latency_cycles) provided for DRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=256, depth=2048, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 6.623870000000001e-11 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=65536 n_rw_ports=1 block_size=32 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppg9d7xxk +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpotngg5wd +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppg9d7xxk >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpotngg5wd 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 135.224361513879 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=11, precision=11, width=11, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0721875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=256, depth=2048, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 5.1798700000000004e-11 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=65536 n_rw_ports=1 block_size=32 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp9g7mnmn9 +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6r50cuil +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp9g7mnmn9 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6r50cuil 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 135.224361513879 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=11, precision=11, width=11, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0721875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=256, depth=2048, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 1.6598900000000002e-15 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=65536 n_rw_ports=1 block_size=32 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpiw6_mp1m +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpdytfqo83 +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpiw6_mp1m >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpdytfqo83 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 135.224361513879 bits/second +2024-05-29 16:49:57 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 1.89315 +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=11, precision=11, width=11, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000790625p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=256, depth=2048, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 6.623870000000001e-11 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=65536 n_rw_ports=1 block_size=32 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpaa8zbb_h +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpukgw2y9t +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpaa8zbb_h >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpukgw2y9t 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 135.224361513879 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=11, precision=11, width=11, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0721875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=13, precision=13, width=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0853125p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=13, precision=13, width=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0853125p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=13, precision=13, width=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000934375p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=13, precision=13, width=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0853125p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=12, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=12, precision=12, width=12, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.07875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=12, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=12, precision=12, width=12, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.07875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=12, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=12, precision=12, width=12, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0008625p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=12, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=12, precision=12, width=12, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.07875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000503125p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0065625p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0065625p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 7.1875e-05p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0065625p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 WARNING No action counts are specified as yaml input +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=1, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=4, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for SRAM(width=256, depth=2048, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 1.98942e-07 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=65536 n_rw_ports=1 block_size=32 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmplu3bqpey +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpzh98qi8p +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmplu3bqpey >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpzh98qi8p 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 135.224361513879 bits/second +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(n_bits=11, precision=11, width=11, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 61.53125u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_comparator(n_bits=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(n_bits=13, precision=13, width=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 72.71875u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_comparator(n_bits=12, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(n_bits=12, precision=12, width=12, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 67.125u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 39.15625u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 5.59375u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO flattened architecture is saved to: +2024-05-29 16:49:58 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:49:58 INFO energy reference table is saved to: +2024-05-29 16:49:58 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:49:58 INFO energy reference table summary is saved to: +2024-05-29 16:49:58 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:49:58 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:49:58 INFO area reference table is saved to: +2024-05-29 16:49:58 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:49:58 INFO area reference table summary is saved to: +2024-05-29 16:49:58 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..d207db1e --- /dev/null +++ b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,302 @@ +architecture: + version: '0.4' + local: + - name: System_top_level.DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + - name: System_top_level.GlobalBuffer[1..1] + class: smartbuffer_SRAM + attributes: + depth: 2048 + width: 256 + datawidth: 8 + n_banks: 4 + nports: 2 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rw_ports: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + - name: System_top_level.inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: System_top_level.PEInputBuffer[1..16] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 8192 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 64 + memory_depth: 8192 + widthscale: 1.0 + depthscale: 1.0 + real_depth: 8192 + area_scale: 1.0 + dynamic_energy_scale: 1.0 + static_energy_scale: 1.0 + n_rdwr_ports: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + - name: System_top_level.inter_distributed_buffers_spatial[1..16] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: System_top_level.PEWeightBuffer[1..64] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 4096 + width: 64 + datawidth: 8 + n_banks: 8 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 4 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 64 + memory_depth: 4096 + widthscale: 1.0 + depthscale: 1.0 + real_depth: 4096 + area_scale: 1.0 + dynamic_energy_scale: 1.0 + static_energy_scale: 1.0 + n_rdwr_ports: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + - name: System_top_level.PEAccuBuffer[1..64] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 128 + datawidth: 24 + width: 24 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 4 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 128 + widthscale: 0.75 + depthscale: 1.0 + real_depth: 128 + area_scale: 0.75 + dynamic_energy_scale: 0.75 + static_energy_scale: 0.75 + n_rdwr_ports: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + - name: System_top_level.inter_reg_mac_spatial[1..64] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 4 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: System_top_level.PEWeightRegs[1..256] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 1 + width: 512 + cluster_size: 64 + num_ports: 2 + datawidth: 8 + has_power_gating: false + n_banks: 2 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 512 + memory_depth: 64 + widthscale: 1.0 + depthscale: 0.015625 + real_depth: 1 + area_scale: 0.015625 + dynamic_energy_scale: 0.03901032965317537 + static_energy_scale: 0.015625 + n_rdwr_ports: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + - name: System_top_level.mac[1..256] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 16 + meshY: 16 + datawidth: 8 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..075a657d --- /dev/null +++ b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,53 @@ +#error Tenssella does not support bypass. +t8 +C 1 M 1 R 1 S 1 N 1 P 1 Q 28 +Q +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t7 +C 1 M 1 R 1 S 1 N 1 P 4 Q 1 +P +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t6 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s6 +C 3 M 4 R 1 S 1 N 1 P 1 Q 1 +MC +7 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t5 +C 1 M 1 R 1 S 1 N 1 P 1 Q 4 +Q +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s4 +C 1 M 4 R 1 S 1 N 1 P 1 Q 1 +M +6 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 1 M 1 R 3 S 3 N 1 P 4 Q 1 +SPR +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 1 M 2 R 1 S 1 N 1 P 7 Q 1 +PM +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +t0 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q diff --git a/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/simba_like/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/simple_output_stationary/README.md b/workspace/example_designs/example_designs/simple_output_stationary/README.md new file mode 100644 index 00000000..ffe440ed --- /dev/null +++ b/workspace/example_designs/example_designs/simple_output_stationary/README.md @@ -0,0 +1,13 @@ +Simple Output Stationary Architecture +---------------------------- +This folder contains a simple output stationary architecture. + +Q&As: +---------------------------- +1. How long do the Timeloop simulations take? + + Depending on your workload, the simulation takes various amount of time to finish. Generally, they should + converge within 30 mins. You can manually stop the exploration when you see things are converging by + pressing `ctrl + C`. They sometimes will take much longer to + automaticaly stop as we set the converging cretiria to be pretty high to avoid early-stop with subooptimal mappings. Use you own + judgement. \ No newline at end of file diff --git a/workspace/example_designs/example_designs/simple_output_stationary/arch.yaml b/workspace/example_designs/example_designs/simple_output_stationary/arch.yaml new file mode 100644 index 00000000..e2c54673 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_output_stationary/arch.yaml @@ -0,0 +1,97 @@ +architecture: + # ============================================================ + # Architecture Description + # ============================================================ + version: 0.4 + nodes: # Top-level is hierarchical + - !Container # Top-level system + name: system + + - !Component # DRAM main memory + name: DRAM + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 16 + + - !Container # OS accelerator + name: simple_ws + attributes: + technology: "45nm" + + - !Component # Shared global buffer + name: shared_glb + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 16 + read_bandwidth: 16 + write_bandwidth: 16 + + - !Container # Array of PEs + name: PE + spatial: {meshX: 16, meshY: 16} + constraints: + spatial: + permutation: [C, M] + split: 1 + factors: [R=1, S=1, P=1, Q=1] + + - !Component # PE Scratchpad + name: pe_spad + class: smartbuffer_SRAM + attributes: + depth: 192 + width: 16 + datawidth: 16 + constraints: + dataspace: {bypass: [Inputs, Weights], keep: [Outputs]} + temporal: {permutation: [R, S, P, Q]} + + - !Parallel # Register for each data type + nodes: + - !Component # Weight register + name: weight_reg + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 # width in bits + datawidth: 16 + constraints: + dataspace: {keep: [Weights]} + temporal: {factors: [R=1, S=1, M=1, C=1]} + + - !Component # Input activation register + name: input_activation_reg + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 # width in bits + datawidth: 16 + constraints: + dataspace: {keep: [Inputs]} + temporal: {factors: [P=1, Q=1, C=1, N=1]} + + - !Component # Output activation register + name: output_activation_reg + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 # width in bits + datawidth: 16 + constraints: + dataspace: {keep: [Outputs]} + temporal: {factors: [P=1, Q=1, M=1, N=1]} + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 diff --git a/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..4ae25509 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,724 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "SET ME" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 16 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + technology: "45nm" + required_actions: + - update + - read + - write + - leak + enabled: true + - name: inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + enabled: true + - name: pe_spad[1..256] + class: smartbuffer_SRAM + attributes: + depth: 192 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + required_actions: + - update + - read + - write + - leak + enabled: true + - name: weight_reg[1..256] + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + required_actions: + - update + - read + - write + - leak + enabled: true + - name: input_activation_reg[1..256] + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + required_actions: + - update + - read + - write + - leak + enabled: true + - name: output_activation_reg[1..256] + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + required_actions: + - update + - read + - write + - leak + enabled: true + - name: mac[1..256] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - type: temporal + permutation: N + target: DRAM + - type: temporal + permutation: N + target: shared_glb + - type: spatial + factors: R=1,S=1,P=1,Q=1 + permutation: NQPSRCM + split: 1 + target: inter_PE_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - bypass: + - Inputs + - Weights + keep: + - Outputs + type: bypass + target: pe_spad + - permutation: NRSPQ + type: temporal + target: pe_spad + - keep: + - Weights + type: bypass + bypass: + - Inputs + - Outputs + target: weight_reg + - factors: R=1,S=1,M=1,C=1 + type: temporal + permutation: NCMSR + target: weight_reg + - keep: + - Inputs + type: bypass + bypass: + - Weights + - Outputs + target: input_activation_reg + - factors: P=1,Q=1,C=1,N=1 + type: temporal + permutation: NCQP + target: input_activation_reg + - keep: + - Outputs + type: bypass + bypass: + - Inputs + - Weights + target: output_activation_reg + - factors: P=1,Q=1,M=1,N=1 + type: temporal + permutation: NMQP + target: output_activation_reg +problem: + version: '0.4' + instance: + C: 3 + H: 224 + Hdilation: 1 + Hpad: 1 + Hstride: 2 + M: 32 + N: 1 + P: 112 + Q: 112 + R: 3 + S: 3 + W: 224 + Wdilation: 1 + Wpad: 1 + Wstride: 2 + densities: {} + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + read_write: false + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + read_write: false + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: conv2D +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..0c8cd321 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,19 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + area: 0.0 + - name: system_top_level.inter_PE_spatial[1..1] + area: 1.0 + - name: system_top_level.weight_reg[1..256] + area: 95.68 + - name: system_top_level.input_activation_reg[1..256] + area: 95.68 + - name: system_top_level.output_activation_reg[1..256] + area: 95.68 + - name: system_top_level.shared_glb[1..1] + area: 429745.625 + - name: system_top_level.pe_spad[1..256] + area: 1419.815 + - name: system_top_level.mac[1..256] + area: 417.0 diff --git a/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..02c511a8 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,39 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_top_level.inter_PE_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.weight_reg[1..256] + area: 95.68 + primitive_estimations: Library + - name: system_top_level.input_activation_reg[1..256] + area: 95.68 + primitive_estimations: Library + - name: system_top_level.output_activation_reg[1..256] + area: 95.68 + primitive_estimations: Library + - name: system_top_level.shared_glb[1..1] + area: 429745.625 + primitive_estimations: + - name: storage + estimator: CactiSRAM + - name: address_generators[0..1] + estimator: Aladdin_table + - name: system_top_level.pe_spad[1..256] + area: 1419.815 + primitive_estimations: + - name: storage + estimator: CactiSRAM + - name: address_generators[0..1] + estimator: Aladdin_table + - name: system_top_level.mac[1..256] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..8e0283c4 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,127 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: system_top_level.weight_reg[1..256] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.144 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: system_top_level.input_activation_reg[1..256] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.144 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: system_top_level.output_activation_reg[1..256] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.144 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + arguments: {} + energy: 26.156875 + - name: read + arguments: {} + energy: 32.377775 + - name: leak + arguments: {} + energy: 0.005353 + - name: update + arguments: {} + energy: 26.156875 + - name: system_top_level.pe_spad[1..256] + actions: + - name: write + arguments: {} + energy: 1.582678 + - name: read + arguments: {} + energy: 0.680237 + - name: leak + arguments: {} + energy: 0.001165 + - name: update + arguments: {} + energy: 1.582678 + - name: system_top_level.mac[1..256] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..cbcfbf39 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,104 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + actions: + - name: update + energy: 512.0 + - name: read + energy: 512.0 + - name: write + energy: 512.0 + - name: leak + energy: 0.0 + primitive_estimation(s): + - name: system_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: system_top_level.weight_reg[1..256] + actions: + - name: update + energy: 0.0 + - name: read + energy: 0.144 + - name: write + energy: 0.0 + - name: leak + energy: 0.0 + primitive_estimation(s): + - name: system_top_level.weight_reg[1..256] + estimator: Library + - name: system_top_level.input_activation_reg[1..256] + actions: + - name: update + energy: 0.0 + - name: read + energy: 0.144 + - name: write + energy: 0.0 + - name: leak + energy: 0.0 + primitive_estimation(s): + - name: system_top_level.input_activation_reg[1..256] + estimator: Library + - name: system_top_level.output_activation_reg[1..256] + actions: + - name: update + energy: 0.0 + - name: read + energy: 0.144 + - name: write + energy: 0.0 + - name: leak + energy: 0.0 + primitive_estimation(s): + - name: system_top_level.output_activation_reg[1..256] + estimator: Library + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + energy: 26.156875 + - name: read + energy: 32.377775 + - name: leak + energy: 0.005353 + - name: update + energy: 26.156875 + primitive_estimation(s): + - name: storage + estimator: CactiSRAM + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: system_top_level.pe_spad[1..256] + actions: + - name: write + energy: 1.582678 + - name: read + energy: 0.680237 + - name: leak + energy: 0.001165 + - name: update + energy: 1.582678 + primitive_estimation(s): + - name: storage + estimator: CactiSRAM + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: system_top_level.mac[1..256] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..76926f10 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,557 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Adding required action "update" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "read" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "write" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "leak" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "update" to class aladdin_register +2024-05-29 16:49:56 INFO Adding required action "read" to class aladdin_register +2024-05-29 16:49:56 INFO Adding required action "write" to class aladdin_register +2024-05-29 16:49:56 INFO Adding required action "leak" to class aladdin_register +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:56 INFO Getting all estimators in module +2024-05-29 16:49:56 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:56 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:56 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: Library () +2024-05-29 16:49:56 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 64. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 16384. +2024-05-29 16:49:56 INFO Calculated storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 16. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 192. +2024-05-29 16:49:56 INFO Calculated storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 8. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 8. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 8. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=SET ME, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.update. Arguments used: () +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=SET ME, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.read. Arguments used: () +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=SET ME, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.write. Arguments used: () +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=SET ME, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (action_latency_cycles) provided for DRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.update. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.144p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.009, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x leak', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x leak +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_register leak has been scaled 16.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.update. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.144p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.009, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x leak', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x leak +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_register leak has been scaled 16.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.update. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.144p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.009, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x leak', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x leak +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_register leak has been scaled 16.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.6065000000000003e-11 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpzu3gnd_z +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpyu9086fn +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpzu3gnd_z >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpyu9086fn 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.091875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 3.2285900000000004e-11 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp8hfhgrhq +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7mo7joo5 +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp8hfhgrhq >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7mo7joo5 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.091875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 3.34055e-15 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6ljqtlmq +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbf43hwxh +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6ljqtlmq >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbf43hwxh 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:49:58 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 1.65095 +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.00100625p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 2.6065000000000003e-11 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpnd2534a9 +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp0z5x56nh +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpnd2534a9 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp0z5x56nh 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.091875p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=16, depth=192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 1.530178e-12 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=768 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpr9w203nu +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp059erp0m +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpr9w203nu >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp059erp0m 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 2.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 26.452489675262623 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=16, depth=192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 6.277368499999999e-13 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=768 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpre5yjjty +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpsmmv61z6 +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpre5yjjty >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpsmmv61z6 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 2.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 26.452489675262623 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=16, depth=192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 1.525495e-17 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=768 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmprmmcau7f +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpgx1epiwm +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmprmmcau7f >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpgx1epiwm 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 2.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 26.452489675262623 bits/second +2024-05-29 16:49:58 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.604858 +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.000575p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=16, depth=192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 1.530178e-12 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=768 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpv2n3t_v4 +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpnrtsxwcg +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpv2n3t_v4 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpnrtsxwcg 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 2.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 26.452489675262623 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 WARNING No action counts are specified as yaml input +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=SET ME, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 95.68u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 16.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 95.68u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 16.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 95.68u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 16.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for SRAM(width=64, depth=16384, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:59 INFO CactiSRAM estimated 4.29589e-07 with accuracy 80%. Messages: +2024-05-29 16:49:59 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:59 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:59 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpqufcqtnm +2024-05-29 16:49:59 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpdkdu16ip +2024-05-29 16:49:59 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:59 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpqufcqtnm >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpdkdu16ip 2>&1 +2024-05-29 16:49:59 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:59 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Aladdin_table estimated 78.3125u^2 with accuracy 70%. Messages: +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for SRAM(width=16, depth=192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:59 INFO CactiSRAM estimated 1.330315e-09 with accuracy 80%. Messages: +2024-05-29 16:49:59 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:59 INFO | Calling CACTI with cache_size=768 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:59 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5r7_ehh3 +2024-05-29 16:49:59 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp4rny09qd +2024-05-29 16:49:59 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:59 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5r7_ehh3 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp4rny09qd 2>&1 +2024-05-29 16:49:59 INFO | Cache bandwidth: 2.0 bits/cycle +2024-05-29 16:49:59 INFO | Cache bandwidth: 26.452489675262623 bits/second +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Aladdin_table estimated 44.75u^2 with accuracy 70%. Messages: +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:49:59 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO flattened architecture is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:49:59 INFO energy reference table is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:49:59 INFO energy reference table summary is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:49:59 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:49:59 INFO area reference table is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:49:59 INFO area reference table summary is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..4c87ee83 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,219 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + technology: "SET ME" + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 16 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + technology: "45nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rw_ports: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.pe_spad[1..256] + class: smartbuffer_SRAM + attributes: + depth: 192 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rw_ports: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.weight_reg[1..256] + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.input_activation_reg[1..256] + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.output_activation_reg[1..256] + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.mac[1..256] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..a111aa5f --- /dev/null +++ b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,37 @@ +#error Tenssella does not support bypass. +t6 +C 1 M 2 R 1 S 1 N 1 P 2 Q 8 +MQP +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t5 +C 1 M 1 R 3 S 1 N 1 P 1 Q 14 +RQ +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s4 +C 1 M 16 R 1 S 1 N 1 P 1 Q 1 +M +6 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 3 M 1 R 1 S 3 N 1 P 4 Q 1 +SPC +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 1 M 1 R 1 S 1 N 1 P 14 Q 1 +P +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +t0 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q diff --git a/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/simple_output_stationary/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/simple_weight_stationary/README.md b/workspace/example_designs/example_designs/simple_weight_stationary/README.md new file mode 100644 index 00000000..e0708fe5 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_weight_stationary/README.md @@ -0,0 +1,21 @@ +Simple Weight Stationary Architecture +---------------------------- +This folder contains a simple weight stationary architecture. + +Q&As: +---------------------------- +1. How long do the Timeloop simulations take? + + Depending on your workload, the simulation takes various amount of time to finish. Generally, they should + converge within 30 mins. You can manually stop the exploration when you see things are converging by + pressing `ctrl + C`. They sometimes will take much longer to + automaticaly stop as we set the converging cretiria to be pretty high to avoid early-stop with subooptimal mappings. Use you own + judgement. + +2. How to get started on using the architecture skeleton to model architectures with advanced technologies? + + You generally need to modify the definitions of the compound components. If needed, you are also like required to + make updated the architecture description to include the additional setup for your architecture. + + An example design for compute-in-memory architecture using ReRAM can be found + [here](https://github.com/Accelergy-Project/processing-in-memory-design) diff --git a/workspace/example_designs/example_designs/simple_weight_stationary/arch.yaml b/workspace/example_designs/example_designs/simple_weight_stationary/arch.yaml new file mode 100644 index 00000000..78833d07 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_weight_stationary/arch.yaml @@ -0,0 +1,97 @@ +architecture: + # ============================================================ + # Architecture Description + # ============================================================ + version: 0.4 + nodes: # Top-level is hierarchical + - !Container # Top-level system + name: system + + - !Component # DRAM main memory + name: DRAM + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 16 + + - !Container # OS accelerator + name: simple_ws + attributes: + technology: "45nm" + + - !Component # Shared global buffer + name: shared_glb + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 16 + read_bandwidth: 16 + write_bandwidth: 16 + + - !Container # Array of PEs + name: PE + spatial: {meshX: 16, meshY: 16} + constraints: + spatial: + permutation: [C, M] + split: 1 + factors: [R=1, S=1, P=1, Q=1] + + - !Component # PE Scratchpad + name: pe_spad + class: smartbuffer_SRAM + attributes: + depth: 192 + width: 16 + datawidth: 16 + constraints: + dataspace: {bypass: [Inputs, Outputs], keep: [Weights]} + temporal: {permutation: [P, Q, R, S]} + + - !Parallel # Register for each data type + nodes: + - !Component # Weight register + name: weight_reg + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 # width in bits + datawidth: 16 + constraints: + dataspace: {keep: [Weights]} + temporal: {factors: [R=1, S=1, M=1, C=1]} + + - !Component # Input activation register + name: input_activation_reg + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 # width in bits + datawidth: 16 + constraints: + dataspace: {keep: [Inputs]} + temporal: {factors: [P=1, Q=1, C=1, N=1]} + + - !Component # Output activation register + name: output_activation_reg + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 # width in bits + datawidth: 16 + constraints: + dataspace: {keep: [Outputs]} + temporal: {factors: [P=1, Q=1, M=1, N=1]} + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 diff --git a/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..8684711d --- /dev/null +++ b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,724 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "SET ME" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + required_actions: + - leak + - update + - write + - read + enabled: true + - name: shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 16 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + technology: "45nm" + required_actions: + - leak + - update + - write + - read + enabled: true + - name: inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + enabled: true + - name: pe_spad[1..256] + class: smartbuffer_SRAM + attributes: + depth: 192 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + required_actions: + - leak + - update + - write + - read + enabled: true + - name: weight_reg[1..256] + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + required_actions: + - leak + - update + - write + - read + enabled: true + - name: input_activation_reg[1..256] + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + required_actions: + - leak + - update + - write + - read + enabled: true + - name: output_activation_reg[1..256] + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + required_actions: + - leak + - update + - write + - read + enabled: true + - name: mac[1..256] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - type: temporal + permutation: N + target: DRAM + - type: temporal + permutation: N + target: shared_glb + - type: spatial + factors: R=1,S=1,P=1,Q=1 + permutation: NQPSRCM + split: 1 + target: inter_PE_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - bypass: + - Inputs + - Outputs + keep: + - Weights + type: bypass + target: pe_spad + - permutation: NPQRS + type: temporal + target: pe_spad + - keep: + - Weights + type: bypass + bypass: + - Inputs + - Outputs + target: weight_reg + - factors: R=1,S=1,M=1,C=1 + type: temporal + permutation: NCMSR + target: weight_reg + - keep: + - Inputs + type: bypass + bypass: + - Weights + - Outputs + target: input_activation_reg + - factors: P=1,Q=1,C=1,N=1 + type: temporal + permutation: NCQP + target: input_activation_reg + - keep: + - Outputs + type: bypass + bypass: + - Inputs + - Weights + target: output_activation_reg + - factors: P=1,Q=1,M=1,N=1 + type: temporal + permutation: NMQP + target: output_activation_reg +problem: + version: '0.4' + instance: + C: 3 + H: 224 + Hdilation: 1 + Hpad: 1 + Hstride: 2 + M: 32 + N: 1 + P: 112 + Q: 112 + R: 3 + S: 3 + W: 224 + Wdilation: 1 + Wpad: 1 + Wstride: 2 + densities: {} + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + read_write: false + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + read_write: false + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: conv2D +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..0c8cd321 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,19 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + area: 0.0 + - name: system_top_level.inter_PE_spatial[1..1] + area: 1.0 + - name: system_top_level.weight_reg[1..256] + area: 95.68 + - name: system_top_level.input_activation_reg[1..256] + area: 95.68 + - name: system_top_level.output_activation_reg[1..256] + area: 95.68 + - name: system_top_level.shared_glb[1..1] + area: 429745.625 + - name: system_top_level.pe_spad[1..256] + area: 1419.815 + - name: system_top_level.mac[1..256] + area: 417.0 diff --git a/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..02c511a8 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,39 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_top_level.inter_PE_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.weight_reg[1..256] + area: 95.68 + primitive_estimations: Library + - name: system_top_level.input_activation_reg[1..256] + area: 95.68 + primitive_estimations: Library + - name: system_top_level.output_activation_reg[1..256] + area: 95.68 + primitive_estimations: Library + - name: system_top_level.shared_glb[1..1] + area: 429745.625 + primitive_estimations: + - name: storage + estimator: CactiSRAM + - name: address_generators[0..1] + estimator: Aladdin_table + - name: system_top_level.pe_spad[1..256] + area: 1419.815 + primitive_estimations: + - name: storage + estimator: CactiSRAM + - name: address_generators[0..1] + estimator: Aladdin_table + - name: system_top_level.mac[1..256] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..a13df243 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,127 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: system_top_level.weight_reg[1..256] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.144 + - name: system_top_level.input_activation_reg[1..256] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.144 + - name: system_top_level.output_activation_reg[1..256] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.144 + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + arguments: {} + energy: 26.156875 + - name: read + arguments: {} + energy: 32.377775 + - name: leak + arguments: {} + energy: 0.005353 + - name: update + arguments: {} + energy: 26.156875 + - name: system_top_level.pe_spad[1..256] + actions: + - name: write + arguments: {} + energy: 1.582678 + - name: read + arguments: {} + energy: 0.680237 + - name: leak + arguments: {} + energy: 0.001165 + - name: update + arguments: {} + energy: 1.582678 + - name: system_top_level.mac[1..256] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..22e1ac08 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,104 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + actions: + - name: leak + energy: 0.0 + - name: update + energy: 512.0 + - name: write + energy: 512.0 + - name: read + energy: 512.0 + primitive_estimation(s): + - name: system_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: system_top_level.weight_reg[1..256] + actions: + - name: leak + energy: 0.0 + - name: update + energy: 0.0 + - name: write + energy: 0.0 + - name: read + energy: 0.144 + primitive_estimation(s): + - name: system_top_level.weight_reg[1..256] + estimator: Library + - name: system_top_level.input_activation_reg[1..256] + actions: + - name: leak + energy: 0.0 + - name: update + energy: 0.0 + - name: write + energy: 0.0 + - name: read + energy: 0.144 + primitive_estimation(s): + - name: system_top_level.input_activation_reg[1..256] + estimator: Library + - name: system_top_level.output_activation_reg[1..256] + actions: + - name: leak + energy: 0.0 + - name: update + energy: 0.0 + - name: write + energy: 0.0 + - name: read + energy: 0.144 + primitive_estimation(s): + - name: system_top_level.output_activation_reg[1..256] + estimator: Library + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + energy: 26.156875 + - name: read + energy: 32.377775 + - name: leak + energy: 0.005353 + - name: update + energy: 26.156875 + primitive_estimation(s): + - name: storage + estimator: CactiSRAM + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: system_top_level.pe_spad[1..256] + actions: + - name: write + energy: 1.582678 + - name: read + energy: 0.680237 + - name: leak + energy: 0.001165 + - name: update + energy: 1.582678 + primitive_estimation(s): + - name: storage + estimator: CactiSRAM + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: system_top_level.mac[1..256] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..08087e5c --- /dev/null +++ b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,557 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Adding required action "leak" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "update" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "write" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "read" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "leak" to class aladdin_register +2024-05-29 16:49:56 INFO Adding required action "update" to class aladdin_register +2024-05-29 16:49:56 INFO Adding required action "write" to class aladdin_register +2024-05-29 16:49:56 INFO Adding required action "read" to class aladdin_register +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:56 INFO Getting all estimators in module +2024-05-29 16:49:56 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:56 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:56 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: Library () +2024-05-29 16:49:56 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 64. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 16384. +2024-05-29 16:49:56 INFO Calculated storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 16. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 192. +2024-05-29 16:49:56 INFO Calculated storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 8. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 8. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 8. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=SET ME, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (action_latency_cycles) provided for DRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=SET ME, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.update. Arguments used: () +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=SET ME, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.write. Arguments used: () +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=SET ME, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.read. Arguments used: () +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x leak', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x leak +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_register leak has been scaled 16.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.update. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.144p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.009, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x leak', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x leak +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_register leak has been scaled 16.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.update. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.144p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.009, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x leak', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x leak +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_register leak has been scaled 16.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.update. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO Library estimated 0.144p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.009, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 16.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 16.0x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.6065000000000003e-11 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpgy7m3lr5 +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmphj0z12x9 +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpgy7m3lr5 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmphj0z12x9 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.091875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 3.2285900000000004e-11 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_v742xbo +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpx_786mjg +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_v742xbo >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpx_786mjg 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.091875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 3.34055e-15 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpit1qoslu +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpo1fb3d57 +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpit1qoslu >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpo1fb3d57 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:49:58 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 1.65095 +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.00100625p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 2.6065000000000003e-11 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpr_bsm6d_ +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpz0zbhyv4 +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpr_bsm6d_ >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpz0zbhyv4 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.091875p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=16, depth=192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 1.530178e-12 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=768 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpc2sqy1hl +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7ilw23tu +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpc2sqy1hl >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7ilw23tu 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 2.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 26.452489675262623 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=16, depth=192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 6.277368499999999e-13 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=768 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp9u0dch98 +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp8dqnvbwe +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp9u0dch98 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp8dqnvbwe 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 2.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 26.452489675262623 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=16, depth=192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 1.525495e-17 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=768 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpntw19wao +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpis6sn0w7 +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpntw19wao >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpis6sn0w7 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 2.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 26.452489675262623 bits/second +2024-05-29 16:49:58 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.604858 +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.000575p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=16, depth=192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 1.530178e-12 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=768 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjlikjc4w +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpab736wnd +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjlikjc4w >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpab736wnd 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 2.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 26.452489675262623 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 WARNING No action counts are specified as yaml input +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=SET ME, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 95.68u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 16.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 95.68u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 16.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(depth=1, width=16, datawidth=16, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=16, meshY=16, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 95.68u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling width from 1 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 16.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 1 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.width from 1.0 to 16.0: 16.0x area +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 16.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for SRAM(width=64, depth=16384, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:59 INFO CactiSRAM estimated 4.29589e-07 with accuracy 80%. Messages: +2024-05-29 16:49:59 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:59 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:59 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpoye7i1u8 +2024-05-29 16:49:59 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpz85kwly0 +2024-05-29 16:49:59 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:59 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpoye7i1u8 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpz85kwly0 2>&1 +2024-05-29 16:49:59 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:59 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Aladdin_table estimated 78.3125u^2 with accuracy 70%. Messages: +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for SRAM(width=16, depth=192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:59 INFO CactiSRAM estimated 1.330315e-09 with accuracy 80%. Messages: +2024-05-29 16:49:59 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:59 INFO | Calling CACTI with cache_size=768 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:59 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpm2wuiyn7 +2024-05-29 16:49:59 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjhwdkvzk +2024-05-29 16:49:59 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:59 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpm2wuiyn7 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjhwdkvzk 2>&1 +2024-05-29 16:49:59 INFO | Cache bandwidth: 2.0 bits/cycle +2024-05-29 16:49:59 INFO | Cache bandwidth: 26.452489675262623 bits/second +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Aladdin_table estimated 44.75u^2 with accuracy 70%. Messages: +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:49:59 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO flattened architecture is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:49:59 INFO energy reference table is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:49:59 INFO energy reference table summary is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:49:59 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:49:59 INFO area reference table is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:49:59 INFO area reference table summary is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..8e2c9f43 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,219 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + technology: "SET ME" + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 16 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + technology: "45nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rw_ports: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.pe_spad[1..256] + class: smartbuffer_SRAM + attributes: + depth: 192 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rw_ports: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.weight_reg[1..256] + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.input_activation_reg[1..256] + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.output_activation_reg[1..256] + class: storage + subclass: aladdin_register + attributes: + depth: 1 + width: 16 + datawidth: 16 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.mac[1..256] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 16 + meshY: 16 + power_gated_at: null + technology: "45nm" + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..f993a3e7 --- /dev/null +++ b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,36 @@ +t6 +C 1 M 1 R 1 S 1 N 1 P 1 Q 14 +Q +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t5 +C 1 M 8 R 1 S 3 N 1 P 2 Q 1 +MPS +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s4 +C 3 M 4 R 1 S 1 N 1 P 1 Q 1 +CM +5 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 1 M 1 R 3 S 1 N 1 P 2 Q 2 +PQR +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 1 M 1 R 1 S 1 N 1 P 28 Q 4 +QP +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +t0 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q diff --git a/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/simple_weight_stationary/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/sparse_tensor_core_like/README.md b/workspace/example_designs/example_designs/sparse_tensor_core_like/README.md new file mode 100644 index 00000000..d2d9fac8 --- /dev/null +++ b/workspace/example_designs/example_designs/sparse_tensor_core_like/README.md @@ -0,0 +1,29 @@ +Sparse Tensor Core Like Architecture +---------------------------- +This folder contains an architecture based on the publicly available information on the sparse tensor core design that supports 2:4 structured sparsity. + + +Q&As +---------------------------- +#### 1. Is this design the exact sparse tensor core design in NVIDIA GPU? + + **No, this design is just an acclerator emulation of the sparse tensor core based on the publicly available information.** Many parameters are adjusted, e.g., the available bandwidth, to model a standalone accelerator design. + +#### 2. Does the provide constraints work for conv kernels? + + No, the sparse tensor core design treats all problems as matrix multiplications, so the constraints are setup based on the **matrix multiplication** problem shape. **Please use example layers under `../layer_shapes/MM` to run the design**. `A` tensor is our 2:4 structured sparse weight tensor in all of the problems specs. We also provide an example problem in this directory: `prob/prob.yaml`. + +#### 3. What does `skipping_spatial` in `sparse-opt/sparse-opt.yaml` mean? + + `skipping_spatial` refers to skipping on spatial instances, i.e., if a specific hardware instance is assigned to tiles with all zeros, use it for other tiles. +By doing that, we allow more processing parallelism. + +#### 4. Where does the 2:4 structure along the channels come into the picture? + + Please note that our mapspace search contraints mandates the that innermost loop is on the channel dimension, i.e., `K`. +As a result, the 50% fixed structured sparsity is always assigned to the channel dimension. If you would like to change the setup, do make sure that +the innermost loop bound is a mutiple of 4 in your problem or mapspace constraint. + +#### 5. More studies? + + Please refer to the case study in our [paper](https://arxiv.org/pdf/2205.05826.pdf) for a more invovled case study that looks at variations of sparse tensor core. diff --git a/workspace/example_designs/example_designs/sparse_tensor_core_like/arch.yaml b/workspace/example_designs/example_designs/sparse_tensor_core_like/arch.yaml new file mode 100644 index 00000000..936171c8 --- /dev/null +++ b/workspace/example_designs/example_designs/sparse_tensor_core_like/arch.yaml @@ -0,0 +1,90 @@ +architecture: + version: 0.4 + nodes: # Top-level is hierarchical + - !Container # Top-level system + name: system + attributes: + technology: "45nm" + + - !Component # DRAM main memory + name: DRAM + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + metadata_storage_width: 64 + datawidth: 8 + cluster_size: 1 + read_bandwidth: 32 + write_bandwidth: 32 + constraints: + temporal: {permutation: [K], factors: K=1} + + - !Component # 256KB data, 32KB metadata + name: SMEM + class: storage + subclass: smartbuffer_metadata + attributes: + depth: 8192 + width: 256 + n_banks: 2 + n_rdwr_ports: 2 + metadata_storage_depth: 8192 + metadata_storage_width: 64 + datawidth: 8 + cluster_size: 1 + read_bandwidth: 42 + write_bandwidth: 42 + constraints: + temporal: {permutation: [K], factors: K=1 M<=8 N<=8} + dataspace: {keep: [A, B], bypass: [Z]} + + - !Container # Subpartition + name: Subpartition + spatial: {meshY: 4} + constraints: + spatial: {permutation: [N, K, M], factors: K=1 N=1 M=4, split: 0} + + - !Component # Register file + name: RF # Register file + class: storage + subclass: smartbuffer_RF + attributes: + # to accommodate for a dense Z with M=16 and N=128 + depth: 2048 + width: 8 + n_banks: 16 + n_rdwr_ports: 2 + datawidth: 8 + cluster_size: 1 + constraints: + temporal: {permutation: [N, K, M], factors: M=1 N=1} + dataspace: {keep: [Z], bypass: [A, B]} + + - !Container # PE + name: PE + spatial: {meshX: 16, meshY: 16} + constraints: + spatial: {permutation: [K, M, N], factors: K=16 M=16 N=1, split: 1} + + - !Component # Local register file + name: LRF + class: storage + subclass: smartbuffer_metadata + attributes: + depth: 1 + width: 8 + metadata_storage_depth: 1 + metadata_storage_width: 8 + datawidth: 8 + cluster_size: 1 + constraints: + temporal: {permutation: [N, K, M], factors: K=1 M=1 N<=128} + dataspace: {keep: [A], bypass: [B, Z]} + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 diff --git a/workspace/example_designs/example_designs/sparse_tensor_core_like/problem.yaml b/workspace/example_designs/example_designs/sparse_tensor_core_like/problem.yaml new file mode 100644 index 00000000..89b37a53 --- /dev/null +++ b/workspace/example_designs/example_designs/sparse_tensor_core_like/problem.yaml @@ -0,0 +1,32 @@ +problem: + version: 0.4 + instance: + K: 1 + M: 64 + N: 1 + densities: + A: + density: 0.5 + distribution: fixed_structured + shape: + name: gemm_ABZ + dimensions: + - M + - N + - K + data_spaces: + - name: A + projection: + - - - M + - - - K + - name: B + projection: + - - - N + - - - K + - name: Z + projection: + - - - M + - - - N + read_write: true + + diff --git a/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..75b31258 --- /dev/null +++ b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,678 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + metadata_storage_width: 64 + datawidth: 8 + cluster_size: 1 + read_bandwidth: 32 + write_bandwidth: 32 + has_power_gating: false + n_banks: 2 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - update + - leak + - read + - write + enabled: true + - name: SMEM[1..1] + class: storage + subclass: smartbuffer_metadata + attributes: + depth: 8192 + width: 256 + n_banks: 2 + n_rdwr_ports: 2 + metadata_storage_depth: 8192 + metadata_storage_width: 64 + datawidth: 8 + cluster_size: 1 + read_bandwidth: 42 + write_bandwidth: 42 + has_power_gating: false + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - update + - leak + - read + - write + enabled: true + - name: inter_Subpartition_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + enabled: true + - name: RF[1..4] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 2048 + width: 8 + n_banks: 16 + n_rdwr_ports: 2 + datawidth: 8 + cluster_size: 1 + has_power_gating: false + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 4 + technology: "45nm" + power_gated_at: null + required_actions: + - update + - leak + - read + - write + enabled: true + - name: inter_PE_spatial[1..4] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 4 + power_gated_at: null + enabled: true + - name: LRF[1..1024] + class: storage + subclass: smartbuffer_metadata + attributes: + depth: 1 + width: 8 + metadata_storage_depth: 1 + metadata_storage_width: 8 + datawidth: 8 + cluster_size: 1 + has_power_gating: false + n_banks: 2 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 64 + technology: "45nm" + power_gated_at: null + required_actions: + - update + - leak + - read + - write + enabled: true + - name: mac[1..1024] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 16 + meshY: 64 + technology: "45nm" + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - permutation: NK + factors: K=1 + type: temporal + target: DRAM + - permutation: NK + factors: K=1,M<=8,N<=8 + type: temporal + target: SMEM + - keep: + - A + - B + bypass: + - Z + type: bypass + target: SMEM + - type: spatial + factors: K=1,N=1,M=4 + permutation: NKM + split: 0 + target: inter_Subpartition_spatial + - factors: M=1,N=1,K=1 + permutation: MNK + type: temporal + target: inter_Subpartition_spatial + - bypass: + - A + - B + - Z + type: bypass + target: inter_Subpartition_spatial + - permutation: NKM + factors: M=1,N=1 + type: temporal + target: RF + - keep: + - Z + bypass: + - A + - B + type: bypass + target: RF + - type: spatial + factors: K=16,M=16,N=1 + permutation: KMN + split: 1 + target: inter_PE_spatial + - factors: M=1,N=1,K=1 + permutation: MNK + type: temporal + target: inter_PE_spatial + - bypass: + - A + - B + - Z + type: bypass + target: inter_PE_spatial + - permutation: NKM + factors: K=1,M=1,N<=128 + type: temporal + target: LRF + - keep: + - A + bypass: + - B + - Z + type: bypass + target: LRF +problem: + version: '0.4' + instance: + K: 1 + M: 64 + N: 1 + densities: + A: + density: 0.5 + distribution: fixed_structured + band_width: 0 + workload_tensor_size: 0 + shape: + name: gemm_ABZ + dimensions: + - M + - N + - K + data_spaces: + - name: A + projection: + - - - M + - - - K + read_write: false + - name: B + projection: + - - - N + - - - K + read_write: false + - name: Z + projection: + - - - M + - - - N + read_write: true + coefficients: [] +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..ba0d61d9 --- /dev/null +++ b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,17 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + area: 0.0 + - name: system_top_level.inter_Subpartition_spatial[1..1] + area: 1.0 + - name: system_top_level.inter_PE_spatial[1..4] + area: 1.0 + - name: system_top_level.SMEM[1..1] + area: 1069101.875 + - name: system_top_level.RF[1..4] + area: 33612.845625 + - name: system_top_level.LRF[1..1024] + area: 30.62 + - name: system_top_level.mac[1..1024] + area: 417.0 diff --git a/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..3a870350 --- /dev/null +++ b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,54 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_top_level.inter_Subpartition_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.inter_PE_spatial[1..4] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.SMEM[1..1] + area: 1069101.875 + primitive_estimations: + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.RF[1..4] + area: 33612.845625 + primitive_estimations: + - name: storage.storage[1..65536] + estimator: Library + - name: storage.comparator[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: system_top_level.LRF[1..1024] + area: 30.62 + primitive_estimations: + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.mac[1..1024] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..60065647 --- /dev/null +++ b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,105 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: system_top_level.SMEM[1..1] + actions: + - name: read + arguments: {} + energy: 124.695312 + - name: write + arguments: {} + energy: 118.118313 + - name: update + arguments: {} + energy: 118.118313 + - name: metadata_read + arguments: {} + energy: 25.954813 + - name: metadata_write + arguments: {} + energy: 19.733913 + - name: metadata_update + arguments: {} + energy: 19.733913 + - name: leak + arguments: {} + energy: 0.01164 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.RF[1..4] + actions: + - name: write + arguments: {} + energy: 15.160827 + - name: read + arguments: {} + energy: 15.232827 + - name: leak + arguments: {} + energy: 0.014432 + - name: update + arguments: {} + energy: 15.160827 + - name: system_top_level.LRF[1..1024] + actions: + - name: read + arguments: {} + energy: 0.019007 + - name: write + arguments: {} + energy: 0.027041 + - name: update + arguments: {} + energy: 0.027041 + - name: metadata_read + arguments: {} + energy: 0.019007 + - name: metadata_write + arguments: {} + energy: 0.027041 + - name: metadata_update + arguments: {} + energy: 0.027041 + - name: leak + arguments: {} + energy: 0.000288 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.mac[1..1024] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..5d2a8012 --- /dev/null +++ b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,132 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + actions: + - name: update + energy: 512.0 + - name: leak + energy: 0.0 + - name: read + energy: 512.0 + - name: write + energy: 512.0 + primitive_estimation(s): + - name: system_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: system_top_level.SMEM[1..1] + actions: + - name: read + energy: 124.695312 + - name: write + energy: 118.118313 + - name: update + energy: 118.118313 + - name: metadata_read + energy: 25.954813 + - name: metadata_write + energy: 19.733913 + - name: metadata_update + energy: 19.733913 + - name: leak + energy: 0.01164 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.RF[1..4] + actions: + - name: write + energy: 15.160827 + - name: read + energy: 15.232827 + - name: leak + energy: 0.014432 + - name: update + energy: 15.160827 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..2048] + estimator: Library + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: storage.storage[1..65536] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: system_top_level.LRF[1..1024] + actions: + - name: read + energy: 0.019007 + - name: write + energy: 0.027041 + - name: update + energy: 0.027041 + - name: metadata_read + energy: 0.019007 + - name: metadata_write + energy: 0.027041 + - name: metadata_update + energy: 0.027041 + - name: leak + energy: 0.000288 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.mac[1..1024] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..a1ef6f2d --- /dev/null +++ b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,744 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Adding required action "update" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "leak" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "read" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "write" to class DRAM +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 2048. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.25. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 2048. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.25. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.25. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.25. +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:56 INFO Getting all estimators in module +2024-05-29 16:49:56 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:56 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:56 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: Library () +2024-05-29 16:49:56 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:56 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 256. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 8192. +2024-05-29 16:49:56 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 2. +2024-05-29 16:49:56 INFO Calculated storage.storage."width" as "width" = 256. +2024-05-29 16:49:56 INFO Calculated storage.storage."depth" as "depth" = 8192. +2024-05-29 16:49:56 INFO Calculated storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 13. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 13. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 13. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 8192. +2024-05-29 16:49:56 INFO Calculated metadata_storage."n_rdwr_ports" as "n_rdwr_ports" = 2. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."width" as "width" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."depth" as "depth" = 8192. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 13. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 13. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 13. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 16:49:56 INFO Calculated system_top_level.SMEM[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated system_top_level.SMEM[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "memory_depth" = 2048. +2024-05-29 16:49:56 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 2. +2024-05-29 16:49:56 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.area_scale as "area_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 65536. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 2048. +2024-05-29 16:49:56 INFO Calculated storage.storage[1..65536]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.comparator[1..2048]."n_bits" as "max(1, ceil(log2(depth)))" = 11. +2024-05-29 16:49:56 INFO Calculated storage.comparator[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 11. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 11. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 11. +2024-05-29 16:49:56 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 2048. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 2048. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 65536. +2024-05-29 16:49:56 INFO Calculated system_top_level.RF[1..4].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 2048. +2024-05-29 16:49:56 INFO Calculated system_top_level.RF[1..4].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 2048. +2024-05-29 16:49:56 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 8. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 1. +2024-05-29 16:49:56 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."width" as "width" = 8. +2024-05-29 16:49:56 INFO Calculated storage.storage."depth" as "depth" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 1. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 1. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 1. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 8. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."width" as "width" = 8. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."depth" as "depth" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 16:49:56 INFO Calculated system_top_level.LRF[1..1024].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated system_top_level.LRF[1..1024].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, metadata_storage_width=64, datawidth=8, cluster_size=1, read_bandwidth=32, write_bandwidth=32, has_power_gating=False, n_banks=2, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (metadata_storage_width, datawidth, cluster_size, read_bandwidth, write_bandwidth, has_power_gating, n_banks, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.update. Arguments used: () +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, metadata_storage_width=64, datawidth=8, cluster_size=1, read_bandwidth=32, write_bandwidth=32, has_power_gating=False, n_banks=2, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (metadata_storage_width, datawidth, cluster_size, read_bandwidth, write_bandwidth, has_power_gating, n_banks, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (action_latency_cycles) provided for DRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, metadata_storage_width=64, datawidth=8, cluster_size=1, read_bandwidth=32, write_bandwidth=32, has_power_gating=False, n_banks=2, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (metadata_storage_width, datawidth, cluster_size, read_bandwidth, write_bandwidth, has_power_gating, n_banks, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.read. Arguments used: () +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, metadata_storage_width=64, datawidth=8, cluster_size=1, read_bandwidth=32, write_bandwidth=32, has_power_gating=False, n_banks=2, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:56 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (metadata_storage_width, datawidth, cluster_size, read_bandwidth, write_bandwidth, has_power_gating, n_banks, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.write. Arguments used: () +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=256, depth=8192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 1.2461e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=262144 n_rw_ports=1 block_size=32 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmps1ze8zi7 +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp9rqwhifh +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmps1ze8zi7 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp9rqwhifh 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 74.20590980503556 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=13, precision=13, width=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0853125p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=256, depth=8192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 1.18033e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=262144 n_rw_ports=1 block_size=32 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpooq0tnrf +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpxjnfglrs +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpooq0tnrf >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpxjnfglrs 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 74.20590980503556 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=13, precision=13, width=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0853125p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=256, depth=8192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 1.18033e-10 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=262144 n_rw_ports=1 block_size=32 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpk9pei7t8 +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpxalqjppy +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpk9pei7t8 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpxalqjppy 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 74.20590980503556 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=13, precision=13, width=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0853125p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=64, depth=8192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 2.5869500000000002e-11 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=65536 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpkodquj8e +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp0_pyvbj6 +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpkodquj8e >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp0_pyvbj6 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=13, precision=13, width=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0853125p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=64, depth=8192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 1.96486e-11 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=65536 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp4g_mk85r +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmplpnyl7zx +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp4g_mk85r >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmplpnyl7zx 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=13, precision=13, width=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0853125p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=64, depth=8192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO CactiSRAM estimated 1.96486e-11 with accuracy 80%. Messages: +2024-05-29 16:49:59 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:59 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:59 INFO | Calling CACTI with cache_size=65536 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:59 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5oqqs28c +2024-05-29 16:49:59 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmps_at6l4h +2024-05-29 16:49:59 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:59 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5oqqs28c >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmps_at6l4h 2>&1 +2024-05-29 16:49:59 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:59 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO ENERGY ESTIMATION for intadder(n_bits=13, precision=13, width=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Aladdin_table estimated 0.0853125p with accuracy 70%. +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO ENERGY ESTIMATION for SRAM(width=256, depth=8192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO CactiSRAM estimated 6.23184e-15 with accuracy 80%. Messages: +2024-05-29 16:49:59 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:59 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:59 INFO | Calling CACTI with cache_size=262144 n_rw_ports=1 block_size=32 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:59 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpungfqvul +2024-05-29 16:49:59 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpd_xbpnhw +2024-05-29 16:49:59 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:59 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpungfqvul >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpd_xbpnhw 2>&1 +2024-05-29 16:49:59 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 16:49:59 INFO | Cache bandwidth: 74.20590980503556 bits/second +2024-05-29 16:49:59 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 3.44986 +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO ENERGY ESTIMATION for intadder(n_bits=13, precision=13, width=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Aladdin_table estimated 0.000934375p with accuracy 70%. Messages: +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO ENERGY ESTIMATION for SRAM(width=64, depth=8192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO CactiSRAM estimated 1.67027e-15 with accuracy 80%. Messages: +2024-05-29 16:50:00 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:50:00 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:50:00 INFO | Calling CACTI with cache_size=65536 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:50:00 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpsql4r6uo +2024-05-29 16:50:00 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpvftxbqkq +2024-05-29 16:50:00 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:50:00 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpsql4r6uo >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpvftxbqkq 2>&1 +2024-05-29 16:50:00 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:50:00 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:50:00 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 1.65095 +2024-05-29 16:50:00 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(n_bits=13, precision=13, width=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 0.000934375p with accuracy 70%. Messages: +2024-05-29 16:50:00 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:50:00 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:50:00 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:50:00 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:00 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:50:00 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=11, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:50:00 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:50:00 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:50:00 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:00 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:50:00 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(n_bits=11, precision=11, width=11, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 0.0721875p with accuracy 70%. +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:50:00 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:50:00 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:50:00 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:00 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:50:00 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=11, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:50:00 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:50:00 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:50:00 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:00 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:50:00 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(n_bits=11, precision=11, width=11, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 0.0721875p with accuracy 70%. +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:50:00 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:50:00 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:50:00 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:00 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:50:00 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:50:00 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=11, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:50:00 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:50:00 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:50:00 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:00 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:50:00 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:50:00 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(n_bits=11, precision=11, width=11, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 0.000790625p with accuracy 70%. Messages: +2024-05-29 16:50:00 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:50:00 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:50:00 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:50:00 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:00 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:50:00 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=11, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:50:00 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:50:00 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:50:00 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:00 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:50:00 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(n_bits=11, precision=11, width=11, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 0.0721875p with accuracy 70%. +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for SRAM(width=8, depth=1, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO CactiSRAM estimated 1.2444036715928991e-14 with accuracy 80%. Messages: +2024-05-29 16:50:00 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:50:00 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:50:00 INFO | Calling CACTI with cache_size=256 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:50:00 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpgo_4fo26 +2024-05-29 16:50:00 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3mqf2n_t +2024-05-29 16:50:00 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:50:00 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpgo_4fo26 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3mqf2n_t 2>&1 +2024-05-29 16:50:00 INFO | Cache bandwidth: 1.0 bits/cycle +2024-05-29 16:50:00 INFO | Cache bandwidth: 16.35530259354211 bits/second +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 0.0065625p with accuracy 70%. +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for SRAM(width=8, depth=1, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO CactiSRAM estimated 2.0478140963632353e-14 with accuracy 80%. Messages: +2024-05-29 16:50:00 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:50:00 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:50:00 INFO | Calling CACTI with cache_size=256 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:50:00 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp8prg4ait +2024-05-29 16:50:00 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpn9xnvudq +2024-05-29 16:50:00 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:50:00 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp8prg4ait >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpn9xnvudq 2>&1 +2024-05-29 16:50:00 INFO | Cache bandwidth: 1.0 bits/cycle +2024-05-29 16:50:00 INFO | Cache bandwidth: 16.35530259354211 bits/second +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 0.0065625p with accuracy 70%. +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for SRAM(width=8, depth=1, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO CactiSRAM estimated 2.0478140963632353e-14 with accuracy 80%. Messages: +2024-05-29 16:50:00 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:50:00 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:50:00 INFO | Calling CACTI with cache_size=256 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:50:00 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp80n65o0a +2024-05-29 16:50:00 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpj1spjwq7 +2024-05-29 16:50:00 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:50:00 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp80n65o0a >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpj1spjwq7 2>&1 +2024-05-29 16:50:00 INFO | Cache bandwidth: 1.0 bits/cycle +2024-05-29 16:50:00 INFO | Cache bandwidth: 16.35530259354211 bits/second +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 0.0065625p with accuracy 70%. +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for SRAM(width=8, depth=1, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO CactiSRAM estimated 1.2444036715928991e-14 with accuracy 80%. Messages: +2024-05-29 16:50:00 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:50:00 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:50:00 INFO | Calling CACTI with cache_size=256 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:50:00 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpa0trxn4a +2024-05-29 16:50:00 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbkw7tv6m +2024-05-29 16:50:00 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:50:00 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpa0trxn4a >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbkw7tv6m 2>&1 +2024-05-29 16:50:00 INFO | Cache bandwidth: 1.0 bits/cycle +2024-05-29 16:50:00 INFO | Cache bandwidth: 16.35530259354211 bits/second +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 0.0065625p with accuracy 70%. +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for SRAM(width=8, depth=1, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO CactiSRAM estimated 2.0478140963632353e-14 with accuracy 80%. Messages: +2024-05-29 16:50:00 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:50:00 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:50:00 INFO | Calling CACTI with cache_size=256 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:50:00 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpcypwp8er +2024-05-29 16:50:00 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpkjr39tc2 +2024-05-29 16:50:00 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:50:00 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpcypwp8er >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpkjr39tc2 2>&1 +2024-05-29 16:50:00 INFO | Cache bandwidth: 1.0 bits/cycle +2024-05-29 16:50:00 INFO | Cache bandwidth: 16.35530259354211 bits/second +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 0.0065625p with accuracy 70%. +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for SRAM(width=8, depth=1, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO CactiSRAM estimated 2.0478140963632353e-14 with accuracy 80%. Messages: +2024-05-29 16:50:00 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:50:00 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:50:00 INFO | Calling CACTI with cache_size=256 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:50:00 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3tivs70r +2024-05-29 16:50:00 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpm378fs1f +2024-05-29 16:50:00 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:50:00 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3tivs70r >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpm378fs1f 2>&1 +2024-05-29 16:50:00 INFO | Cache bandwidth: 1.0 bits/cycle +2024-05-29 16:50:00 INFO | Cache bandwidth: 16.35530259354211 bits/second +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 0.0065625p with accuracy 70%. +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for SRAM(width=8, depth=1, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO CactiSRAM estimated 4.5543359375000005e-20 with accuracy 80%. Messages: +2024-05-29 16:50:00 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:50:00 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:50:00 INFO | Calling CACTI with cache_size=256 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:50:00 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp94j0jxu0 +2024-05-29 16:50:00 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpmzi_odg4 +2024-05-29 16:50:00 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:50:00 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp94j0jxu0 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpmzi_odg4 2>&1 +2024-05-29 16:50:00 INFO | Cache bandwidth: 1.0 bits/cycle +2024-05-29 16:50:00 INFO | Cache bandwidth: 16.35530259354211 bits/second +2024-05-29 16:50:00 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.489138 +2024-05-29 16:50:00 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 7.1875e-05p with accuracy 70%. Messages: +2024-05-29 16:50:00 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for SRAM(width=8, depth=1, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO CactiSRAM estimated 4.5543359375000005e-20 with accuracy 80%. Messages: +2024-05-29 16:50:00 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:50:00 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:50:00 INFO | Calling CACTI with cache_size=256 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:50:00 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpxh25f4dg +2024-05-29 16:50:00 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp32xefthx +2024-05-29 16:50:00 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:50:00 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpxh25f4dg >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp32xefthx 2>&1 +2024-05-29 16:50:00 INFO | Cache bandwidth: 1.0 bits/cycle +2024-05-29 16:50:00 INFO | Cache bandwidth: 16.35530259354211 bits/second +2024-05-29 16:50:00 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.489138 +2024-05-29 16:50:00 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 7.1875e-05p with accuracy 70%. Messages: +2024-05-29 16:50:00 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:50:00 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:50:00 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:50:00 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | Scaling width from 32 to 16 +2024-05-29 16:50:00 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:00 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:50:00 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:50:00 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:50:00 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:50:00 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:50:00 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:00 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:50:00 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:50:00 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:50:00 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:50:00 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | Scaling width from 32 to 16 +2024-05-29 16:50:00 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:00 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:50:00 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:50:00 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:50:00 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:00 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:50:00 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:50:00 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:50:00 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:00 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:00 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:50:00 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:50:00 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:00 WARNING No action counts are specified as yaml input +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO AREA ESTIMATION for DRAM(type=LPDDR4, width=64, metadata_storage_width=64, datawidth=8, cluster_size=1, read_bandwidth=32, write_bandwidth=32, has_power_gating=False, n_banks=2, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:50:00 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:50:00 INFO | Unused arguments (metadata_storage_width, datawidth, cluster_size, read_bandwidth, write_bandwidth, has_power_gating, n_banks, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:50:00 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:50:00 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:50:00 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=4, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:50:00 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:50:00 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:00 INFO +2024-05-29 16:50:00 INFO AREA ESTIMATION for SRAM(width=256, depth=8192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:50:01 INFO CactiSRAM estimated 8.59765e-07 with accuracy 80%. Messages: +2024-05-29 16:50:01 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:50:01 INFO | Calling CACTI with cache_size=262144 n_rw_ports=1 block_size=32 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:50:01 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpn0yt0tfs +2024-05-29 16:50:01 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp2bv72sc9 +2024-05-29 16:50:01 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:50:01 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpn0yt0tfs >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp2bv72sc9 2>&1 +2024-05-29 16:50:01 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 16:50:01 INFO | Cache bandwidth: 74.20590980503556 bits/second +2024-05-29 16:50:01 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:01 INFO +2024-05-29 16:50:01 INFO AREA ESTIMATION for intadder(n_bits=13, precision=13, width=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:01 INFO Aladdin_table estimated 72.71875u^2 with accuracy 70%. Messages: +2024-05-29 16:50:01 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:01 INFO +2024-05-29 16:50:01 INFO AREA ESTIMATION for SRAM(width=64, depth=8192, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:50:01 INFO CactiSRAM estimated 2.09046e-07 with accuracy 80%. Messages: +2024-05-29 16:50:01 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:50:01 INFO | Calling CACTI with cache_size=65536 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:50:01 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpb17oqw8w +2024-05-29 16:50:01 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmphss5jmt7 +2024-05-29 16:50:01 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:50:01 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpb17oqw8w >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmphss5jmt7 2>&1 +2024-05-29 16:50:01 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:50:01 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:50:01 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:01 INFO +2024-05-29 16:50:01 INFO AREA ESTIMATION for intadder(n_bits=13, precision=13, width=13, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:01 INFO Aladdin_table estimated 72.71875u^2 with accuracy 70%. Messages: +2024-05-29 16:50:01 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:01 INFO +2024-05-29 16:50:01 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:50:01 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 16:50:01 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:01 INFO +2024-05-29 16:50:01 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:01 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:50:01 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:50:01 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:01 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:50:01 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:50:01 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:01 INFO +2024-05-29 16:50:01 INFO AREA ESTIMATION for aladdin_comparator(n_bits=11, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:01 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:50:01 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:50:01 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:01 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:50:01 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:50:01 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:01 INFO +2024-05-29 16:50:01 INFO AREA ESTIMATION for intadder(n_bits=11, precision=11, width=11, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:01 INFO Aladdin_table estimated 61.53125u^2 with accuracy 70%. Messages: +2024-05-29 16:50:01 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:01 INFO +2024-05-29 16:50:01 INFO AREA ESTIMATION for SRAM(width=8, depth=1, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:50:01 INFO CactiSRAM estimated 4.1225e-12 with accuracy 80%. Messages: +2024-05-29 16:50:01 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:50:01 INFO | Calling CACTI with cache_size=256 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:50:01 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp8a5mnr75 +2024-05-29 16:50:01 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpb0mo6exz +2024-05-29 16:50:01 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:50:01 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp8a5mnr75 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpb0mo6exz 2>&1 +2024-05-29 16:50:01 INFO | Cache bandwidth: 1.0 bits/cycle +2024-05-29 16:50:01 INFO | Cache bandwidth: 16.35530259354211 bits/second +2024-05-29 16:50:01 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:01 INFO +2024-05-29 16:50:01 INFO AREA ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:01 INFO Aladdin_table estimated 5.59375u^2 with accuracy 70%. Messages: +2024-05-29 16:50:01 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:01 INFO +2024-05-29 16:50:01 INFO AREA ESTIMATION for SRAM(width=8, depth=1, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:50:01 INFO CactiSRAM estimated 4.1225e-12 with accuracy 80%. Messages: +2024-05-29 16:50:01 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:50:01 INFO | Calling CACTI with cache_size=256 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:50:01 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpef7f8rka +2024-05-29 16:50:01 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpahq4mej3 +2024-05-29 16:50:01 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:50:01 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpef7f8rka >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpahq4mej3 2>&1 +2024-05-29 16:50:01 INFO | Cache bandwidth: 1.0 bits/cycle +2024-05-29 16:50:01 INFO | Cache bandwidth: 16.35530259354211 bits/second +2024-05-29 16:50:01 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:01 INFO +2024-05-29 16:50:01 INFO AREA ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:01 INFO Aladdin_table estimated 5.59375u^2 with accuracy 70%. Messages: +2024-05-29 16:50:01 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:01 INFO +2024-05-29 16:50:01 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:50:01 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 16:50:01 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:01 INFO +2024-05-29 16:50:01 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:01 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:50:01 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:50:01 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | Scaling width from 32 to 16 +2024-05-29 16:50:01 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:01 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:50:01 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:50:01 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:50:01 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:01 INFO +2024-05-29 16:50:01 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:50:01 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:50:01 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:50:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:50:01 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:50:01 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:50:01 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:50:01 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:50:01 INFO | Multiplying by n_instances 1 +2024-05-29 16:50:01 INFO flattened architecture is saved to: +2024-05-29 16:50:01 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:50:01 INFO energy reference table is saved to: +2024-05-29 16:50:01 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:50:01 INFO energy reference table summary is saved to: +2024-05-29 16:50:01 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:50:01 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:50:01 INFO area reference table is saved to: +2024-05-29 16:50:01 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:50:01 INFO area reference table summary is saved to: +2024-05-29 16:50:01 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..b3281c49 --- /dev/null +++ b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,204 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + metadata_storage_width: 64 + datawidth: 8 + cluster_size: 1 + read_bandwidth: 32 + write_bandwidth: 32 + has_power_gating: false + n_banks: 2 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - leak + - read + - write + enabled: true + - name: system_top_level.SMEM[1..1] + class: storage + subclass: smartbuffer_metadata + attributes: + depth: 8192 + width: 256 + n_banks: 2 + n_rdwr_ports: 2 + metadata_storage_depth: 8192 + metadata_storage_width: 64 + datawidth: 8 + cluster_size: 1 + read_bandwidth: 42 + write_bandwidth: 42 + has_power_gating: false + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + metadata_counter_width: 0 + required_actions: + - update + - leak + - read + - write + enabled: true + - name: system_top_level.inter_Subpartition_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.RF[1..4] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 2048 + width: 8 + n_banks: 16 + n_rdwr_ports: 2 + datawidth: 8 + cluster_size: 1 + has_power_gating: false + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 4 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 2048 + widthscale: 0.25 + depthscale: 1.0 + real_depth: 2048 + area_scale: 0.25 + dynamic_energy_scale: 0.25 + static_energy_scale: 0.25 + required_actions: + - update + - leak + - read + - write + enabled: true + - name: system_top_level.inter_PE_spatial[1..4] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 4 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.LRF[1..1024] + class: storage + subclass: smartbuffer_metadata + attributes: + depth: 1 + width: 8 + metadata_storage_depth: 1 + metadata_storage_width: 8 + datawidth: 8 + cluster_size: 1 + has_power_gating: false + n_banks: 2 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 64 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rdwr_ports: 1 + metadata_counter_width: 0 + required_actions: + - update + - leak + - read + - write + enabled: true + - name: system_top_level.mac[1..1024] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 16 + meshY: 64 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..ec3a8d54 --- /dev/null +++ b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,37 @@ +#error Tenssella does not support bypass. +t5 +M 1 N 1 K 1 +K +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t4 +M 1 N 1 K 1 +K +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +M 1 N 1 K 1 +K +s3 +M 4 N 1 K 1 +M +2 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +M 1 N 1 K 1 +K +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +M 1 N 1 K 1 +K +s1 +M 16 N 1 K 1 +M +2 +t0 +M 1 N 1 K 1 +K diff --git a/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/sparse_tensor_core_like/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/arch.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/arch.yaml new file mode 100644 index 00000000..e63fbc3d --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/arch.yaml @@ -0,0 +1,25 @@ +architecture: + version: 0.4 + nodes: # Top-level is hierarchical + - !Container # Top-level system + name: PE + attributes: # global attributes shared by entire subtree + technology: "45nm" + + - !Component + name: Buffer + class: storage # class is either "storage" or "compute" + subclass: regfile # detailed hardware implementation class + attributes: # attributes associated with the component + depth: 64 # number of entries in storage + width: 8 # number of bits for each entry + datawidth: 8 # number of bits per data + read_bandwidth: 3 + write_bandwidth: 1 + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/mapping.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/mapping.yaml new file mode 100644 index 00000000..9cf41254 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/mapping.yaml @@ -0,0 +1,5 @@ +mapping: + - target: Buffer # storage level in architecture + type: temporal # temporal tiling + factors: K=16 M=1 # loop bounds + permutation: KM # loop order: inner to outer \ No newline at end of file diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/problem.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/problem.yaml new file mode 100644 index 00000000..6603416c --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/problem.yaml @@ -0,0 +1,20 @@ +problem: # problem specification (Einsum based) + version: 0.4 + shape: + name: "dot-product-ABZ" + dimensions: [ K, M ] + data_spaces: # points to a list of "tensors" in this problem + - name: A # name of a tensor + projection: # which dimensions index nto the specific tensor + - [ [ K ] ] + - name: B + projection: + - [ [ K ] ] + - name: Z + projection: + - [ [ M ] ] + read_write: True # result tensor + + instance: # exact instance of the problem + M: 1 # Z only has one element + K: 16 \ No newline at end of file diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..11d2353f --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,489 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: PE_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: Buffer[1..1] + class: storage + subclass: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + read_bandwidth: 3 + write_bandwidth: 1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - update + - write + - leak + - read + enabled: true + - name: mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - target: Buffer + type: temporal + factors: K=16,M=1 + permutation: KM +problem: + version: '0.4' + shape: + name: "dot-product-ABZ" + dimensions: + - K + - M + data_spaces: + - name: A + projection: + - - - K + read_write: false + - name: B + projection: + - - - K + read_write: false + - name: Z + projection: + - - - M + read_write: true + coefficients: [] + instance: + M: 1 + K: 16 + densities: {} +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..7e4ba1cd --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,7 @@ +ART: + version: '0.4' + tables: + - name: PE_top_level.Buffer[1..1] + area: 7605.76 + - name: PE_top_level.mac[1..1] + area: 417.0 diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..e091e17a --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,17 @@ +ART_summary: + version: '0.4' + table_summary: + - name: PE_top_level.Buffer[1..1] + area: 7605.76 + primitive_estimations: + - name: storage[1..512] + estimator: Library + - name: comparator[1..64] + estimator: Library + - name: PE_top_level.mac[1..1] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..4137bd30 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,25 @@ +ERT: + version: '0.4' + tables: + - name: PE_top_level.Buffer[1..1] + actions: + - name: write + arguments: {} + energy: 1.88608 + - name: read + arguments: {} + energy: 1.95808 + - name: leak + arguments: {} + energy: 0.001606 + - name: update + arguments: {} + energy: 1.88608 + - name: PE_top_level.mac[1..1] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..7cfe4e56 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,31 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: PE_top_level.Buffer[1..1] + actions: + - name: write + energy: 1.88608 + - name: read + energy: 1.95808 + - name: leak + energy: 0.001606 + - name: update + energy: 1.88608 + primitive_estimation(s): + - name: storage[1..8] + estimator: Library + - name: comparator[1..64] + estimator: Library + - name: storage[1..512] + estimator: Library + - name: PE_top_level.mac[1..1] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..18dab251 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,272 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:56 INFO Getting all estimators in module +2024-05-29 16:49:56 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:56 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:56 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: Library () +2024-05-29 16:49:56 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 512. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage[1..512]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:56 INFO Calculated comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 8. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 8. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 512. +2024-05-29 16:49:56 INFO Calculated PE_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated PE_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 8. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 WARNING No action counts are specified as yaml input +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:56 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:56 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:56 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:56 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO flattened architecture is saved to: +2024-05-29 16:49:56 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:49:56 INFO energy reference table is saved to: +2024-05-29 16:49:56 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:49:56 INFO energy reference table summary is saved to: +2024-05-29 16:49:56 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:49:56 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:49:56 INFO area reference table is saved to: +2024-05-29 16:49:56 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:49:56 INFO area reference table summary is saved to: +2024-05-29 16:49:56 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..31546a71 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,52 @@ +architecture: + version: '0.4' + local: + - name: PE_top_level.Buffer[1..1] + class: storage + subclass: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + read_bandwidth: 3 + write_bandwidth: 1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - write + - leak + - read + enabled: true + - name: PE_top_level.mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..5fc81396 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,3 @@ +t0 +K 16 M 1 +K diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/arch.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/arch.yaml new file mode 100644 index 00000000..9da828ef --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/arch.yaml @@ -0,0 +1,34 @@ +architecture: + version: 0.4 + nodes: # Top-level is hierarchical + - !Container # Top-level system + name: PE + attributes: # global attributes shared by entire subtree + technology: "45nm" + + - !Component + name: Buffer + class: storage # class is either "storage" or "compute" + subclass: regfile # detailed hardware implementation class + attributes: # attributes associated with the component + depth: 64 # number of entries in storage + width: 8 # number of bits for each entry + datawidth: 8 # number of bits per data + read_bandwidth: 3 + write_bandwidth: 1 + sparse_optimizations: + action_optimization: # keyword for *explicit* storage level optimization + - type: gating # optimization type: either "gating" or "skipping" + options: + - target: B # the tensor to perform gating on + condition_on: [ A ] # the tensor that the optimization is based on + - type: gating + options: + - target: Z + condition_on: [ A ] + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/mapping.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/mapping.yaml new file mode 100644 index 00000000..9cf41254 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/mapping.yaml @@ -0,0 +1,5 @@ +mapping: + - target: Buffer # storage level in architecture + type: temporal # temporal tiling + factors: K=16 M=1 # loop bounds + permutation: KM # loop order: inner to outer \ No newline at end of file diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/problem.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/problem.yaml new file mode 100644 index 00000000..e89c2543 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/problem.yaml @@ -0,0 +1,25 @@ +problem: + version: 0.4 + shape: + name: DotProduct + dimensions: [ K, M ] + data_spaces: + - name: A + projection: + - [ [K] ] + - name: B + projection: + - [ [K] ] + - name: Z + projection: + - [ [M] ] + read_write: True + + instance: + M: 1 + K: 16 + + densities: + A: + distribution: fixed_structured # sparsity distribution name + density: 0.25 \ No newline at end of file diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..9d0a2c5c --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,508 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: PE_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: Buffer[1..1] + class: storage + subclass: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + read_bandwidth: 3 + write_bandwidth: 1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - leak + - read + - update + - write + enabled: true + - name: mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - target: Buffer + type: temporal + factors: K=16,M=1 + permutation: KM +problem: + version: '0.4' + shape: + name: DotProduct + dimensions: + - K + - M + data_spaces: + - name: A + projection: + - - - K + read_write: false + - name: B + projection: + - - - K + read_write: false + - name: Z + projection: + - - - M + read_write: true + coefficients: [] + instance: + M: 1 + K: 16 + densities: + A: + distribution: fixed_structured + density: 0.25 + band_width: 0 + workload_tensor_size: 0 +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +sparse_optimizations: + targets: + - action_optimization: + - type: gating + options: + - target: B + condition_on: + - A + - type: gating + options: + - target: Z + condition_on: + - A + name: Buffer +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..7e4ba1cd --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,7 @@ +ART: + version: '0.4' + tables: + - name: PE_top_level.Buffer[1..1] + area: 7605.76 + - name: PE_top_level.mac[1..1] + area: 417.0 diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..e091e17a --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,17 @@ +ART_summary: + version: '0.4' + table_summary: + - name: PE_top_level.Buffer[1..1] + area: 7605.76 + primitive_estimations: + - name: storage[1..512] + estimator: Library + - name: comparator[1..64] + estimator: Library + - name: PE_top_level.mac[1..1] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..4137bd30 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,25 @@ +ERT: + version: '0.4' + tables: + - name: PE_top_level.Buffer[1..1] + actions: + - name: write + arguments: {} + energy: 1.88608 + - name: read + arguments: {} + energy: 1.95808 + - name: leak + arguments: {} + energy: 0.001606 + - name: update + arguments: {} + energy: 1.88608 + - name: PE_top_level.mac[1..1] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..7cfe4e56 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,31 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: PE_top_level.Buffer[1..1] + actions: + - name: write + energy: 1.88608 + - name: read + energy: 1.95808 + - name: leak + energy: 0.001606 + - name: update + energy: 1.88608 + primitive_estimation(s): + - name: storage[1..8] + estimator: Library + - name: comparator[1..64] + estimator: Library + - name: storage[1..512] + estimator: Library + - name: PE_top_level.mac[1..1] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..bfb55e4c --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,272 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:56 INFO Getting all estimators in module +2024-05-29 16:49:56 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:56 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:56 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: Library () +2024-05-29 16:49:56 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 512. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage[1..512]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:56 INFO Calculated comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 8. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 8. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 512. +2024-05-29 16:49:56 INFO Calculated PE_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated PE_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 8. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 WARNING No action counts are specified as yaml input +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:56 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:56 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:56 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:56 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO flattened architecture is saved to: +2024-05-29 16:49:56 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:49:56 INFO energy reference table is saved to: +2024-05-29 16:49:56 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:49:56 INFO energy reference table summary is saved to: +2024-05-29 16:49:56 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:49:56 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:49:56 INFO area reference table is saved to: +2024-05-29 16:49:56 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:49:56 INFO area reference table summary is saved to: +2024-05-29 16:49:56 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..b0c64e1f --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,52 @@ +architecture: + version: '0.4' + local: + - name: PE_top_level.Buffer[1..1] + class: storage + subclass: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + read_bandwidth: 3 + write_bandwidth: 1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - read + - update + - write + enabled: true + - name: PE_top_level.mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..5fc81396 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,3 @@ +t0 +K 16 M 1 +K diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/arch.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/arch.yaml new file mode 100644 index 00000000..713084c1 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/arch.yaml @@ -0,0 +1,46 @@ + +architecture: + version: 0.4 + nodes: # Top-level is hierarchical + - !Container # Top-level system + name: PE + attributes: # global attributes shared by entire subtree + technology: "45nm" + + - !Component + name: Buffer + class: storage # class is either "storage" or "compute" + subclass: regfile_metadata # compound component with separate data and metadata storages + # definition found in ../components/refile_metadata.yaml + attributes: + depth: 64 # depth of the data storage only + width: 8 # width of the data storage only + datawidth: 8 # actual data's datawidth + metadata_storage_depth: 32 # depth of the metadata storage only + metadata_storage_width: 4 # width of the metadata storage only + metadata_datawidth: 4 # metadata's datawidth (can be different from datawidth) + read_bandwidth: 4 + write_bandwidth: 3 + sparse_optimizations: + representation_format: # key word for "format" optimization + # causes the empty element accesses to be eliminated + data_spaces: + - name: A # tensor name + ranks: # points to a list of ranks in fibertree representation + - format: CP # coordinate payload representation format + # options: CP, UB, RLE, UOP (i.e., CSR upper rank) + action_optimization: # keyword for *explicit* storage level optimization + - type: skipping # optimization type: either "gating" or "skipping" + options: + - target: B # the tensor to perform optimization on + condition_on: [ A ] # the tensor that the optimization is based on + - type: skipping + options: + - target: Z + condition_on: [ A ] + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/mapping.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/mapping.yaml new file mode 100644 index 00000000..9cf41254 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/mapping.yaml @@ -0,0 +1,5 @@ +mapping: + - target: Buffer # storage level in architecture + type: temporal # temporal tiling + factors: K=16 M=1 # loop bounds + permutation: KM # loop order: inner to outer \ No newline at end of file diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/problem.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/problem.yaml new file mode 100644 index 00000000..e89c2543 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/problem.yaml @@ -0,0 +1,25 @@ +problem: + version: 0.4 + shape: + name: DotProduct + dimensions: [ K, M ] + data_spaces: + - name: A + projection: + - [ [K] ] + - name: B + projection: + - [ [K] ] + - name: Z + projection: + - [ [M] ] + read_write: True + + instance: + M: 1 + K: 16 + + densities: + A: + distribution: fixed_structured # sparsity distribution name + density: 0.25 \ No newline at end of file diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..0c4d3302 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,516 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: PE_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: Buffer[1..1] + class: storage + subclass: regfile_metadata + attributes: + depth: 64 + width: 8 + datawidth: 8 + metadata_storage_depth: 32 + metadata_storage_width: 4 + metadata_datawidth: 4 + read_bandwidth: 4 + write_bandwidth: 3 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - leak + - read + - write + - update + enabled: true + - name: mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - target: Buffer + type: temporal + factors: K=16,M=1 + permutation: KM +problem: + version: '0.4' + shape: + name: DotProduct + dimensions: + - K + - M + data_spaces: + - name: A + projection: + - - - K + read_write: false + - name: B + projection: + - - - K + read_write: false + - name: Z + projection: + - - - M + read_write: true + coefficients: [] + instance: + M: 1 + K: 16 + densities: + A: + distribution: fixed_structured + density: 0.25 + band_width: 0 + workload_tensor_size: 0 +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +sparse_optimizations: + targets: + - representation_format: + data_spaces: + - name: A + ranks: + - format: CP + action_optimization: + - type: skipping + options: + - target: B + condition_on: + - A + - type: skipping + options: + - target: Z + condition_on: + - A + name: Buffer +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..d583fc8b --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,7 @@ +ART: + version: '0.4' + tables: + - name: PE_top_level.Buffer[1..1] + area: 5370.2625 + - name: PE_top_level.mac[1..1] + area: 417.0 diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..6fb42fa8 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,27 @@ +ART_summary: + version: '0.4' + table_summary: + - name: PE_top_level.Buffer[1..1] + area: 5370.2625 + primitive_estimations: + - name: storage.storage.storage[1..2048] + estimator: Library + - name: storage.storage.comparator[1..64] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..2048] + estimator: Library + - name: metadata_storage.storage.comparator[1..64] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: PE_top_level.mac[1..1] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..075f6a7f --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,40 @@ +ERT: + version: '0.4' + tables: + - name: PE_top_level.Buffer[1..1] + actions: + - name: read + arguments: {} + energy: 0.582895 + - name: write + arguments: {} + energy: 0.510895 + - name: update + arguments: {} + energy: 0.510895 + - name: metadata_read + arguments: {} + energy: 0.191076 + - name: metadata_write + arguments: {} + energy: 0.170111 + - name: metadata_update + arguments: {} + energy: 0.170111 + - name: leak + arguments: {} + energy: 0.002083 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: PE_top_level.mac[1..1] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..9f120612 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,63 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: PE_top_level.Buffer[1..1] + actions: + - name: read + energy: 0.582895 + - name: write + energy: 0.510895 + - name: update + energy: 0.510895 + - name: metadata_read + energy: 0.191076 + - name: metadata_write + energy: 0.170111 + - name: metadata_update + energy: 0.170111 + - name: leak + energy: 0.002083 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage.storage[1..32] + estimator: Library + - name: storage.storage.comparator[1..64] + estimator: Library + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..32] + estimator: Library + - name: metadata_storage.storage.comparator[1..64] + estimator: Library + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.storage.storage[1..2048] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..2048] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: PE_top_level.mac[1..1] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..b68b30c8 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,500 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:56 INFO Getting all estimators in module +2024-05-29 16:49:56 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:56 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:56 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: Library () +2024-05-29 16:49:56 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 8. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage."memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated storage."memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:56 INFO Calculated storage."widthscale" as "width / memory_width" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:56 INFO Calculated storage."real_depth" as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage."area_scale" as "widthscale * depthscale" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."static_energy_scale" as "area_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage.storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated storage.storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.storage.area_scale as "area_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage.storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:56 INFO Calculated storage.storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 32. +2024-05-29 16:49:56 INFO Calculated metadata_storage."memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated metadata_storage."memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage."widthscale" as "width / memory_width" = 0.125. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depthscale" as "depth / memory_depth" = 0.5. +2024-05-29 16:49:56 INFO Calculated metadata_storage."real_depth" as "depth" = 32. +2024-05-29 16:49:56 INFO Calculated metadata_storage."area_scale" as "widthscale * depthscale" = 0.0625. +2024-05-29 16:49:56 INFO Calculated metadata_storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.07279584915427849. +2024-05-29 16:49:56 INFO Calculated metadata_storage."static_energy_scale" as "area_scale" = 0.0625. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.area_scale as "area_scale" = 0.0625. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 5. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 5. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 5. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.07279584915427849. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.07279584915427849. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.07279584915427849. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated PE_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated PE_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated PE_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated PE_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.0625. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated PE_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated PE_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=5, precision=5, width=5, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0328125p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=5, precision=5, width=5, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0328125p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=5, precision=5, width=5, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0328125p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.00043125p with accuracy 70%. Messages: +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=5, precision=5, width=5, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.000359375p with accuracy 70%. Messages: +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:56 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:56 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 WARNING No action counts are specified as yaml input +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:56 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:56 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 33.5625u^2 with accuracy 70%. Messages: +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:56 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:56 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for intadder(n_bits=5, precision=5, width=5, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 27.96875u^2 with accuracy 70%. Messages: +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:56 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:56 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:56 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:56 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:49:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:56 INFO flattened architecture is saved to: +2024-05-29 16:49:56 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:49:56 INFO energy reference table is saved to: +2024-05-29 16:49:56 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:49:56 INFO energy reference table summary is saved to: +2024-05-29 16:49:56 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:49:56 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:49:56 INFO area reference table is saved to: +2024-05-29 16:49:56 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:49:56 INFO area reference table summary is saved to: +2024-05-29 16:49:56 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..3b7de2a8 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,56 @@ +architecture: + version: '0.4' + local: + - name: PE_top_level.Buffer[1..1] + class: storage + subclass: regfile_metadata + attributes: + depth: 64 + width: 8 + datawidth: 8 + metadata_storage_depth: 32 + metadata_storage_width: 4 + metadata_datawidth: 4 + read_bandwidth: 4 + write_bandwidth: 3 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + metadata_counter_width: 0 + required_actions: + - leak + - read + - write + - update + enabled: true + - name: PE_top_level.mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..5fc81396 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,3 @@ +t0 +K 16 M 1 +K diff --git a/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/arch.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/arch.yaml new file mode 100644 index 00000000..1cc9051f --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/arch.yaml @@ -0,0 +1,78 @@ +architecture: + version: 0.4 + nodes: # Top-level is hierarchical + - !Container # Top-level system + name: system + attributes: + technology: "45nm" + + - !Component + name: BackingStorage # storage component + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + sparse_optimizations: + representation_format: + data_spaces: + - name: A + ranks: + - format: UOP + - format: CP + - name: B + ranks: + - format: UOP + - format: CP + + - !Container + name: PE + + - !Component + name: Buffer # storage component + class: storage + subclass: regfile_metadata + attributes: + depth: 128 + width: 8 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + read_bandwidth: 5 + write_bandwidth: 5 + sparse_optimizations: + representation_format: + data_spaces: + - name: B + ranks: + - format: UOP # uncompressed offset pair + - format: CP # coordinate payload + - name: A + ranks: + - format: UOP # uncompressed offset pair + - format: CP # coordinate payload + + action_optimization: + - type: skipping + options: + - target: A + condition_on: [ B ] + - type: skipping + options: + - target: B + condition_on: [ A ] + - type: skipping + options: + - target: Z + condition_on: [ A, B ] + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/mapping.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/mapping.yaml new file mode 100644 index 00000000..be69917a --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/mapping.yaml @@ -0,0 +1,10 @@ +mapping: + - target: BackingStorage # storage level in architecture + type: temporal # temporal tiling + factors: K=1 M=1 N=1 # loop bounds + permutation: NKM # loop order: inner to outer->A stationary + + - target: Buffer + type: temporal + factors: K=8 M=8 N=8 + permutation: NKM diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..bb0d7eae --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,578 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: BackingStorage[1..1] + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - read + - write + - update + - leak + enabled: true + - name: Buffer[1..1] + class: storage + subclass: regfile_metadata + attributes: + depth: 128 + width: 8 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + read_bandwidth: 5 + write_bandwidth: 5 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - read + - write + - update + - leak + enabled: true + - name: mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - target: BackingStorage + type: temporal + factors: K=1,M=1,N=1 + permutation: NKM + - target: Buffer + type: temporal + factors: K=8,M=8,N=8 + permutation: NKM +problem: + version: '0.4' + shape: + name: MatrixMultiply + dimensions: + - M + - N + - K + data_spaces: + - name: A + projection: + - - - M + - - - K + read_write: false + - name: B + projection: + - - - N + - - - K + read_write: false + - name: Z + projection: + - - - M + - - - N + read_write: true + coefficients: [] + instance: + M: 8 + K: 8 + N: 8 + densities: + A: + distribution: fixed_structured + density: 0.25 + band_width: 0 + workload_tensor_size: 0 + B: + distribution: fixed_structured + density: 0.5 + band_width: 0 + workload_tensor_size: 0 +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +sparse_optimizations: + targets: + - representation_format: + data_spaces: + - name: A + ranks: + - format: UOP + - format: CP + - name: B + ranks: + - format: UOP + - format: CP + name: BackingStorage + - representation_format: + data_spaces: + - name: B + ranks: + - format: UOP + - format: CP + - name: A + ranks: + - format: UOP + - format: CP + action_optimization: + - type: skipping + options: + - target: A + condition_on: + - B + - type: skipping + options: + - target: B + condition_on: + - A + - type: skipping + options: + - target: Z + condition_on: + - A + - B + name: Buffer +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..3ac2d85d --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,9 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.BackingStorage[1..1] + area: 7635.82 + - name: system_top_level.Buffer[1..1] + area: 12749.905 + - name: system_top_level.mac[1..1] + area: 417.0 diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..4da0a979 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,40 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.BackingStorage[1..1] + area: 7635.82 + primitive_estimations: + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.Buffer[1..1] + area: 12749.905 + primitive_estimations: + - name: storage.storage.storage[1..4096] + estimator: Library + - name: storage.storage.comparator[1..128] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..4096] + estimator: Library + - name: metadata_storage.storage.comparator[1..128] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.mac[1..1] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..4a60a9a4 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,69 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.BackingStorage[1..1] + actions: + - name: read + arguments: {} + energy: 2.290882 + - name: write + arguments: {} + energy: 2.694173 + - name: update + arguments: {} + energy: 2.694173 + - name: metadata_read + arguments: {} + energy: 0.373885 + - name: metadata_write + arguments: {} + energy: 0.726887 + - name: metadata_update + arguments: {} + energy: 0.726887 + - name: leak + arguments: {} + energy: 0.002378 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.Buffer[1..1] + actions: + - name: read + arguments: {} + energy: 1.060977 + - name: write + arguments: {} + energy: 0.988977 + - name: update + arguments: {} + energy: 0.988977 + - name: metadata_read + arguments: {} + energy: 0.553457 + - name: metadata_write + arguments: {} + energy: 0.517458 + - name: metadata_update + arguments: {} + energy: 0.517458 + - name: leak + arguments: {} + energy: 0.003217 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.mac[1..1] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..26ae3a6f --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,104 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.BackingStorage[1..1] + actions: + - name: read + energy: 2.290882 + - name: write + energy: 2.694173 + - name: update + energy: 2.694173 + - name: metadata_read + energy: 0.373885 + - name: metadata_write + energy: 0.726887 + - name: metadata_update + energy: 0.726887 + - name: leak + energy: 0.002378 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.Buffer[1..1] + actions: + - name: read + energy: 1.060977 + - name: write + energy: 0.988977 + - name: update + energy: 0.988977 + - name: metadata_read + energy: 0.553457 + - name: metadata_write + energy: 0.517458 + - name: metadata_update + energy: 0.517458 + - name: leak + energy: 0.003217 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage.storage[1..32] + estimator: Library + - name: storage.storage.comparator[1..128] + estimator: Library + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..32] + estimator: Library + - name: metadata_storage.storage.comparator[1..128] + estimator: Library + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.storage.storage[1..4096] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..4096] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.mac[1..1] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..27541c73 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,698 @@ +2024-05-29 17:03:16 INFO _ _ +2024-05-29 17:03:16 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 17:03:16 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 17:03:16 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 17:03:16 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 17:03:16 INFO |___/ |___/ +2024-05-29 17:03:16 INFO generating outputs according to the following specified output flags... +2024-05-29 17:03:16 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 17:03:16 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 17:03:16 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 17:03:16 INFO config file located: +2024-05-29 17:03:16 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 17:03:16 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 17:03:16 WARNING Please update the file to the latest version. +2024-05-29 17:03:16 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 17:03:16 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 17:03:16 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 17:03:16 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 17:03:16 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 17:03:16 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 17:03:16 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 17:03:16 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 17:03:16 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 17:03:16 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 17:03:17 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 17:03:17 INFO Getting all estimators in module +2024-05-29 17:03:17 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 17:03:17 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 17:03:17 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 17:03:17 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 17:03:17 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 17:03:17 INFO Found estimator plug-in: dummy_table () +2024-05-29 17:03:17 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 17:03:17 INFO Found estimator plug-in: Library () +2024-05-29 17:03:17 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 17:03:17 INFO Found estimator plug-in: CactiCache () +2024-05-29 17:03:17 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 17:03:17 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 17:03:17 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 17:03:17 INFO Calculated storage."width" as "width" = 32. +2024-05-29 17:03:17 INFO Calculated storage."depth" as "depth" = 512. +2024-05-29 17:03:17 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 17:03:17 INFO Calculated storage.storage."width" as "width" = 32. +2024-05-29 17:03:17 INFO Calculated storage.storage."depth" as "depth" = 512. +2024-05-29 17:03:17 INFO Calculated storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 17:03:17 INFO Calculated storage.storage."technology" as "technology" = 45nm. +2024-05-29 17:03:17 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 17:03:17 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 17:03:17 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 17:03:17 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 17:03:17 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 4. +2024-05-29 17:03:17 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 128. +2024-05-29 17:03:17 INFO Calculated metadata_storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 17:03:17 INFO Calculated metadata_storage.storage."width" as "width" = 4. +2024-05-29 17:03:17 INFO Calculated metadata_storage.storage."depth" as "depth" = 128. +2024-05-29 17:03:17 INFO Calculated metadata_storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 17:03:17 INFO Calculated metadata_storage.storage."technology" as "technology" = 45nm. +2024-05-29 17:03:17 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 17:03:17 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 17:03:17 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 17:03:17 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 17:03:17 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 17:03:17 INFO Calculated system_top_level.BackingStorage[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated system_top_level.BackingStorage[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated storage."width" as "width" = 8. +2024-05-29 17:03:17 INFO Calculated storage."depth" as "depth" = 128. +2024-05-29 17:03:17 INFO Calculated storage."memory_width" as "max(32, width)" = 32. +2024-05-29 17:03:17 INFO Calculated storage."memory_depth" as "max(64, depth)" = 128. +2024-05-29 17:03:17 INFO Calculated storage."widthscale" as "width / memory_width" = 0.25. +2024-05-29 17:03:17 INFO Calculated storage."depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 17:03:17 INFO Calculated storage."real_depth" as "depth" = 128. +2024-05-29 17:03:17 INFO Calculated storage."area_scale" as "widthscale * depthscale" = 0.25. +2024-05-29 17:03:17 INFO Calculated storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.25. +2024-05-29 17:03:17 INFO Calculated storage."static_energy_scale" as "area_scale" = 0.25. +2024-05-29 17:03:17 INFO Calculated storage.storage."width" as "memory_width" = 32. +2024-05-29 17:03:17 INFO Calculated storage.storage."depth" as "memory_depth" = 128. +2024-05-29 17:03:17 INFO Calculated storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 17:03:17 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated storage.storage.area_scale as "area_scale" = 0.25. +2024-05-29 17:03:17 INFO Calculated list index expression as "width*depth" = 4096. +2024-05-29 17:03:17 INFO Calculated list index expression as "depth" = 128. +2024-05-29 17:03:17 INFO Calculated storage.storage.storage[1..4096]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated storage.storage.comparator[1..128]."n_bits" as "max(1, ceil(log2(depth)))" = 7. +2024-05-29 17:03:17 INFO Calculated storage.storage.comparator[1..128]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 17:03:17 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 17:03:17 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 17:03:17 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 17:03:17 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 4. +2024-05-29 17:03:17 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 128. +2024-05-29 17:03:17 INFO Calculated metadata_storage."memory_width" as "max(32, width)" = 32. +2024-05-29 17:03:17 INFO Calculated metadata_storage."memory_depth" as "max(64, depth)" = 128. +2024-05-29 17:03:17 INFO Calculated metadata_storage."widthscale" as "width / memory_width" = 0.125. +2024-05-29 17:03:17 INFO Calculated metadata_storage."depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 17:03:17 INFO Calculated metadata_storage."real_depth" as "depth" = 128. +2024-05-29 17:03:17 INFO Calculated metadata_storage."area_scale" as "widthscale * depthscale" = 0.125. +2024-05-29 17:03:17 INFO Calculated metadata_storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.125. +2024-05-29 17:03:17 INFO Calculated metadata_storage."static_energy_scale" as "area_scale" = 0.125. +2024-05-29 17:03:17 INFO Calculated metadata_storage.storage."width" as "memory_width" = 32. +2024-05-29 17:03:17 INFO Calculated metadata_storage.storage."depth" as "memory_depth" = 128. +2024-05-29 17:03:17 INFO Calculated metadata_storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 17:03:17 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated metadata_storage.storage.area_scale as "area_scale" = 0.125. +2024-05-29 17:03:17 INFO Calculated list index expression as "width*depth" = 4096. +2024-05-29 17:03:17 INFO Calculated list index expression as "depth" = 128. +2024-05-29 17:03:17 INFO Calculated metadata_storage.storage.storage[1..4096]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated metadata_storage.storage.comparator[1..128]."n_bits" as "max(1, ceil(log2(depth)))" = 7. +2024-05-29 17:03:17 INFO Calculated metadata_storage.storage.comparator[1..128]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 17:03:17 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 17:03:17 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 17:03:17 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 17:03:17 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 17:03:17 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 17:03:17 INFO Calculated list index expression as "width" = 32. +2024-05-29 17:03:17 INFO Calculated list index expression as "depth" = 128. +2024-05-29 17:03:17 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 17:03:17 INFO Calculated list index expression as "width" = 32. +2024-05-29 17:03:17 INFO Calculated list index expression as "depth" = 128. +2024-05-29 17:03:17 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 17:03:17 INFO Calculated list index expression as "width" = 32. +2024-05-29 17:03:17 INFO Calculated list index expression as "depth" = 128. +2024-05-29 17:03:17 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.125. +2024-05-29 17:03:17 INFO Calculated list index expression as "width" = 32. +2024-05-29 17:03:17 INFO Calculated list index expression as "depth" = 128. +2024-05-29 17:03:17 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.125. +2024-05-29 17:03:17 INFO Calculated list index expression as "width" = 32. +2024-05-29 17:03:17 INFO Calculated list index expression as "depth" = 128. +2024-05-29 17:03:17 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.125. +2024-05-29 17:03:17 INFO Calculated list index expression as "width" = 32. +2024-05-29 17:03:17 INFO Calculated list index expression as "depth" = 128. +2024-05-29 17:03:17 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.25. +2024-05-29 17:03:17 INFO Calculated list index expression as "width*depth" = 4096. +2024-05-29 17:03:17 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated list index expression as "depth" = 128. +2024-05-29 17:03:17 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.125. +2024-05-29 17:03:17 INFO Calculated list index expression as "width*depth" = 4096. +2024-05-29 17:03:17 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated list index expression as "depth" = 128. +2024-05-29 17:03:17 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:17 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 17:03:17 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 17:03:17 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO CactiSRAM estimated 2.23182e-12 with accuracy 80%. Messages: +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 17:03:17 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:17 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp0l866fm5 +2024-05-29 17:03:17 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp735r488k +2024-05-29 17:03:17 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:17 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp0l866fm5 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp735r488k 2>&1 +2024-05-29 17:03:17 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 17:03:17 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO CactiSRAM estimated 2.63511e-12 with accuracy 80%. Messages: +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 17:03:17 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:17 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpufg9ehwp +2024-05-29 17:03:17 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp78qdsr6t +2024-05-29 17:03:17 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:17 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpufg9ehwp >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp78qdsr6t 2>&1 +2024-05-29 17:03:17 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 17:03:17 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO CactiSRAM estimated 2.63511e-12 with accuracy 80%. Messages: +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 17:03:17 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:17 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpkal9mkpa +2024-05-29 17:03:17 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpmwjzks8b +2024-05-29 17:03:17 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:17 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpkal9mkpa >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpmwjzks8b 2>&1 +2024-05-29 17:03:17 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 17:03:17 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO CactiSRAM estimated 3.2794744999999997e-13 with accuracy 80%. Messages: +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 17:03:17 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:17 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpm9yfzfsv +2024-05-29 17:03:17 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpyf8bf544 +2024-05-29 17:03:17 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:17 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpm9yfzfsv >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpyf8bf544 2>&1 +2024-05-29 17:03:17 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 17:03:17 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO CactiSRAM estimated 6.80949875e-13 with accuracy 80%. Messages: +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 17:03:17 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:17 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpi9sks92a +2024-05-29 17:03:17 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpo8x2z56o +2024-05-29 17:03:17 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:17 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpi9sks92a >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpo8x2z56o 2>&1 +2024-05-29 17:03:17 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 17:03:17 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO CactiSRAM estimated 6.80949875e-13 with accuracy 80%. Messages: +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 17:03:17 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:17 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbnphddsm +2024-05-29 17:03:17 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpv1vdn362 +2024-05-29 17:03:17 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:17 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbnphddsm >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpv1vdn362 2>&1 +2024-05-29 17:03:17 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 17:03:17 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO CactiSRAM estimated 7.52517e-17 with accuracy 80%. Messages: +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:17 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 17:03:17 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:17 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpx8q3i7z1 +2024-05-29 17:03:17 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3ljoeoql +2024-05-29 17:03:17 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:17 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpx8q3i7z1 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3ljoeoql 2>&1 +2024-05-29 17:03:17 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 17:03:17 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 17:03:17 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.666428 +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.000646875p with accuracy 70%. Messages: +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO CactiSRAM estimated 2.7429875e-18 with accuracy 80%. Messages: +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:17 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 17:03:17 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:17 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpp0jrumv8 +2024-05-29 17:03:17 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjf3sllwd +2024-05-29 17:03:17 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:17 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpp0jrumv8 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjf3sllwd 2>&1 +2024-05-29 17:03:17 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 17:03:17 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 17:03:17 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.547708 +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.000503125p with accuracy 70%. Messages: +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:17 INFO | aladdin_register energy has been scaled 1x +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:17 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:17 INFO | aladdin_register energy has been scaled 1x +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:17 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:17 INFO | aladdin_register energy has been scaled 1x +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:17 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:17 INFO | aladdin_register energy has been scaled 1x +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:17 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:17 INFO | aladdin_register energy has been scaled 1x +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:17 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:17 INFO | aladdin_register energy has been scaled 1x +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:17 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 17:03:17 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 17:03:17 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.000503125p with accuracy 70%. Messages: +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 17:03:17 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 17:03:17 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.000503125p with accuracy 70%. Messages: +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling width from 32 to 16 +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 17:03:17 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:17 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:17 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling width from 32 to 16 +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 17:03:17 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 17:03:17 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 17:03:17 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 WARNING No action counts are specified as yaml input +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO AREA ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 17:03:17 INFO CactiSRAM estimated 7.22007e-09 with accuracy 80%. Messages: +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:17 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:17 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppw8hpb8p +2024-05-29 17:03:17 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpvym53_mb +2024-05-29 17:03:17 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:17 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppw8hpb8p >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpvym53_mb 2>&1 +2024-05-29 17:03:17 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 17:03:17 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO AREA ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 50.34375u^2 with accuracy 70%. Messages: +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO AREA ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 17:03:17 INFO CactiSRAM estimated 2.3675e-10 with accuracy 80%. Messages: +2024-05-29 17:03:17 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:17 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:17 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpqv1nkwba +2024-05-29 17:03:17 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp721h7l5a +2024-05-29 17:03:17 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:17 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpqv1nkwba >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp721h7l5a 2>&1 +2024-05-29 17:03:17 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 17:03:17 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO AREA ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 39.15625u^2 with accuracy 70%. Messages: +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 4 entries for aladdin_register. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:17 INFO | aladdin_register area has been scaled 1x +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO AREA ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:17 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO AREA ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 39.15625u^2 with accuracy 70%. Messages: +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 4 entries for aladdin_register. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:17 INFO | aladdin_register area has been scaled 1x +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO AREA ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:17 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO AREA ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 39.15625u^2 with accuracy 70%. Messages: +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 17:03:17 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 5 entries for aladdin_adder. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling width from 32 to 16 +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 17:03:17 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:17 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO +2024-05-29 17:03:17 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:17 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 17:03:17 INFO | Found 5 entries for aladdin_adder. +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 17:03:17 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:17 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:17 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:17 INFO | aladdin_adder area has been scaled 1x +2024-05-29 17:03:17 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:17 INFO flattened architecture is saved to: +2024-05-29 17:03:17 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 17:03:17 INFO energy reference table is saved to: +2024-05-29 17:03:17 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 17:03:17 INFO energy reference table summary is saved to: +2024-05-29 17:03:17 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 17:03:17 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 17:03:17 INFO area reference table is saved to: +2024-05-29 17:03:17 INFO ./timeloop-mapper.ART.yaml +2024-05-29 17:03:17 INFO area reference table summary is saved to: +2024-05-29 17:03:17 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..1b8e35e7 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,89 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.BackingStorage[1..1] + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rdwr_ports: 1 + metadata_counter_width: 0 + required_actions: + - read + - write + - update + - leak + enabled: true + - name: system_top_level.Buffer[1..1] + class: storage + subclass: regfile_metadata + attributes: + depth: 128 + width: 8 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + read_bandwidth: 5 + write_bandwidth: 5 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + metadata_counter_width: 0 + required_actions: + - read + - write + - update + - leak + enabled: true + - name: system_top_level.mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..bc13fd7b --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,7 @@ +#error Tenssella does not support bypass. +t1 +M 1 N 1 K 1 +K +t0 +M 8 N 8 K 8 +MNK diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/problem.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/problem.yaml new file mode 100644 index 00000000..9565e827 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/problem.yaml @@ -0,0 +1,33 @@ +problem: + version: 0.4 + shape: + name: MatrixMultiply + dimensions: [ M, N, K ] + data_spaces: + - name: A + projection: + - [ [ M ] ] + - [ [ K ] ] + + - name: B + projection: + - [ [ N ] ] + - [ [ K ] ] + + - name: Z + projection: + - [ [ M ] ] + - [ [ N ] ] + read_write: True + + instance: + M: 8 + K: 8 + N: 8 + densities: + A: + distribution: fixed_structured + density: 0.25 + B: + distribution: fixed_structured + density: 0.5 \ No newline at end of file diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..d927c83a --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,578 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: BackingStorage[1..1] + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - write + - leak + - update + - read + enabled: true + - name: Buffer[1..1] + class: storage + subclass: regfile_metadata + attributes: + depth: 128 + width: 8 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + read_bandwidth: 5 + write_bandwidth: 5 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - write + - leak + - update + - read + enabled: true + - name: mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - target: BackingStorage + type: temporal + factors: K=1,M=1,N=1 + permutation: NKM + - target: Buffer + type: temporal + factors: K=8,M=8,N=8 + permutation: NKM +problem: + version: '0.4' + shape: + name: MatrixMultiply + dimensions: + - M + - N + - K + data_spaces: + - name: A + projection: + - - - M + - - - K + read_write: false + - name: B + projection: + - - - N + - - - K + read_write: false + - name: Z + projection: + - - - M + - - - N + read_write: true + coefficients: [] + instance: + M: 8 + K: 8 + N: 8 + densities: + A: + distribution: fixed_structured + density: 0.25 + band_width: 0 + workload_tensor_size: 0 + B: + distribution: fixed_structured + density: 0.5 + band_width: 0 + workload_tensor_size: 0 +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +sparse_optimizations: + targets: + - representation_format: + data_spaces: + - name: A + ranks: + - format: UOP + - format: CP + - name: B + ranks: + - format: UOP + - format: CP + name: BackingStorage + - representation_format: + data_spaces: + - name: B + ranks: + - format: UOP + - format: CP + - name: A + ranks: + - format: UOP + - format: CP + action_optimization: + - type: skipping + options: + - target: A + condition_on: + - B + - type: skipping + options: + - target: B + condition_on: + - A + - type: skipping + options: + - target: Z + condition_on: + - A + - B + name: Buffer +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..3ac2d85d --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,9 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.BackingStorage[1..1] + area: 7635.82 + - name: system_top_level.Buffer[1..1] + area: 12749.905 + - name: system_top_level.mac[1..1] + area: 417.0 diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..4da0a979 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,40 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.BackingStorage[1..1] + area: 7635.82 + primitive_estimations: + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.Buffer[1..1] + area: 12749.905 + primitive_estimations: + - name: storage.storage.storage[1..4096] + estimator: Library + - name: storage.storage.comparator[1..128] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..4096] + estimator: Library + - name: metadata_storage.storage.comparator[1..128] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.mac[1..1] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..4a60a9a4 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,69 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.BackingStorage[1..1] + actions: + - name: read + arguments: {} + energy: 2.290882 + - name: write + arguments: {} + energy: 2.694173 + - name: update + arguments: {} + energy: 2.694173 + - name: metadata_read + arguments: {} + energy: 0.373885 + - name: metadata_write + arguments: {} + energy: 0.726887 + - name: metadata_update + arguments: {} + energy: 0.726887 + - name: leak + arguments: {} + energy: 0.002378 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.Buffer[1..1] + actions: + - name: read + arguments: {} + energy: 1.060977 + - name: write + arguments: {} + energy: 0.988977 + - name: update + arguments: {} + energy: 0.988977 + - name: metadata_read + arguments: {} + energy: 0.553457 + - name: metadata_write + arguments: {} + energy: 0.517458 + - name: metadata_update + arguments: {} + energy: 0.517458 + - name: leak + arguments: {} + energy: 0.003217 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.mac[1..1] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..26ae3a6f --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,104 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.BackingStorage[1..1] + actions: + - name: read + energy: 2.290882 + - name: write + energy: 2.694173 + - name: update + energy: 2.694173 + - name: metadata_read + energy: 0.373885 + - name: metadata_write + energy: 0.726887 + - name: metadata_update + energy: 0.726887 + - name: leak + energy: 0.002378 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.Buffer[1..1] + actions: + - name: read + energy: 1.060977 + - name: write + energy: 0.988977 + - name: update + energy: 0.988977 + - name: metadata_read + energy: 0.553457 + - name: metadata_write + energy: 0.517458 + - name: metadata_update + energy: 0.517458 + - name: leak + energy: 0.003217 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage.storage[1..32] + estimator: Library + - name: storage.storage.comparator[1..128] + estimator: Library + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..32] + estimator: Library + - name: metadata_storage.storage.comparator[1..128] + estimator: Library + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.storage.storage[1..4096] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..4096] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.mac[1..1] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..549a6dc5 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,698 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:56 INFO Getting all estimators in module +2024-05-29 16:49:56 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:56 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:56 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: Library () +2024-05-29 16:49:56 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:56 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 32. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 512. +2024-05-29 16:49:56 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."width" as "width" = 32. +2024-05-29 16:49:56 INFO Calculated storage.storage."depth" as "depth" = 512. +2024-05-29 16:49:56 INFO Calculated storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 128. +2024-05-29 16:49:56 INFO Calculated metadata_storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."width" as "width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."depth" as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 16:49:56 INFO Calculated system_top_level.BackingStorage[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated system_top_level.BackingStorage[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 8. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated storage."memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated storage."memory_depth" as "max(64, depth)" = 128. +2024-05-29 16:49:56 INFO Calculated storage."widthscale" as "width / memory_width" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:56 INFO Calculated storage."real_depth" as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated storage."area_scale" as "widthscale * depthscale" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."static_energy_scale" as "area_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage.storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated storage.storage."depth" as "memory_depth" = 128. +2024-05-29 16:49:56 INFO Calculated storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.storage.area_scale as "area_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 4096. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated storage.storage.storage[1..4096]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.storage.comparator[1..128]."n_bits" as "max(1, ceil(log2(depth)))" = 7. +2024-05-29 16:49:56 INFO Calculated storage.storage.comparator[1..128]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 128. +2024-05-29 16:49:56 INFO Calculated metadata_storage."memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated metadata_storage."memory_depth" as "max(64, depth)" = 128. +2024-05-29 16:49:56 INFO Calculated metadata_storage."widthscale" as "width / memory_width" = 0.125. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:56 INFO Calculated metadata_storage."real_depth" as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated metadata_storage."area_scale" as "widthscale * depthscale" = 0.125. +2024-05-29 16:49:56 INFO Calculated metadata_storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.125. +2024-05-29 16:49:56 INFO Calculated metadata_storage."static_energy_scale" as "area_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."depth" as "memory_depth" = 128. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.area_scale as "area_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 4096. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.storage[1..4096]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.comparator[1..128]."n_bits" as "max(1, ceil(log2(depth)))" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.comparator[1..128]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 4096. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 4096. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 2.23182e-12 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpli_1ells +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpr10om06v +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpli_1ells >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpr10om06v 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 2.63511e-12 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5d2t0zk1 +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_rc5eltk +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5d2t0zk1 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_rc5eltk 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 2.63511e-12 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp8a5o2paj +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpipl_palt +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp8a5o2paj >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpipl_palt 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 3.2794744999999997e-13 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpb2nf20rm +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpil75tjss +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpb2nf20rm >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpil75tjss 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 6.80949875e-13 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpy_btdhkt +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp577t7k0n +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpy_btdhkt >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp577t7k0n 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 6.80949875e-13 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpwd60kw8i +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpe__0b72l +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpwd60kw8i >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpe__0b72l 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 7.52517e-17 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpv4ivo4g0 +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp86t91e7i +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpv4ivo4g0 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp86t91e7i 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:57 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.666428 +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000646875p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.7429875e-18 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpei1af7db +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppzzm9lhg +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpei1af7db >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppzzm9lhg 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.547708 +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000503125p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000503125p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000503125p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 WARNING No action counts are specified as yaml input +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 7.22007e-09 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpl1pub2vy +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpm740x5xl +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpl1pub2vy >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpm740x5xl 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 50.34375u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.3675e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpvydtimyb +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpiv1y84ib +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpvydtimyb >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpiv1y84ib 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 39.15625u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 39.15625u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 39.15625u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO flattened architecture is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:49:57 INFO energy reference table is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:49:57 INFO energy reference table summary is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:49:57 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:49:57 INFO area reference table is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:49:57 INFO area reference table summary is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..3a3cf7a0 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,89 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.BackingStorage[1..1] + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rdwr_ports: 1 + metadata_counter_width: 0 + required_actions: + - write + - leak + - update + - read + enabled: true + - name: system_top_level.Buffer[1..1] + class: storage + subclass: regfile_metadata + attributes: + depth: 128 + width: 8 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + read_bandwidth: 5 + write_bandwidth: 5 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + metadata_counter_width: 0 + required_actions: + - write + - leak + - update + - read + enabled: true + - name: system_top_level.mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..bc13fd7b --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,7 @@ +#error Tenssella does not support bypass. +t1 +M 1 N 1 K 1 +K +t0 +M 8 N 8 K 8 +MNK diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/sparseloop/02.2.1-spMspM/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/arch.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/arch.yaml new file mode 100644 index 00000000..fa9ce5b9 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/arch.yaml @@ -0,0 +1,79 @@ +architecture: + version: 0.4 + nodes: # Top-level is hierarchical + - !Container # Top-level system + name: system + attributes: + technology: "45nm" + + - !Component + name: BackingStorage # storage component + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + sparse_optimizations: + representation_format: + data_spaces: + - name: A + ranks: # no tiling on A, so two ranks needed + - format: UOP + - format: CP + - name: B # pretiling is required, so B's is represented with 3 ranks + ranks: + - format: UOP + - format: UOP + - format: CP + + - !Container + name: PE + + - !Component + name: Buffer # storage component + class: storage + subclass: regfile_metadata + attributes: + depth: 64 + width: 8 + datawidth: 8 + metadata_storage_depth: 64 + metadata_storage_width: 4 + metadata_datawidth: 4 + read_bandwidth: 5 + write_bandwidth: 5 + sparse_optimizations: + representation_format: + data_spaces: + - name: B + ranks: + - format: UOP # uncompressed offset pair + - format: CP # coordinate payload + - name: A + ranks: + - format: UOP # uncompressed offset pair + - format: CP # coordinate payload + + action_optimization: + - type: skipping + options: + - target: A + condition_on: [ B ] + - type: skipping + options: + - target: B + condition_on: [ A ] + - type: skipping + options: + - target: Z + condition_on: [ A, B ] + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/mapping.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/mapping.yaml new file mode 100644 index 00000000..8d203acc --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/mapping.yaml @@ -0,0 +1,10 @@ +mapping: + - target: BackingStorage + type: temporal + factors: K=1 M=1 N=4 # non-trivial N factor indicate tiling on N dimension + permutation: NKM + + - target: Buffer + type: temporal + factors: K=8 M=8 N=2 + permutation: NKM diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..96cd2c77 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,579 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: BackingStorage[1..1] + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - write + - leak + - read + - update + enabled: true + - name: Buffer[1..1] + class: storage + subclass: regfile_metadata + attributes: + depth: 64 + width: 8 + datawidth: 8 + metadata_storage_depth: 64 + metadata_storage_width: 4 + metadata_datawidth: 4 + read_bandwidth: 5 + write_bandwidth: 5 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - write + - leak + - read + - update + enabled: true + - name: mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - target: BackingStorage + type: temporal + factors: K=1,M=1,N=4 + permutation: NKM + - target: Buffer + type: temporal + factors: K=8,M=8,N=2 + permutation: NKM +problem: + version: '0.4' + shape: + name: MatrixMultiply + dimensions: + - M + - N + - K + data_spaces: + - name: A + projection: + - - - M + - - - K + read_write: false + - name: B + projection: + - - - N + - - - K + read_write: false + - name: Z + projection: + - - - M + - - - N + read_write: true + coefficients: [] + instance: + M: 8 + K: 8 + N: 8 + densities: + A: + distribution: fixed_structured + density: 0.25 + band_width: 0 + workload_tensor_size: 0 + B: + distribution: fixed_structured + density: 0.5 + band_width: 0 + workload_tensor_size: 0 +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +sparse_optimizations: + targets: + - representation_format: + data_spaces: + - name: A + ranks: + - format: UOP + - format: CP + - name: B + ranks: + - format: UOP + - format: UOP + - format: CP + name: BackingStorage + - representation_format: + data_spaces: + - name: B + ranks: + - format: UOP + - format: CP + - name: A + ranks: + - format: UOP + - format: CP + action_optimization: + - type: skipping + options: + - target: A + condition_on: + - B + - type: skipping + options: + - target: B + condition_on: + - A + - type: skipping + options: + - target: Z + condition_on: + - A + - B + name: Buffer +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..119a1336 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,9 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.BackingStorage[1..1] + area: 7635.82 + - name: system_top_level.Buffer[1..1] + area: 6430.89 + - name: system_top_level.mac[1..1] + area: 417.0 diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..92f22929 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,40 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.BackingStorage[1..1] + area: 7635.82 + primitive_estimations: + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.Buffer[1..1] + area: 6430.89 + primitive_estimations: + - name: storage.storage.storage[1..2048] + estimator: Library + - name: storage.storage.comparator[1..64] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..2048] + estimator: Library + - name: metadata_storage.storage.comparator[1..64] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.mac[1..1] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..b685ee7b --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,69 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.BackingStorage[1..1] + actions: + - name: read + arguments: {} + energy: 2.290882 + - name: write + arguments: {} + energy: 2.694173 + - name: update + arguments: {} + energy: 2.694173 + - name: metadata_read + arguments: {} + energy: 0.373885 + - name: metadata_write + arguments: {} + energy: 0.726887 + - name: metadata_update + arguments: {} + energy: 0.726887 + - name: leak + arguments: {} + energy: 0.002378 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.Buffer[1..1] + actions: + - name: read + arguments: {} + energy: 0.582895 + - name: write + arguments: {} + energy: 0.510895 + - name: update + arguments: {} + energy: 0.510895 + - name: metadata_read + arguments: {} + energy: 0.311135 + - name: metadata_write + arguments: {} + energy: 0.275135 + - name: metadata_update + arguments: {} + energy: 0.275135 + - name: leak + arguments: {} + energy: 0.002327 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.mac[1..1] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..b85b6b41 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,104 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.BackingStorage[1..1] + actions: + - name: read + energy: 2.290882 + - name: write + energy: 2.694173 + - name: update + energy: 2.694173 + - name: metadata_read + energy: 0.373885 + - name: metadata_write + energy: 0.726887 + - name: metadata_update + energy: 0.726887 + - name: leak + energy: 0.002378 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.Buffer[1..1] + actions: + - name: read + energy: 0.582895 + - name: write + energy: 0.510895 + - name: update + energy: 0.510895 + - name: metadata_read + energy: 0.311135 + - name: metadata_write + energy: 0.275135 + - name: metadata_update + energy: 0.275135 + - name: leak + energy: 0.002327 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage.storage[1..32] + estimator: Library + - name: storage.storage.comparator[1..64] + estimator: Library + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..32] + estimator: Library + - name: metadata_storage.storage.comparator[1..64] + estimator: Library + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.storage.storage[1..2048] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..2048] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.mac[1..1] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..97c45b0a --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,698 @@ +2024-05-29 17:03:18 INFO _ _ +2024-05-29 17:03:18 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 17:03:18 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 17:03:18 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 17:03:18 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 17:03:18 INFO |___/ |___/ +2024-05-29 17:03:18 INFO generating outputs according to the following specified output flags... +2024-05-29 17:03:18 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 17:03:18 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 17:03:18 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 17:03:18 INFO config file located: +2024-05-29 17:03:18 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 17:03:18 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 17:03:18 WARNING Please update the file to the latest version. +2024-05-29 17:03:18 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 17:03:18 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 17:03:18 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 17:03:18 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 17:03:18 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 17:03:18 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 17:03:18 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 17:03:18 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 17:03:18 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 17:03:18 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 17:03:18 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 17:03:18 INFO Getting all estimators in module +2024-05-29 17:03:18 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 17:03:18 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 17:03:18 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 17:03:18 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 17:03:18 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 17:03:18 INFO Found estimator plug-in: dummy_table () +2024-05-29 17:03:18 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 17:03:18 INFO Found estimator plug-in: Library () +2024-05-29 17:03:18 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 17:03:18 INFO Found estimator plug-in: CactiCache () +2024-05-29 17:03:18 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 17:03:18 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 17:03:18 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 17:03:18 INFO Calculated storage."width" as "width" = 32. +2024-05-29 17:03:18 INFO Calculated storage."depth" as "depth" = 512. +2024-05-29 17:03:18 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 17:03:18 INFO Calculated storage.storage."width" as "width" = 32. +2024-05-29 17:03:18 INFO Calculated storage.storage."depth" as "depth" = 512. +2024-05-29 17:03:18 INFO Calculated storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 17:03:18 INFO Calculated storage.storage."technology" as "technology" = 45nm. +2024-05-29 17:03:18 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 17:03:18 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 17:03:18 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 17:03:18 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 17:03:18 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 4. +2024-05-29 17:03:18 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 128. +2024-05-29 17:03:18 INFO Calculated metadata_storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 17:03:18 INFO Calculated metadata_storage.storage."width" as "width" = 4. +2024-05-29 17:03:18 INFO Calculated metadata_storage.storage."depth" as "depth" = 128. +2024-05-29 17:03:18 INFO Calculated metadata_storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 17:03:18 INFO Calculated metadata_storage.storage."technology" as "technology" = 45nm. +2024-05-29 17:03:18 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 17:03:18 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 17:03:18 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 17:03:18 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 17:03:18 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 17:03:18 INFO Calculated system_top_level.BackingStorage[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated system_top_level.BackingStorage[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated storage."width" as "width" = 8. +2024-05-29 17:03:18 INFO Calculated storage."depth" as "depth" = 64. +2024-05-29 17:03:18 INFO Calculated storage."memory_width" as "max(32, width)" = 32. +2024-05-29 17:03:18 INFO Calculated storage."memory_depth" as "max(64, depth)" = 64. +2024-05-29 17:03:18 INFO Calculated storage."widthscale" as "width / memory_width" = 0.25. +2024-05-29 17:03:18 INFO Calculated storage."depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 17:03:18 INFO Calculated storage."real_depth" as "depth" = 64. +2024-05-29 17:03:18 INFO Calculated storage."area_scale" as "widthscale * depthscale" = 0.25. +2024-05-29 17:03:18 INFO Calculated storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.25. +2024-05-29 17:03:18 INFO Calculated storage."static_energy_scale" as "area_scale" = 0.25. +2024-05-29 17:03:18 INFO Calculated storage.storage."width" as "memory_width" = 32. +2024-05-29 17:03:18 INFO Calculated storage.storage."depth" as "memory_depth" = 64. +2024-05-29 17:03:18 INFO Calculated storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 17:03:18 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated storage.storage.area_scale as "area_scale" = 0.25. +2024-05-29 17:03:18 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 17:03:18 INFO Calculated list index expression as "depth" = 64. +2024-05-29 17:03:18 INFO Calculated storage.storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated storage.storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 17:03:18 INFO Calculated storage.storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 17:03:18 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 17:03:18 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 17:03:18 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 17:03:18 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 4. +2024-05-29 17:03:18 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 64. +2024-05-29 17:03:18 INFO Calculated metadata_storage."memory_width" as "max(32, width)" = 32. +2024-05-29 17:03:18 INFO Calculated metadata_storage."memory_depth" as "max(64, depth)" = 64. +2024-05-29 17:03:18 INFO Calculated metadata_storage."widthscale" as "width / memory_width" = 0.125. +2024-05-29 17:03:18 INFO Calculated metadata_storage."depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 17:03:18 INFO Calculated metadata_storage."real_depth" as "depth" = 64. +2024-05-29 17:03:18 INFO Calculated metadata_storage."area_scale" as "widthscale * depthscale" = 0.125. +2024-05-29 17:03:18 INFO Calculated metadata_storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.125. +2024-05-29 17:03:18 INFO Calculated metadata_storage."static_energy_scale" as "area_scale" = 0.125. +2024-05-29 17:03:18 INFO Calculated metadata_storage.storage."width" as "memory_width" = 32. +2024-05-29 17:03:18 INFO Calculated metadata_storage.storage."depth" as "memory_depth" = 64. +2024-05-29 17:03:18 INFO Calculated metadata_storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 17:03:18 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated metadata_storage.storage.area_scale as "area_scale" = 0.125. +2024-05-29 17:03:18 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 17:03:18 INFO Calculated list index expression as "depth" = 64. +2024-05-29 17:03:18 INFO Calculated metadata_storage.storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated metadata_storage.storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 17:03:18 INFO Calculated metadata_storage.storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 17:03:18 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 17:03:18 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 17:03:18 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 17:03:18 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 17:03:18 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 17:03:18 INFO Calculated list index expression as "width" = 32. +2024-05-29 17:03:18 INFO Calculated list index expression as "depth" = 64. +2024-05-29 17:03:18 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 17:03:18 INFO Calculated list index expression as "width" = 32. +2024-05-29 17:03:18 INFO Calculated list index expression as "depth" = 64. +2024-05-29 17:03:18 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 17:03:18 INFO Calculated list index expression as "width" = 32. +2024-05-29 17:03:18 INFO Calculated list index expression as "depth" = 64. +2024-05-29 17:03:18 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.125. +2024-05-29 17:03:18 INFO Calculated list index expression as "width" = 32. +2024-05-29 17:03:18 INFO Calculated list index expression as "depth" = 64. +2024-05-29 17:03:18 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.125. +2024-05-29 17:03:18 INFO Calculated list index expression as "width" = 32. +2024-05-29 17:03:18 INFO Calculated list index expression as "depth" = 64. +2024-05-29 17:03:18 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.125. +2024-05-29 17:03:18 INFO Calculated list index expression as "width" = 32. +2024-05-29 17:03:18 INFO Calculated list index expression as "depth" = 64. +2024-05-29 17:03:18 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.25. +2024-05-29 17:03:18 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 17:03:18 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated list index expression as "depth" = 64. +2024-05-29 17:03:18 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.125. +2024-05-29 17:03:18 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 17:03:18 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated list index expression as "depth" = 64. +2024-05-29 17:03:18 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 17:03:18 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 17:03:18 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 17:03:18 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO CactiSRAM estimated 2.23182e-12 with accuracy 80%. Messages: +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 17:03:18 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:18 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp58srdear +2024-05-29 17:03:18 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppt1b2qnk +2024-05-29 17:03:18 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:18 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp58srdear >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppt1b2qnk 2>&1 +2024-05-29 17:03:18 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 17:03:18 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO CactiSRAM estimated 2.63511e-12 with accuracy 80%. Messages: +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 17:03:18 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:18 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpmklmyono +2024-05-29 17:03:18 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpq3sldd4q +2024-05-29 17:03:18 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:18 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpmklmyono >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpq3sldd4q 2>&1 +2024-05-29 17:03:18 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 17:03:18 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO CactiSRAM estimated 2.63511e-12 with accuracy 80%. Messages: +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 17:03:18 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:18 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpq9bii4tt +2024-05-29 17:03:18 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpmi_uc_jm +2024-05-29 17:03:18 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:18 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpq9bii4tt >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpmi_uc_jm 2>&1 +2024-05-29 17:03:18 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 17:03:18 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO CactiSRAM estimated 3.2794744999999997e-13 with accuracy 80%. Messages: +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 17:03:18 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:18 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpwf_nnubi +2024-05-29 17:03:18 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp4pkk4owr +2024-05-29 17:03:18 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:18 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpwf_nnubi >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp4pkk4owr 2>&1 +2024-05-29 17:03:18 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 17:03:18 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO CactiSRAM estimated 6.80949875e-13 with accuracy 80%. Messages: +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 17:03:18 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:18 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmph3jxcko4 +2024-05-29 17:03:18 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpucoxddq4 +2024-05-29 17:03:18 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:18 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmph3jxcko4 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpucoxddq4 2>&1 +2024-05-29 17:03:18 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 17:03:18 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO CactiSRAM estimated 6.80949875e-13 with accuracy 80%. Messages: +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 17:03:18 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:18 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpipix02u9 +2024-05-29 17:03:18 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpu85efg89 +2024-05-29 17:03:18 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:18 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpipix02u9 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpu85efg89 2>&1 +2024-05-29 17:03:18 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 17:03:18 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO CactiSRAM estimated 7.52517e-17 with accuracy 80%. Messages: +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:18 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 17:03:18 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:18 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmptfzclhhc +2024-05-29 17:03:18 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmplw8wjjuc +2024-05-29 17:03:18 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:18 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmptfzclhhc >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmplw8wjjuc 2>&1 +2024-05-29 17:03:18 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 17:03:18 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 17:03:18 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.666428 +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.000646875p with accuracy 70%. Messages: +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO CactiSRAM estimated 2.7429875e-18 with accuracy 80%. Messages: +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:18 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 17:03:18 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:18 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpx2jgqhly +2024-05-29 17:03:18 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpwxt2auko +2024-05-29 17:03:18 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:18 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpx2jgqhly >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpwxt2auko 2>&1 +2024-05-29 17:03:18 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 17:03:18 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 17:03:18 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.547708 +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.000503125p with accuracy 70%. Messages: +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:18 INFO | aladdin_register energy has been scaled 1x +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:18 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:18 INFO | aladdin_register energy has been scaled 1x +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:18 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:18 INFO | aladdin_register energy has been scaled 1x +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:18 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:18 INFO | aladdin_register energy has been scaled 1x +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:18 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:18 INFO | aladdin_register energy has been scaled 1x +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:18 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:18 INFO | aladdin_register energy has been scaled 1x +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:18 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 17:03:18 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 17:03:18 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.00043125p with accuracy 70%. Messages: +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 17:03:18 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 17:03:18 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.00043125p with accuracy 70%. Messages: +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling width from 32 to 16 +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 17:03:18 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:18 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:18 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling width from 32 to 16 +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 17:03:18 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 17:03:18 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 17:03:18 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 WARNING No action counts are specified as yaml input +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO AREA ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 17:03:18 INFO CactiSRAM estimated 7.22007e-09 with accuracy 80%. Messages: +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:18 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:18 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppvavur3r +2024-05-29 17:03:18 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7pfzj1sw +2024-05-29 17:03:18 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:18 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppvavur3r >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7pfzj1sw 2>&1 +2024-05-29 17:03:18 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 17:03:18 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO AREA ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 50.34375u^2 with accuracy 70%. Messages: +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO AREA ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 17:03:18 INFO CactiSRAM estimated 2.3675e-10 with accuracy 80%. Messages: +2024-05-29 17:03:18 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 17:03:18 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 17:03:18 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmprciz1nsv +2024-05-29 17:03:18 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp4e0g6bgy +2024-05-29 17:03:18 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:18 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmprciz1nsv >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp4e0g6bgy 2>&1 +2024-05-29 17:03:18 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 17:03:18 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO AREA ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 39.15625u^2 with accuracy 70%. Messages: +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 4 entries for aladdin_register. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:18 INFO | aladdin_register area has been scaled 1x +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:18 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO AREA ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 33.5625u^2 with accuracy 70%. Messages: +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 4 entries for aladdin_register. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:18 INFO | aladdin_register area has been scaled 1x +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:18 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO AREA ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 33.5625u^2 with accuracy 70%. Messages: +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 17:03:18 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 5 entries for aladdin_adder. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling width from 32 to 16 +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 17:03:18 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:18 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO +2024-05-29 17:03:18 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:18 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 17:03:18 INFO | Found 5 entries for aladdin_adder. +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 17:03:18 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:18 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:18 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:18 INFO | aladdin_adder area has been scaled 1x +2024-05-29 17:03:18 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:18 INFO flattened architecture is saved to: +2024-05-29 17:03:18 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 17:03:18 INFO energy reference table is saved to: +2024-05-29 17:03:18 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 17:03:18 INFO energy reference table summary is saved to: +2024-05-29 17:03:18 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 17:03:18 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 17:03:18 INFO area reference table is saved to: +2024-05-29 17:03:18 INFO ./timeloop-mapper.ART.yaml +2024-05-29 17:03:18 INFO area reference table summary is saved to: +2024-05-29 17:03:18 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..36f22f07 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,89 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.BackingStorage[1..1] + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rdwr_ports: 1 + metadata_counter_width: 0 + required_actions: + - write + - leak + - read + - update + enabled: true + - name: system_top_level.Buffer[1..1] + class: storage + subclass: regfile_metadata + attributes: + depth: 64 + width: 8 + datawidth: 8 + metadata_storage_depth: 64 + metadata_storage_width: 4 + metadata_datawidth: 4 + read_bandwidth: 5 + write_bandwidth: 5 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + metadata_counter_width: 0 + required_actions: + - write + - leak + - read + - update + enabled: true + - name: system_top_level.mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..941cf7cd --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,7 @@ +#error Tenssella does not support bypass. +t1 +M 1 N 4 K 1 +N +t0 +M 8 N 2 K 8 +MNK diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/problem.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/problem.yaml new file mode 100644 index 00000000..9565e827 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/problem.yaml @@ -0,0 +1,33 @@ +problem: + version: 0.4 + shape: + name: MatrixMultiply + dimensions: [ M, N, K ] + data_spaces: + - name: A + projection: + - [ [ M ] ] + - [ [ K ] ] + + - name: B + projection: + - [ [ N ] ] + - [ [ K ] ] + + - name: Z + projection: + - [ [ M ] ] + - [ [ N ] ] + read_write: True + + instance: + M: 8 + K: 8 + N: 8 + densities: + A: + distribution: fixed_structured + density: 0.25 + B: + distribution: fixed_structured + density: 0.5 \ No newline at end of file diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..079d4f29 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,579 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: BackingStorage[1..1] + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - write + - update + - read + - leak + enabled: true + - name: Buffer[1..1] + class: storage + subclass: regfile_metadata + attributes: + depth: 64 + width: 8 + datawidth: 8 + metadata_storage_depth: 64 + metadata_storage_width: 4 + metadata_datawidth: 4 + read_bandwidth: 5 + write_bandwidth: 5 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - write + - update + - read + - leak + enabled: true + - name: mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - target: BackingStorage + type: temporal + factors: K=1,M=1,N=4 + permutation: NKM + - target: Buffer + type: temporal + factors: K=8,M=8,N=2 + permutation: NKM +problem: + version: '0.4' + shape: + name: MatrixMultiply + dimensions: + - M + - N + - K + data_spaces: + - name: A + projection: + - - - M + - - - K + read_write: false + - name: B + projection: + - - - N + - - - K + read_write: false + - name: Z + projection: + - - - M + - - - N + read_write: true + coefficients: [] + instance: + M: 8 + K: 8 + N: 8 + densities: + A: + distribution: fixed_structured + density: 0.25 + band_width: 0 + workload_tensor_size: 0 + B: + distribution: fixed_structured + density: 0.5 + band_width: 0 + workload_tensor_size: 0 +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +sparse_optimizations: + targets: + - representation_format: + data_spaces: + - name: A + ranks: + - format: UOP + - format: CP + - name: B + ranks: + - format: UOP + - format: UOP + - format: CP + name: BackingStorage + - representation_format: + data_spaces: + - name: B + ranks: + - format: UOP + - format: CP + - name: A + ranks: + - format: UOP + - format: CP + action_optimization: + - type: skipping + options: + - target: A + condition_on: + - B + - type: skipping + options: + - target: B + condition_on: + - A + - type: skipping + options: + - target: Z + condition_on: + - A + - B + name: Buffer +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..119a1336 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,9 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.BackingStorage[1..1] + area: 7635.82 + - name: system_top_level.Buffer[1..1] + area: 6430.89 + - name: system_top_level.mac[1..1] + area: 417.0 diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..92f22929 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,40 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.BackingStorage[1..1] + area: 7635.82 + primitive_estimations: + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.Buffer[1..1] + area: 6430.89 + primitive_estimations: + - name: storage.storage.storage[1..2048] + estimator: Library + - name: storage.storage.comparator[1..64] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..2048] + estimator: Library + - name: metadata_storage.storage.comparator[1..64] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.mac[1..1] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..b685ee7b --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,69 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.BackingStorage[1..1] + actions: + - name: read + arguments: {} + energy: 2.290882 + - name: write + arguments: {} + energy: 2.694173 + - name: update + arguments: {} + energy: 2.694173 + - name: metadata_read + arguments: {} + energy: 0.373885 + - name: metadata_write + arguments: {} + energy: 0.726887 + - name: metadata_update + arguments: {} + energy: 0.726887 + - name: leak + arguments: {} + energy: 0.002378 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.Buffer[1..1] + actions: + - name: read + arguments: {} + energy: 0.582895 + - name: write + arguments: {} + energy: 0.510895 + - name: update + arguments: {} + energy: 0.510895 + - name: metadata_read + arguments: {} + energy: 0.311135 + - name: metadata_write + arguments: {} + energy: 0.275135 + - name: metadata_update + arguments: {} + energy: 0.275135 + - name: leak + arguments: {} + energy: 0.002327 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.mac[1..1] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..b85b6b41 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,104 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.BackingStorage[1..1] + actions: + - name: read + energy: 2.290882 + - name: write + energy: 2.694173 + - name: update + energy: 2.694173 + - name: metadata_read + energy: 0.373885 + - name: metadata_write + energy: 0.726887 + - name: metadata_update + energy: 0.726887 + - name: leak + energy: 0.002378 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.Buffer[1..1] + actions: + - name: read + energy: 0.582895 + - name: write + energy: 0.510895 + - name: update + energy: 0.510895 + - name: metadata_read + energy: 0.311135 + - name: metadata_write + energy: 0.275135 + - name: metadata_update + energy: 0.275135 + - name: leak + energy: 0.002327 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage.storage[1..32] + estimator: Library + - name: storage.storage.comparator[1..64] + estimator: Library + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..32] + estimator: Library + - name: metadata_storage.storage.comparator[1..64] + estimator: Library + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.storage.storage[1..2048] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..2048] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.mac[1..1] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..749bb5d1 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,698 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:56 INFO Getting all estimators in module +2024-05-29 16:49:56 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:56 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:56 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: Library () +2024-05-29 16:49:56 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:56 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 32. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 512. +2024-05-29 16:49:56 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."width" as "width" = 32. +2024-05-29 16:49:56 INFO Calculated storage.storage."depth" as "depth" = 512. +2024-05-29 16:49:56 INFO Calculated storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 128. +2024-05-29 16:49:56 INFO Calculated metadata_storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."width" as "width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."depth" as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 16:49:56 INFO Calculated system_top_level.BackingStorage[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated system_top_level.BackingStorage[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 8. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage."memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated storage."memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:56 INFO Calculated storage."widthscale" as "width / memory_width" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:56 INFO Calculated storage."real_depth" as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage."area_scale" as "widthscale * depthscale" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."static_energy_scale" as "area_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage.storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated storage.storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.storage.area_scale as "area_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage.storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:56 INFO Calculated storage.storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage."memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated metadata_storage."memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage."widthscale" as "width / memory_width" = 0.125. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:56 INFO Calculated metadata_storage."real_depth" as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage."area_scale" as "widthscale * depthscale" = 0.125. +2024-05-29 16:49:56 INFO Calculated metadata_storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.125. +2024-05-29 16:49:56 INFO Calculated metadata_storage."static_energy_scale" as "area_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.area_scale as "area_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 2.23182e-12 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpsxnp9c5s +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpsjqfrsdn +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpsxnp9c5s >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpsjqfrsdn 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 2.63511e-12 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp1n48yx0o +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp4ni7flkr +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp1n48yx0o >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp4ni7flkr 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.63511e-12 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp88av5jo4 +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp66ik_cs7 +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp88av5jo4 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp66ik_cs7 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 3.2794744999999997e-13 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpf77xi1im +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpodspldup +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpf77xi1im >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpodspldup 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 6.80949875e-13 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpl67c2qtu +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpzzuilgmq +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpl67c2qtu >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpzzuilgmq 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 6.80949875e-13 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppr9itn7c +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3auajgs8 +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppr9itn7c >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3auajgs8 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 7.52517e-17 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpwgj6mdwn +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp9pfszevu +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpwgj6mdwn >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp9pfszevu 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:57 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.666428 +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000646875p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.7429875e-18 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpr4vh6clt +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp9uqs3rrd +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpr4vh6clt >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp9uqs3rrd 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.547708 +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000503125p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.00043125p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.00043125p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 WARNING No action counts are specified as yaml input +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 7.22007e-09 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmptwfyrdat +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmplu522htf +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmptwfyrdat >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmplu522htf 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 50.34375u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.3675e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpo448twuc +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6fo_dh1n +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpo448twuc >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6fo_dh1n 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 39.15625u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 33.5625u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 33.5625u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO flattened architecture is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:49:57 INFO energy reference table is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:49:57 INFO energy reference table summary is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:49:57 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:49:57 INFO area reference table is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:49:57 INFO area reference table summary is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..c9bb90e8 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,89 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.BackingStorage[1..1] + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rdwr_ports: 1 + metadata_counter_width: 0 + required_actions: + - write + - update + - read + - leak + enabled: true + - name: system_top_level.Buffer[1..1] + class: storage + subclass: regfile_metadata + attributes: + depth: 64 + width: 8 + datawidth: 8 + metadata_storage_depth: 64 + metadata_storage_width: 4 + metadata_datawidth: 4 + read_bandwidth: 5 + write_bandwidth: 5 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + metadata_counter_width: 0 + required_actions: + - write + - update + - read + - leak + enabled: true + - name: system_top_level.mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..941cf7cd --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,7 @@ +#error Tenssella does not support bypass. +t1 +M 1 N 4 K 1 +N +t0 +M 8 N 2 K 8 +MNK diff --git a/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/arch.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/arch.yaml new file mode 100644 index 00000000..1eac3bc2 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/arch.yaml @@ -0,0 +1,63 @@ +architecture: + version: 0.4 + nodes: + - !Container + name: system + attributes: + technology: "45nm" + + - !Component + name: BackingStorage + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + sparse_optimizations: + representation_format: + data_spaces: + - name: Weights + ranks: + - format: RLE # run length encodin + + + - !Container + name: PE + + - !Component + name: Buffer + class: storage + subclass: regfile_metadata + attributes: + depth: 64 + width: 8 + datawidth: 8 + metadata_storage_depth: 16 + metadata_storage_width: 4 + metadata_datawidth: 4 + sparse_optimizations: + representation_format: + data_spaces: + - name: Weights + ranks: + - format: RLE # run length encoding + + action_optimization: + - type: skipping + options: + - target: Inputs + condition_on: [ Weights ] + - type: skipping + options: + - target: Outputs + condition_on: [ Weights ] + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/mapping.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/mapping.yaml new file mode 100644 index 00000000..d27924c1 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/mapping.yaml @@ -0,0 +1,11 @@ +mapping: + - target: BackingStorage # storage level in architecture + type: temporal # temporal tiling + factors: S=1 Q=1 # loop bounds + permutation: S Q # loop order: inner to outer->output stationary + + - target: Buffer + type: temporal + factors: S=3 Q=9 + permutation: S Q + diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/problem.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/problem.yaml new file mode 100644 index 00000000..b7e58ca5 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/problem.yaml @@ -0,0 +1,24 @@ +problem: + version: 0.4 + shape: + name: Conv1D + dimensions: [ S, Q ] + data_spaces: + - name: Weights + projection: + - [ [S] ] + - name: Inputs + projection: + - [ [S], [Q] ] # sum of product representation. here S*1+Q*1 + - name: Outputs + projection: + - [ [Q] ] + read_write: True + + instance: + S: 3 + Q: 9 + densities: + Weights: + distribution: fixed_structured + density: 0.43 diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..5a04b565 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,551 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: BackingStorage[1..1] + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - write + - read + - update + - leak + enabled: true + - name: Buffer[1..1] + class: storage + subclass: regfile_metadata + attributes: + depth: 64 + width: 8 + datawidth: 8 + metadata_storage_depth: 16 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - write + - read + - update + - leak + enabled: true + - name: mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - target: BackingStorage + type: temporal + factors: S=1,Q=1 + permutation: SQ + - target: Buffer + type: temporal + factors: S=3,Q=9 + permutation: SQ +problem: + version: '0.4' + shape: + name: Conv1D + dimensions: + - S + - Q + data_spaces: + - name: Weights + projection: + - - - S + read_write: false + - name: Inputs + projection: + - - - S + - - Q + read_write: false + - name: Outputs + projection: + - - - Q + read_write: true + coefficients: [] + instance: + S: 3 + Q: 9 + densities: + Weights: + distribution: fixed_structured + density: 0.43 + band_width: 0 + workload_tensor_size: 0 +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +sparse_optimizations: + targets: + - representation_format: + data_spaces: + - name: Weights + ranks: + - format: RLE + name: BackingStorage + - representation_format: + data_spaces: + - name: Weights + ranks: + - format: RLE + action_optimization: + - type: skipping + options: + - target: Inputs + condition_on: + - Weights + - type: skipping + options: + - target: Outputs + condition_on: + - Weights + name: Buffer +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..98240616 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,9 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.BackingStorage[1..1] + area: 7635.82 + - name: system_top_level.Buffer[1..1] + area: 4834.355 + - name: system_top_level.mac[1..1] + area: 417.0 diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..cdda0bd5 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,40 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.BackingStorage[1..1] + area: 7635.82 + primitive_estimations: + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.Buffer[1..1] + area: 4834.355 + primitive_estimations: + - name: storage.storage.storage[1..2048] + estimator: Library + - name: storage.storage.comparator[1..64] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..2048] + estimator: Library + - name: metadata_storage.storage.comparator[1..64] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.mac[1..1] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..a66fea44 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,69 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.BackingStorage[1..1] + actions: + - name: read + arguments: {} + energy: 2.290882 + - name: write + arguments: {} + energy: 2.694173 + - name: update + arguments: {} + energy: 2.694173 + - name: metadata_read + arguments: {} + energy: 0.373885 + - name: metadata_write + arguments: {} + energy: 0.726887 + - name: metadata_update + arguments: {} + energy: 0.726887 + - name: leak + arguments: {} + energy: 0.002378 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.Buffer[1..1] + actions: + - name: read + arguments: {} + energy: 0.582895 + - name: write + arguments: {} + energy: 0.510895 + - name: update + arguments: {} + energy: 0.510895 + - name: metadata_read + arguments: {} + energy: 0.118418 + - name: metadata_write + arguments: {} + energy: 0.106208 + - name: metadata_update + arguments: {} + energy: 0.106208 + - name: leak + arguments: {} + energy: 0.001889 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.mac[1..1] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..8de2ed4d --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,104 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.BackingStorage[1..1] + actions: + - name: read + energy: 2.290882 + - name: write + energy: 2.694173 + - name: update + energy: 2.694173 + - name: metadata_read + energy: 0.373885 + - name: metadata_write + energy: 0.726887 + - name: metadata_update + energy: 0.726887 + - name: leak + energy: 0.002378 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.Buffer[1..1] + actions: + - name: read + energy: 0.582895 + - name: write + energy: 0.510895 + - name: update + energy: 0.510895 + - name: metadata_read + energy: 0.118418 + - name: metadata_write + energy: 0.106208 + - name: metadata_update + energy: 0.106208 + - name: leak + energy: 0.001889 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage.storage[1..32] + estimator: Library + - name: storage.storage.comparator[1..64] + estimator: Library + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..32] + estimator: Library + - name: metadata_storage.storage.comparator[1..64] + estimator: Library + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.storage.storage[1..2048] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..2048] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.mac[1..1] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..c5f90e6f --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,698 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:56 INFO Getting all estimators in module +2024-05-29 16:49:56 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:56 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:56 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: Library () +2024-05-29 16:49:56 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:56 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 32. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 512. +2024-05-29 16:49:56 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."width" as "width" = 32. +2024-05-29 16:49:56 INFO Calculated storage.storage."depth" as "depth" = 512. +2024-05-29 16:49:56 INFO Calculated storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 128. +2024-05-29 16:49:56 INFO Calculated metadata_storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."width" as "width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."depth" as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 16:49:56 INFO Calculated system_top_level.BackingStorage[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated system_top_level.BackingStorage[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 8. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage."memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated storage."memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:56 INFO Calculated storage."widthscale" as "width / memory_width" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:56 INFO Calculated storage."real_depth" as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage."area_scale" as "widthscale * depthscale" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."static_energy_scale" as "area_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage.storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated storage.storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.storage.area_scale as "area_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated storage.storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:56 INFO Calculated storage.storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 16. +2024-05-29 16:49:56 INFO Calculated metadata_storage."memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated metadata_storage."memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage."widthscale" as "width / memory_width" = 0.125. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depthscale" as "depth / memory_depth" = 0.25. +2024-05-29 16:49:56 INFO Calculated metadata_storage."real_depth" as "depth" = 16. +2024-05-29 16:49:56 INFO Calculated metadata_storage."area_scale" as "widthscale * depthscale" = 0.03125. +2024-05-29 16:49:56 INFO Calculated metadata_storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.04239388523273974. +2024-05-29 16:49:56 INFO Calculated metadata_storage."static_energy_scale" as "area_scale" = 0.03125. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.area_scale as "area_scale" = 0.03125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.04239388523273974. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.04239388523273974. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.04239388523273974. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.03125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 2.23182e-12 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppt10mnn6 +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpnxo9aogt +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppt10mnn6 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpnxo9aogt 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 2.63511e-12 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp55avq_os +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmphfk23kjf +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp55avq_os >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmphfk23kjf 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 2.63511e-12 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpj8k_p26_ +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5kjlcz0h +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpj8k_p26_ >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5kjlcz0h 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 3.2794744999999997e-13 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpk3z9cirm +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpd3vvxukz +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpk3z9cirm >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpd3vvxukz 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 6.80949875e-13 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp8ibnhp2l +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpmm1xpf1x +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp8ibnhp2l >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpmm1xpf1x 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 6.80949875e-13 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7tnx8wx6 +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpzlts74j7 +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7tnx8wx6 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpzlts74j7 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 7.52517e-17 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbhzm9o26 +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_mt1eh9z +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbhzm9o26 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_mt1eh9z 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:57 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.666428 +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000646875p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.7429875e-18 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpgbs4tqqm +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5wc_pmt7 +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpgbs4tqqm >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5wc_pmt7 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.547708 +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000503125p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.02625p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.02625p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.02625p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.00043125p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0002875p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 WARNING No action counts are specified as yaml input +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 7.22007e-09 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpsaxhyjle +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpb44_x4fq +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpsaxhyjle >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpb44_x4fq 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 50.34375u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.3675e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbcn23fe0 +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpnuiwsbml +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbcn23fe0 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpnuiwsbml 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 39.15625u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 33.5625u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 22.375u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO flattened architecture is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:49:57 INFO energy reference table is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:49:57 INFO energy reference table summary is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:49:57 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:49:57 INFO area reference table is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:49:57 INFO area reference table summary is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..5b4f1120 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,87 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.BackingStorage[1..1] + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rdwr_ports: 1 + metadata_counter_width: 0 + required_actions: + - write + - read + - update + - leak + enabled: true + - name: system_top_level.Buffer[1..1] + class: storage + subclass: regfile_metadata + attributes: + depth: 64 + width: 8 + datawidth: 8 + metadata_storage_depth: 16 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + metadata_counter_width: 0 + required_actions: + - write + - read + - update + - leak + enabled: true + - name: system_top_level.mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..1087f18a --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,6 @@ +t1 +S 1 Q 1 +Q +t0 +S 3 Q 9 +SQ diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/sparseloop/03.2.1-conv1d/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/arch.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/arch.yaml new file mode 100644 index 00000000..bd27d0d2 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/arch.yaml @@ -0,0 +1,63 @@ +architecture: + version: 0.4 + nodes: + - !Container + name: system + attributes: + technology: "45nm" + + - !Component + name: BackingStorage + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + sparse_optimizations: + representation_format: + data_spaces: + - name: Weights + ranks: + - format: UOP # uncompressed offset pair + - format: RLE # run length encoding + + - !Container + name: PE + + - !Component + name: Buffer + class: storage + subclass: regfile_metadata + attributes: + depth: 256 + width: 8 + datawidth: 8 + metadata_storage_depth: 38 + metadata_storage_width: 4 + metadata_datawidth: 4 + sparse_optimizations: + representation_format: + data_spaces: + - name: Weights + ranks: + - format: UOP # uncompressed offset pair + - format: RLE # run length encoding + action_optimization: + - type: skipping + options: + - target: Inputs + condition_on: [ Weights ] + - type: skipping + options: + - target: Outputs + condition_on: [ Weights ] + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/mapping.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/mapping.yaml new file mode 100644 index 00000000..da7888eb --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/mapping.yaml @@ -0,0 +1,10 @@ +mapping: + - target: BackingStorage + type: temporal + factors: S=1 Q=1 M=1 + permutation: S Q M + + - target: Buffer + type: temporal + factors: S=3 Q=9 M=16 + permutation: S Q M diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/problem.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/problem.yaml new file mode 100644 index 00000000..68add290 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/problem.yaml @@ -0,0 +1,27 @@ +problem: + version: 0.4 + shape: + name: Conv1D_OC + dimensions: [ M, S, Q ] + data_spaces: + - name: Weights + projection: + - [ [M] ] + - [ [S] ] + - name: Inputs + projection: + - [ [S], [Q] ] + - name: Outputs + projection: + - [ [M] ] + - [ [Q] ] + read_write: True + + instance: + M: 16 + S: 3 + Q: 9 + densities: + Weights: + distribution: fixed_structured + density: 0.4333 \ No newline at end of file diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..f528231d --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,557 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: BackingStorage[1..1] + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - read + - update + - write + - leak + enabled: true + - name: Buffer[1..1] + class: storage + subclass: regfile_metadata + attributes: + depth: 256 + width: 8 + datawidth: 8 + metadata_storage_depth: 38 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - read + - update + - write + - leak + enabled: true + - name: mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - target: BackingStorage + type: temporal + factors: S=1,Q=1,M=1 + permutation: SQM + - target: Buffer + type: temporal + factors: S=3,Q=9,M=16 + permutation: SQM +problem: + version: '0.4' + shape: + name: Conv1D_OC + dimensions: + - M + - S + - Q + data_spaces: + - name: Weights + projection: + - - - M + - - - S + read_write: false + - name: Inputs + projection: + - - - S + - - Q + read_write: false + - name: Outputs + projection: + - - - M + - - - Q + read_write: true + coefficients: [] + instance: + M: 16 + S: 3 + Q: 9 + densities: + Weights: + distribution: fixed_structured + density: 0.4333 + band_width: 0 + workload_tensor_size: 0 +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +sparse_optimizations: + targets: + - representation_format: + data_spaces: + - name: Weights + ranks: + - format: UOP + - format: RLE + name: BackingStorage + - representation_format: + data_spaces: + - name: Weights + ranks: + - format: UOP + - format: RLE + action_optimization: + - type: skipping + options: + - target: Inputs + condition_on: + - Weights + - type: skipping + options: + - target: Outputs + condition_on: + - Weights + name: Buffer +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..65f9ddd2 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,9 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.BackingStorage[1..1] + area: 7635.82 + - name: system_top_level.Buffer[1..1] + area: 18193.875 + - name: system_top_level.mac[1..1] + area: 417.0 diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..e94d2971 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,40 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.BackingStorage[1..1] + area: 7635.82 + primitive_estimations: + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.Buffer[1..1] + area: 18193.875 + primitive_estimations: + - name: storage.storage.storage[1..8192] + estimator: Library + - name: storage.storage.comparator[1..256] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..2048] + estimator: Library + - name: metadata_storage.storage.comparator[1..64] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.mac[1..1] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..9abfbfc9 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,69 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.BackingStorage[1..1] + actions: + - name: read + arguments: {} + energy: 2.290882 + - name: write + arguments: {} + energy: 2.694173 + - name: update + arguments: {} + energy: 2.694173 + - name: metadata_read + arguments: {} + energy: 0.373885 + - name: metadata_write + arguments: {} + energy: 0.726887 + - name: metadata_update + arguments: {} + energy: 0.726887 + - name: leak + arguments: {} + energy: 0.002378 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.Buffer[1..1] + actions: + - name: read + arguments: {} + energy: 2.01058 + - name: write + arguments: {} + energy: 1.93858 + - name: update + arguments: {} + energy: 1.93858 + - name: metadata_read + arguments: {} + energy: 0.220341 + - name: metadata_write + arguments: {} + energy: 0.196368 + - name: metadata_update + arguments: {} + energy: 0.196368 + - name: leak + arguments: {} + energy: 0.003738 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.mac[1..1] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..4071889f --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,104 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.BackingStorage[1..1] + actions: + - name: read + energy: 2.290882 + - name: write + energy: 2.694173 + - name: update + energy: 2.694173 + - name: metadata_read + energy: 0.373885 + - name: metadata_write + energy: 0.726887 + - name: metadata_update + energy: 0.726887 + - name: leak + energy: 0.002378 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.Buffer[1..1] + actions: + - name: read + energy: 2.01058 + - name: write + energy: 1.93858 + - name: update + energy: 1.93858 + - name: metadata_read + energy: 0.220341 + - name: metadata_write + energy: 0.196368 + - name: metadata_update + energy: 0.196368 + - name: leak + energy: 0.003738 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage.storage[1..32] + estimator: Library + - name: storage.storage.comparator[1..256] + estimator: Library + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..32] + estimator: Library + - name: metadata_storage.storage.comparator[1..64] + estimator: Library + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.storage.storage[1..8192] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..2048] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.mac[1..1] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..70baaae2 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,698 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:56 INFO Getting all estimators in module +2024-05-29 16:49:56 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:56 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:56 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: Library () +2024-05-29 16:49:56 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:56 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 32. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 512. +2024-05-29 16:49:56 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."width" as "width" = 32. +2024-05-29 16:49:56 INFO Calculated storage.storage."depth" as "depth" = 512. +2024-05-29 16:49:56 INFO Calculated storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 128. +2024-05-29 16:49:56 INFO Calculated metadata_storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."width" as "width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."depth" as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 16:49:56 INFO Calculated system_top_level.BackingStorage[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated system_top_level.BackingStorage[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 8. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 256. +2024-05-29 16:49:56 INFO Calculated storage."memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated storage."memory_depth" as "max(64, depth)" = 256. +2024-05-29 16:49:56 INFO Calculated storage."widthscale" as "width / memory_width" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:56 INFO Calculated storage."real_depth" as "depth" = 256. +2024-05-29 16:49:56 INFO Calculated storage."area_scale" as "widthscale * depthscale" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."static_energy_scale" as "area_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage.storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated storage.storage."depth" as "memory_depth" = 256. +2024-05-29 16:49:56 INFO Calculated storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.storage.area_scale as "area_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 8192. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 256. +2024-05-29 16:49:56 INFO Calculated storage.storage.storage[1..8192]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.storage.comparator[1..256]."n_bits" as "max(1, ceil(log2(depth)))" = 8. +2024-05-29 16:49:56 INFO Calculated storage.storage.comparator[1..256]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 38. +2024-05-29 16:49:56 INFO Calculated metadata_storage."memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated metadata_storage."memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage."widthscale" as "width / memory_width" = 0.125. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depthscale" as "depth / memory_depth" = 0.59375. +2024-05-29 16:49:56 INFO Calculated metadata_storage."real_depth" as "depth" = 38. +2024-05-29 16:49:56 INFO Calculated metadata_storage."area_scale" as "widthscale * depthscale" = 0.07421875. +2024-05-29 16:49:56 INFO Calculated metadata_storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.08323784705378608. +2024-05-29 16:49:56 INFO Calculated metadata_storage."static_energy_scale" as "area_scale" = 0.07421875. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.area_scale as "area_scale" = 0.07421875. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 256. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 256. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 256. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.08323784705378608. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.08323784705378608. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.08323784705378608. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 8192. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 256. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.07421875. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 2.23182e-12 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpl6mauzek +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp2lnaa1bk +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpl6mauzek >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp2lnaa1bk 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 2.63511e-12 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppela65c6 +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmphv2vf6se +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppela65c6 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmphv2vf6se 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 2.63511e-12 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpot9uw4tw +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp1iefhw5l +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpot9uw4tw >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp1iefhw5l 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 3.2794744999999997e-13 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpibl8u_ud +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp81j7h477 +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpibl8u_ud >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp81j7h477 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 6.80949875e-13 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpvwfaizhk +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpb8u9ddo9 +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpvwfaizhk >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpb8u9ddo9 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 6.80949875e-13 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7xarylcf +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp56ps75f6 +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7xarylcf >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp56ps75f6 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 7.52517e-17 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpq7d2gfng +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3v0bvvlr +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpq7d2gfng >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3v0bvvlr 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:57 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.666428 +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000646875p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.7429875e-18 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpw_0rmmar +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpeishfb0s +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpw_0rmmar >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpeishfb0s 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.547708 +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000503125p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000575p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.00043125p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 WARNING No action counts are specified as yaml input +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 7.22007e-09 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpr_ccvv54 +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpuew4the3 +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpr_ccvv54 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpuew4the3 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 50.34375u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.3675e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpcgv06efo +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp2459sj_g +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpcgv06efo >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp2459sj_g 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 39.15625u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 44.75u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 33.5625u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO flattened architecture is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:49:57 INFO energy reference table is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:49:57 INFO energy reference table summary is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:49:57 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:49:57 INFO area reference table is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:49:57 INFO area reference table summary is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..a7b3ed8b --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,87 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.BackingStorage[1..1] + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rdwr_ports: 1 + metadata_counter_width: 0 + required_actions: + - read + - update + - write + - leak + enabled: true + - name: system_top_level.Buffer[1..1] + class: storage + subclass: regfile_metadata + attributes: + depth: 256 + width: 8 + datawidth: 8 + metadata_storage_depth: 38 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + metadata_counter_width: 0 + required_actions: + - read + - update + - write + - leak + enabled: true + - name: system_top_level.mac[1..1] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..61dfd0f2 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,8 @@ +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +M 1 S 1 Q 1 +Q +t0 +M 16 S 3 Q 9 +MSQ diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/arch.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/arch.yaml new file mode 100644 index 00000000..450c6235 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/arch.yaml @@ -0,0 +1,64 @@ +architecture: + version: 0.4 + nodes: + - !Container + name: system + attributes: + technology: "45nm" + + - !Component + name: BackingStorage + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + sparse_optimizations: + representation_format: + data_spaces: + - name: Weights + ranks: + - format: UOP # uncompressed offset pair + - format: UOP # uncompressed offset pair + - format: RLE # run length encoding + + - !Container + name: PE # 4 spatial PEs + spatial: {meshX: 4} + + - !Component + name: Buffer + class: storage + subclass: regfile_metadata + attributes: + depth: 128 + width: 8 + datawidth: 8 + metadata_storage_depth: 64 + metadata_storage_width: 4 + metadata_datawidth: 4 + sparse_optimizations: + representation_format: + data_spaces: + - name: Weights + ranks: + - format: RLE # run length encoding + action_optimization: + - type: skipping + options: + - target: Inputs + condition_on: [ Weights ] + - type: skipping + options: + - target: Outputs + condition_on: [ Weights ] + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/mapping.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/mapping.yaml new file mode 100644 index 00000000..f7cc6b1b --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/mapping.yaml @@ -0,0 +1,17 @@ +mapping: + - target: BackingStorage # storage level in architecture + type: temporal # temporal tiling + factors: [S=1, Q=1, M=4] # loop bounds + permutation: [S, Q, M] # loop order: inner to outer->output stationary + + - target: PE # storage level in architecture + type: spatial # spatial tiling + factors: [S=1, Q=1, M=4] # loop bounds + permutation: [S, Q, M] # loop order + split: 4 # start from which position in list above + # do we start to map the dimensions to hardware Y direction + # (X otherwise). all mapped to X here. + - target: Buffer + type: temporal + factors: [S=3, Q=9, M=1] + permutation: [S, Q, M] diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/problem.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/problem.yaml new file mode 100644 index 00000000..68add290 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/problem.yaml @@ -0,0 +1,27 @@ +problem: + version: 0.4 + shape: + name: Conv1D_OC + dimensions: [ M, S, Q ] + data_spaces: + - name: Weights + projection: + - [ [M] ] + - [ [S] ] + - name: Inputs + projection: + - [ [S], [Q] ] + - name: Outputs + projection: + - [ [M] ] + - [ [Q] ] + read_write: True + + instance: + M: 16 + S: 3 + Q: 9 + densities: + Weights: + distribution: fixed_structured + density: 0.4333 \ No newline at end of file diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..1a671e48 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,590 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: BackingStorage[1..1] + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - update + - leak + - read + - write + enabled: true + - name: inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + enabled: true + - name: Buffer[1..4] + class: storage + subclass: regfile_metadata + attributes: + depth: 128 + width: 8 + datawidth: 8 + metadata_storage_depth: 64 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 4 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - update + - leak + - read + - write + enabled: true + - name: mac[1..4] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 4 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - target: BackingStorage + type: temporal + factors: S=1,Q=1,M=4 + permutation: SQM + - type: spatial + target: inter_PE_spatial + factors: S=1,Q=1,M=4 + permutation: SQM + split: 4 + - factors: M=1,S=1,Q=1 + permutation: MSQ + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - target: Buffer + type: temporal + factors: S=3,Q=9,M=1 + permutation: SQM +problem: + version: '0.4' + shape: + name: Conv1D_OC + dimensions: + - M + - S + - Q + data_spaces: + - name: Weights + projection: + - - - M + - - - S + read_write: false + - name: Inputs + projection: + - - - S + - - Q + read_write: false + - name: Outputs + projection: + - - - M + - - - Q + read_write: true + coefficients: [] + instance: + M: 16 + S: 3 + Q: 9 + densities: + Weights: + distribution: fixed_structured + density: 0.4333 + band_width: 0 + workload_tensor_size: 0 +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +sparse_optimizations: + targets: + - representation_format: + data_spaces: + - name: Weights + ranks: + - format: UOP + - format: UOP + - format: RLE + name: BackingStorage + - representation_format: + data_spaces: + - name: Weights + ranks: + - format: RLE + action_optimization: + - type: skipping + options: + - target: Inputs + condition_on: + - Weights + - type: skipping + options: + - target: Outputs + condition_on: + - Weights + name: Buffer +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..ad41953e --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,11 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.inter_PE_spatial[1..1] + area: 1.0 + - name: system_top_level.BackingStorage[1..1] + area: 7635.82 + - name: system_top_level.Buffer[1..4] + area: 10639.8375 + - name: system_top_level.mac[1..4] + area: 417.0 diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..5f1f7b92 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,43 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.inter_PE_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.BackingStorage[1..1] + area: 7635.82 + primitive_estimations: + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.Buffer[1..4] + area: 10639.8375 + primitive_estimations: + - name: storage.storage.storage[1..4096] + estimator: Library + - name: storage.storage.comparator[1..128] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..2048] + estimator: Library + - name: metadata_storage.storage.comparator[1..64] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: system_top_level.mac[1..4] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..8f53eb99 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,69 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.BackingStorage[1..1] + actions: + - name: read + arguments: {} + energy: 2.290882 + - name: write + arguments: {} + energy: 2.694173 + - name: update + arguments: {} + energy: 2.694173 + - name: metadata_read + arguments: {} + energy: 0.373885 + - name: metadata_write + arguments: {} + energy: 0.726887 + - name: metadata_update + arguments: {} + energy: 0.726887 + - name: leak + arguments: {} + energy: 0.002378 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.Buffer[1..4] + actions: + - name: read + arguments: {} + energy: 1.060977 + - name: write + arguments: {} + energy: 0.988977 + - name: update + arguments: {} + energy: 0.988977 + - name: metadata_read + arguments: {} + energy: 0.311135 + - name: metadata_write + arguments: {} + energy: 0.275135 + - name: metadata_update + arguments: {} + energy: 0.275135 + - name: leak + arguments: {} + energy: 0.002873 + - name: decompression_count + arguments: {} + energy: 0.0 + - name: compression_count + arguments: {} + energy: 0.0 + - name: system_top_level.mac[1..4] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..0fa8db81 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,104 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.BackingStorage[1..1] + actions: + - name: read + energy: 2.290882 + - name: write + energy: 2.694173 + - name: update + energy: 2.694173 + - name: metadata_read + energy: 0.373885 + - name: metadata_write + energy: 0.726887 + - name: metadata_update + energy: 0.726887 + - name: leak + energy: 0.002378 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.Buffer[1..4] + actions: + - name: read + energy: 1.060977 + - name: write + energy: 0.988977 + - name: update + energy: 0.988977 + - name: metadata_read + energy: 0.311135 + - name: metadata_write + energy: 0.275135 + - name: metadata_update + energy: 0.275135 + - name: leak + energy: 0.002873 + - name: decompression_count + energy: 0.0 + - name: compression_count + energy: 0.0 + primitive_estimation(s): + - name: storage.storage.storage[1..32] + estimator: Library + - name: storage.storage.comparator[1..128] + estimator: Library + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..32] + estimator: Library + - name: metadata_storage.storage.comparator[1..64] + estimator: Library + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.storage.storage[1..4096] + estimator: Library + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage.storage[1..2048] + estimator: Library + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: system_top_level.mac[1..4] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..e92cb98a --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,702 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:56 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:56 INFO Getting all estimators in module +2024-05-29 16:49:56 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:56 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:56 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:56 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:56 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: Library () +2024-05-29 16:49:56 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:56 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:56 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 32. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 512. +2024-05-29 16:49:56 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."width" as "width" = 32. +2024-05-29 16:49:56 INFO Calculated storage.storage."depth" as "depth" = 512. +2024-05-29 16:49:56 INFO Calculated storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 9. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 128. +2024-05-29 16:49:56 INFO Calculated metadata_storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."width" as "width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."depth" as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 16:49:56 INFO Calculated system_top_level.BackingStorage[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated system_top_level.BackingStorage[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage."width" as "width" = 8. +2024-05-29 16:49:56 INFO Calculated storage."depth" as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated storage."memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated storage."memory_depth" as "max(64, depth)" = 128. +2024-05-29 16:49:56 INFO Calculated storage."widthscale" as "width / memory_width" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:56 INFO Calculated storage."real_depth" as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated storage."area_scale" as "widthscale * depthscale" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage."static_energy_scale" as "area_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated storage.storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated storage.storage."depth" as "memory_depth" = 128. +2024-05-29 16:49:56 INFO Calculated storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.storage.area_scale as "area_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 4096. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated storage.storage.storage[1..4096]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.storage.comparator[1..128]."n_bits" as "max(1, ceil(log2(depth)))" = 7. +2024-05-29 16:49:56 INFO Calculated storage.storage.comparator[1..128]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 7. +2024-05-29 16:49:56 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 4. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage."memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated metadata_storage."memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage."widthscale" as "width / memory_width" = 0.125. +2024-05-29 16:49:56 INFO Calculated metadata_storage."depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:56 INFO Calculated metadata_storage."real_depth" as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage."area_scale" as "widthscale * depthscale" = 0.125. +2024-05-29 16:49:56 INFO Calculated metadata_storage."dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.125. +2024-05-29 16:49:56 INFO Calculated metadata_storage."static_energy_scale" as "area_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."width" as "memory_width" = 32. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.area_scale as "area_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:56 INFO Calculated metadata_storage.storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 6. +2024-05-29 16:49:56 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:56 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 0. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..4].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.25. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 4096. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..4].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 128. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..4].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..4].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.125. +2024-05-29 16:49:56 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..4].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:56 INFO Calculated system_top_level.Buffer[1..4].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:56 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 2.23182e-12 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp0okex1on +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6e_vilzj +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp0okex1on >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6e_vilzj 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 2.63511e-12 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6a5_gb_i +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpeckx84r5 +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6a5_gb_i >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpeckx84r5 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 2.63511e-12 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbga3k1bf +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpp65n2yoe +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbga3k1bf >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpp65n2yoe 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO CactiSRAM estimated 3.2794744999999997e-13 with accuracy 80%. Messages: +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:56 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpcy8md7gu +2024-05-29 16:49:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpg1gnf1u0 +2024-05-29 16:49:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpcy8md7gu >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpg1gnf1u0 2>&1 +2024-05-29 16:49:56 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:56 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:56 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:56 INFO +2024-05-29 16:49:56 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 6.80949875e-13 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpnrg63ksx +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpvw2y65li +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpnrg63ksx >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpvw2y65li 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 6.80949875e-13 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpyarym3ex +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjigwzknl +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpyarym3ex >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjigwzknl 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 7.52517e-17 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpb4fr72c1 +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5xhi6sbf +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpb4fr72c1 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5xhi6sbf 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:57 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.666428 +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000646875p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.7429875e-18 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp1f5sbgm3 +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmprfb38qnu +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp1f5sbgm3 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmprfb38qnu 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.547708 +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000503125p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0459375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.039375p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.000503125p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.00043125p with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:57 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:57 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 WARNING No action counts are specified as yaml input +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for SRAM(width=32, depth=512, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 7.22007e-09 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=2048 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3x1o3uo3 +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_mc_e2ae +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3x1o3uo3 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_mc_e2ae 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 48.01719015407516 bits/second +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=9, precision=9, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 50.34375u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for SRAM(width=4, depth=128, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.3675e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpt1196t4f +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpm5yrzoaw +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpt1196t4f >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpm5yrzoaw 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 0.5 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 7.303161538630073 bits/second +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 39.15625u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_comparator(n_bits=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=7, precision=7, width=7, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 39.15625u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(n_bits=6, precision=6, width=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 33.5625u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for intadder(technology=45nm, width=0, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.0u^2 with accuracy 70%. Messages: +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:57 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:57 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:57 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:57 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:57 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO flattened architecture is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:49:57 INFO energy reference table is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:49:57 INFO energy reference table summary is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:49:57 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:49:57 INFO area reference table is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:49:57 INFO area reference table summary is saved to: +2024-05-29 16:49:57 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..2b377e8a --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,110 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.BackingStorage[1..1] + class: smartbuffer_metadata + attributes: + depth: 512 + width: 32 + datawidth: 8 + metadata_storage_depth: 128 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rdwr_ports: 1 + metadata_counter_width: 0 + required_actions: + - update + - leak + - read + - write + enabled: true + - name: system_top_level.inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.Buffer[1..4] + class: storage + subclass: regfile_metadata + attributes: + depth: 128 + width: 8 + datawidth: 8 + metadata_storage_depth: 64 + metadata_storage_width: 4 + metadata_datawidth: 4 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 4 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + metadata_counter_width: 0 + required_actions: + - update + - leak + - read + - write + enabled: true + - name: system_top_level.mac[1..4] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 4 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..bb49f76a --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,17 @@ +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +M 4 S 1 Q 1 +M +#error Tenssella does not support bypass. +t1 +M 1 S 1 Q 1 +Q +s1 +M 4 S 1 Q 1 +M +3 +t0 +M 1 S 3 Q 9 +SQ diff --git a/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/arch.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/arch.yaml new file mode 100644 index 00000000..3c1d56fb --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/arch.yaml @@ -0,0 +1,153 @@ +architecture: + version: 0.4 + nodes: + - !Container + name: eyeriss_168 + attributes: + technology: "45nm" + + - !Component + name: DRAM + class: DRAM + attributes: + width: 64 + datawidth: 16 + metadata_storage_width: 60 + metadata_datawidth: 5 + sparse_optimizations: + representation_format: + data_spaces: + - name: Inputs + ranks: + - format: UOP + flattened_rankIDs: [ [R, S, P, C, M, N, Q] ] + - format: RLE + flattened_rankIDs: [ [R, S, P, C, M, N, Q] ] + + - name: Outputs + ranks: + - format: UOP + flattened_rankIDs: [ [P, M, N, Q] ] + - format: RLE + flattened_rankIDs: [ [P, M, N, Q] ] + + - !Component + name: shared_glb + class: storage + subclass: smartbuffer_metadata + attributes: + depth: 12800 + width: 64 + n_banks: 1 + read_bandwidth: 16 + write_bandwidth: 16 + datawidth: 16 + metadata_storage_depth: 0 + metadata_storage_width: 0 + metadata_datawidth: 0 + metadata_counter_width: 9 + # Note that the two diretives below are describing + # whether this level can compress and decompress data transfers + # from itself to its parent (not child) + decompression_supported: true # from DRAM decompression + compression_supported: true # to DRAM compression + constraints: + dataspace: {keep: [Inputs, Outputs], bypass: [Weights]} + + - !Container # Each column of PEs produces a different psum row + name: PE_column + spatial: {meshX: 14} + constraints: + spatial: + permutation: [N, C, P, R, S, Q, M] + factors: [N=1, C=1, P=1, R=1, S=1] + split: 7 + + - !Container # Each PE in the column receives a different filter row + name: PE + spatial: {meshY: 12} + constraints: + spatial: + split: 4 + permutation: [N, P, Q, R, S, C, M] + factors: [N=1, P=1, Q=1, R=1] + + - !Parallel # Input/Output/Weight scratchpads in parallel + nodes: + - !Component + name: ifmap_spad + class: storage + subclass: smartbuffer_RF + attributes: + depth: 12 + width: 17 # actual data + 1bit mask + n_banks: 1 + datawidth: 17 + read_bandwidth: 2 + write_bandwidth: 2 + constraints: + dataspace: {keep: [Inputs]} + temporal: + permutation: [N, M, C, P, Q, R, S] + factors: [N=1, M=1, C=1, P=1, Q=1, R=1, S=1] + + - !Component + name: weights_spad + class: storage + subclass: smartbuffer_RF + attributes: + depth: 224 + width: 16 + n_banks: 1 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + constraints: + dataspace: {keep: [Weights]} + temporal: + permutation: [N, M, P, Q, S, C, R] + factors: [N=1, M=1, P=1, Q=1, S=1] + sparse_optimizations: + action_optimization: + - type: gating + options: + - target: Weights + condition_on: [ Inputs ] + + + - !Component + name: psum_spad + class: storage + subclass: smartbuffer_RF + attributes: + depth: 24 + width: 16 + n_banks: 1 + datawidth: 16 + constraints: + dataspace: {keep: [Outputs]} + temporal: + permutation: [N, C, P, Q, R, S, M] + factors: [N=1, C=1, R=1, S=1, P=1, Q=1] + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + +constraints: + version: 0.4 + targets: + # intuitive optimization for row stationary + # -> process a row/col of the output before going to the next one + - target: shared_glb + type: temporal + permutation: [Q, R, S, C, P, N, M] + factors: [Q=1, R=1, S=1, P=0] + # intuitive optimization to reduce map space size + - target: DRAM + type: temporal + permutation: [R, S, P, C, M, N, Q] + factors: [R=1, S=1, P=1] diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/mapping.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/mapping.yaml new file mode 100644 index 00000000..1fced428 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/mapping.yaml @@ -0,0 +1,62 @@ + +mapping: + # certain buffer only stores certain datatypes + - target: DRAM + type: temporal + permutation: [R, S, P, C, M, N, Q] + factors: [R=1, S=1, P=1, C=64, M=6, N=1, Q=1] + - target: DRAM + type: dataspace + keep: [Weights, Inputs, Outputs] + + + # only allow fanout of M, Q out from glb + - target: PE_column + type: spatial + split: 7 + permutation: [N, C, P, R, S, Q, M] + factors: [N=1, C=1, P=1, R=1, S=1, Q=0, M=1] + - target: shared_glb + type: temporal + permutation: [Q, R, S, C, P, N, M] + factors: [Q=1, R=1, S=1, P=0, C=1, N=4, M=1] + - target: shared_glb + type: dataspace + bypass: [Weights] + keep: [Inputs, Outputs] + + - target: PE + type: spatial + split: 4 + permutation: [N, P, Q, R, S, C, M] + factors: [N=1, P=1, Q=1, R=1, S=0, C=1, M=4] + + - target: ifmap_spad + type: dataspace + bypass: [Weights, Outputs] + keep: [Inputs] + - target: ifmap_spad + type: temporal + permutation: [N, M, C, P, Q, R, S] + factors: [N=1, M=1, C=1, P=1, Q=1, R=1, S=1] + + + # row stationary -> 1 row at a time + - target: weights_spad + type: temporal + permutation: [N, M, P, Q, S, C, R] + factors: [N=1, M=1, P=1, Q=1, S=1, R=0, C=4] + - target: weights_spad + type: dataspace + bypass: [Inputs, Outputs] + keep: [Weights] + + # one ofmap position but of different output channels + - target: psum_spad + type: temporal + permutation: [N, C, P, Q, R, S, M] + factors: [N=1, C=1, R=1, S=1, P=1, Q=1, M=16] + - target: psum_spad + type: dataspace + bypass: [Inputs, Weights] + keep: [Outputs] \ No newline at end of file diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/problem.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/problem.yaml new file mode 100644 index 00000000..319a4d85 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/problem.yaml @@ -0,0 +1,63 @@ +problem: + version: 0.4 + instance: + C: 256 + Hdilation: 1 + Hstride: 1 + M: 384 + N: 4 + P: 13 + Q: 13 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + densities: + Inputs: {distribution: fixed_structured, density: 0.275} + Weights: {distribution: fixed_structured, density: 0.446133} + Outputs: {distribution: fixed_structured, density: 0.403} + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..1b3ea1c2 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,809 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: eyeriss_168_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: DRAM[1..1] + class: DRAM + attributes: + width: 64 + datawidth: 16 + metadata_storage_width: 60 + metadata_datawidth: 5 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - write + - read + - leak + - update + enabled: true + - name: shared_glb[1..1] + class: storage + subclass: smartbuffer_metadata + attributes: + depth: 12800 + width: 64 + n_banks: 1 + read_bandwidth: 16 + write_bandwidth: 16 + datawidth: 16 + metadata_storage_depth: 0 + metadata_storage_width: 0 + metadata_datawidth: 0 + metadata_counter_width: 9 + decompression_supported: true + compression_supported: true + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - write + - read + - leak + - update + enabled: true + - name: inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + enabled: true + - name: inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + power_gated_at: null + enabled: true + - name: ifmap_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 12 + width: 17 + n_banks: 1 + datawidth: 17 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + required_actions: + - write + - read + - leak + - update + enabled: true + - name: weights_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 224 + width: 16 + n_banks: 1 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + required_actions: + - write + - read + - leak + - update + enabled: true + - name: psum_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 24 + width: 16 + n_banks: 1 + datawidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + required_actions: + - write + - read + - leak + - update + enabled: true + - name: mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - target: DRAM + type: temporal + permutation: RSPCMNQ + factors: R=1,S=1,P=1,C=64,M=6,N=1,Q=1 + - target: DRAM + type: bypass + keep: + - Weights + - Inputs + - Outputs + - keep: + - Inputs + - Outputs + bypass: + - Weights + type: bypass + target: shared_glb + - target: shared_glb + type: temporal + permutation: QRSCPNM + factors: Q=1,R=1,S=1,P=0,C=1,N=4,M=1 + - type: spatial + target: inter_PE_column_spatial + factors: N=1,C=1,P=1,R=1,S=1,Q=0,M=1 + permutation: NCPRSQM + split: 7 + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_column_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_column_spatial + - type: spatial + target: inter_PE_spatial + factors: N=1,P=1,Q=1,R=1,S=0,C=1,M=4 + permutation: NPQRSCM + split: 4 + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - keep: + - Inputs + type: bypass + target: ifmap_spad + bypass: + - Weights + - Outputs + - permutation: NMCPQRS + factors: N=1,M=1,C=1,P=1,Q=1,R=1,S=1 + type: temporal + target: ifmap_spad + - keep: + - Weights + type: bypass + target: weights_spad + bypass: + - Inputs + - Outputs + - permutation: NMPQSCR + factors: N=1,M=1,P=1,Q=1,S=1,R=0,C=4 + type: temporal + target: weights_spad + - keep: + - Outputs + type: bypass + target: psum_spad + bypass: + - Inputs + - Weights + - permutation: NCPQRSM + factors: N=1,C=1,R=1,S=1,P=1,Q=1,M=16 + type: temporal + target: psum_spad +problem: + version: '0.4' + instance: + C: 256 + Hdilation: 1 + Hstride: 1 + M: 384 + N: 4 + P: 13 + Q: 13 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + densities: + Inputs: + distribution: fixed_structured + density: 0.275 + band_width: 0 + workload_tensor_size: 0 + Weights: + distribution: fixed_structured + density: 0.446133 + band_width: 0 + workload_tensor_size: 0 + Outputs: + distribution: fixed_structured + density: 0.403 + band_width: 0 + workload_tensor_size: 0 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + read_write: false + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + read_write: false + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +sparse_optimizations: + targets: + - representation_format: + data_spaces: + - name: Inputs + ranks: + - format: UOP + flattened_rankIDs: + - - R + - S + - P + - C + - M + - N + - Q + - format: RLE + flattened_rankIDs: + - - R + - S + - P + - C + - M + - N + - Q + - name: Outputs + ranks: + - format: UOP + flattened_rankIDs: + - - P + - M + - N + - Q + - format: RLE + flattened_rankIDs: + - - P + - M + - N + - Q + name: DRAM + - action_optimization: + - type: gating + options: + - target: Weights + condition_on: + - Inputs + name: weights_spad +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..ba9ef5cd --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,19 @@ +ART: + version: '0.4' + tables: + - name: eyeriss_168_top_level.DRAM[1..1] + area: 0.0 + - name: eyeriss_168_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + - name: eyeriss_168_top_level.inter_PE_spatial[1..14] + area: 1.0 + - name: eyeriss_168_top_level.shared_glb[1..1] + area: 348892.5 + - name: eyeriss_168_top_level.ifmap_spad[1..168] + area: 171.058682 + - name: eyeriss_168_top_level.weights_spad[1..168] + area: 14736.91 + - name: eyeriss_168_top_level.psum_spad[1..168] + area: 600.798281 + - name: eyeriss_168_top_level.mac[1..168] + area: 417.0 diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..ae545e2d --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,59 @@ +ART_summary: + version: '0.4' + table_summary: + - name: eyeriss_168_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: eyeriss_168_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: eyeriss_168_top_level.inter_PE_spatial[1..14] + area: 1.0 + primitive_estimations: dummy_table + - name: eyeriss_168_top_level.shared_glb[1..1] + area: 348892.5 + primitive_estimations: + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: Aladdin_table + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.ifmap_spad[1..168] + area: 171.058682 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.weights_spad[1..168] + area: 14736.91 + primitive_estimations: + - name: storage.storage[1..7168] + estimator: Library + - name: storage.comparator[1..224] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.psum_spad[1..168] + area: 600.798281 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.mac[1..168] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..11236a8b --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,104 @@ +ERT: + version: '0.4' + tables: + - name: eyeriss_168_top_level.DRAM[1..1] + actions: + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: eyeriss_168_top_level.shared_glb[1..1] + actions: + - name: read + arguments: {} + energy: 28.426775 + - name: write + arguments: {} + energy: 23.503475 + - name: update + arguments: {} + energy: 23.503475 + - name: metadata_read + arguments: {} + energy: 0.006562 + - name: metadata_write + arguments: {} + energy: 0.006562 + - name: metadata_update + arguments: {} + energy: 0.006562 + - name: leak + arguments: {} + energy: 0.004781 + - name: decompression_count + arguments: {} + energy: 0.059062 + - name: compression_count + arguments: {} + energy: 0.059062 + - name: eyeriss_168_top_level.ifmap_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.297769 + - name: read + arguments: {} + energy: 0.339229 + - name: leak + arguments: {} + energy: 0.000735 + - name: update + arguments: {} + energy: 0.297769 + - name: eyeriss_168_top_level.weights_spad[1..168] + actions: + - name: write + arguments: {} + energy: 3.35314 + - name: read + arguments: {} + energy: 3.49714 + - name: leak + arguments: {} + energy: 0.003961 + - name: update + arguments: {} + energy: 3.35314 + - name: eyeriss_168_top_level.psum_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.47162 + - name: read + arguments: {} + energy: 0.538625 + - name: leak + arguments: {} + energy: 0.00102 + - name: update + arguments: {} + energy: 0.47162 + - name: eyeriss_168_top_level.mac[1..168] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..00382880 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,137 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: eyeriss_168_top_level.DRAM[1..1] + actions: + - name: write + energy: 512.0 + - name: read + energy: 512.0 + - name: leak + energy: 0.0 + - name: update + energy: 512.0 + primitive_estimation(s): + - name: eyeriss_168_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: eyeriss_168_top_level.shared_glb[1..1] + actions: + - name: read + energy: 28.426775 + - name: write + energy: 23.503475 + - name: update + energy: 23.503475 + - name: metadata_read + energy: 0.006562 + - name: metadata_write + energy: 0.006562 + - name: metadata_update + energy: 0.006562 + - name: leak + energy: 0.004781 + - name: decompression_count + energy: 0.059062 + - name: compression_count + energy: 0.059062 + primitive_estimation(s): + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: Aladdin_table + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: eyeriss_168_top_level.ifmap_spad[1..168] + actions: + - name: write + energy: 0.297769 + - name: read + energy: 0.339229 + - name: leak + energy: 0.000735 + - name: update + energy: 0.297769 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.weights_spad[1..168] + actions: + - name: write + energy: 3.35314 + - name: read + energy: 3.49714 + - name: leak + energy: 0.003961 + - name: update + energy: 3.35314 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..224] + estimator: Library + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: storage.storage[1..7168] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.psum_spad[1..168] + actions: + - name: write + energy: 0.47162 + - name: read + energy: 0.538625 + - name: leak + energy: 0.00102 + - name: update + energy: 0.47162 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.mac[1..168] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..91e1402f --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,853 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:57 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:57 INFO Adding required action "write" to class DRAM +2024-05-29 16:49:57 INFO Adding required action "read" to class DRAM +2024-05-29 16:49:57 INFO Adding required action "leak" to class DRAM +2024-05-29 16:49:57 INFO Adding required action "update" to class DRAM +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.53125. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 0.1875. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 12. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.099609375. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.1439593692898605. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.099609375. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 224. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 0.375. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 24. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.1875. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.23265607289158186. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.1875. +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:57 INFO Getting all estimators in module +2024-05-29 16:49:57 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:57 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:57 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:57 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:57 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:57 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:57 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:57 INFO Found estimator plug-in: Library () +2024-05-29 16:49:57 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:57 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:57 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:57 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:57 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated storage."width" as "width" = 64. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "depth" = 12800. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage.storage."width" as "width" = 64. +2024-05-29 16:49:57 INFO Calculated storage.storage."depth" as "depth" = 12800. +2024-05-29 16:49:57 INFO Calculated storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:57 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:57 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:57 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 0. +2024-05-29 16:49:57 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 0. +2024-05-29 16:49:57 INFO Calculated metadata_storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated metadata_storage.storage."width" as "width" = 0. +2024-05-29 16:49:57 INFO Calculated metadata_storage.storage."depth" as "depth" = 0. +2024-05-29 16:49:57 INFO Calculated metadata_storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:57 INFO Calculated metadata_storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 1. +2024-05-29 16:49:57 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 1. +2024-05-29 16:49:57 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 1. +2024-05-29 16:49:57 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 9. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.shared_glb[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.shared_glb[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.area_scale as "area_scale" = 0.099609375. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.1439593692898605. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.1439593692898605. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.099609375. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.ifmap_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.ifmap_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.1439593692898605. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "memory_depth" = 224. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.area_scale as "area_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 7168. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated storage.storage[1..7168]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..224]."n_bits" as "max(1, ceil(log2(depth)))" = 8. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..224]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 7168. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.weights_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.weights_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.area_scale as "area_scale" = 0.1875. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 5. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 5. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 5. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.23265607289158186. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.23265607289158186. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.1875. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.psum_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.psum_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.23265607289158186. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:57 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:57 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(width=64, datawidth=16, metadata_storage_width=60, metadata_datawidth=5, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, metadata_storage_width, metadata_datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (width) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(width=64, datawidth=16, metadata_storage_width=60, metadata_datawidth=5, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, metadata_storage_width, metadata_datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (width) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.read. Arguments used: () +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(width=64, datawidth=16, metadata_storage_width=60, metadata_datawidth=5, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, metadata_storage_width, metadata_datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (width) +2024-05-29 16:49:57 INFO | Unused arguments (action_latency_cycles) provided for DRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(width=64, datawidth=16, metadata_storage_width=60, metadata_datawidth=5, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, metadata_storage_width, metadata_datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (width) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.update. Arguments used: () +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=64, depth=12800, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.8334900000000002e-11 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=102400 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpgljvwmtw +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp538vgr5b +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpgljvwmtw >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp538vgr5b 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 39.990752138567956 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.091875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=64, depth=12800, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.3411600000000003e-11 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=102400 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmplaoc4d3p +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpdbba00y_ +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmplaoc4d3p >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpdbba00y_ 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 39.990752138567956 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.091875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=64, depth=12800, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 2.3411600000000003e-11 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=102400 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmphk191_vp +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpeiqd35rb +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmphk191_vp >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpeiqd35rb 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 39.990752138567956 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.091875p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=0, depth=0, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0p with accuracy 70%. +2024-05-29 16:49:58 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:49:58 INFO | CactiSRAM with accuracy 80% estimating value: AssertionError: width must be an integer >0. Got 0. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0065625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=0, depth=0, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0p with accuracy 70%. +2024-05-29 16:49:58 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:49:58 INFO | CactiSRAM with accuracy 80% estimating value: AssertionError: width must be an integer >0. Got 0. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0065625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=0, depth=0, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0p with accuracy 70%. +2024-05-29 16:49:58 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:49:58 INFO | CactiSRAM with accuracy 80% estimating value: AssertionError: width must be an integer >0. Got 0. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0065625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=64, depth=12800, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 2.62474e-15 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=102400 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppxejhmdr +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp19sqxy32 +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppxejhmdr >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp19sqxy32 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 39.990752138567956 bits/second +2024-05-29 16:49:58 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 1.60037 +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.00100625p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=0, depth=0, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:49:58 INFO | CactiSRAM with accuracy 80% estimating value: AssertionError: width must be an integer >0. Got 0. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 7.1875e-05p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.02625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.02625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0002875p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.02625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.000575p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=5, precision=5, width=5, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0328125p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=5, precision=5, width=5, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0328125p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=5, precision=5, width=5, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.000359375p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=5, precision=5, width=5, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0328125p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 WARNING No action counts are specified as yaml input +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for DRAM(width=64, datawidth=16, metadata_storage_width=60, metadata_datawidth=5, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (datawidth, metadata_storage_width, metadata_datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (width) +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=14, meshY=1, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for SRAM(width=64, depth=12800, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 3.4862399999999996e-07 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=102400 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmprbsp8j9k +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpiokqefzb +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmprbsp8j9k >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpiokqefzb 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 39.990752138567956 bits/second +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 78.3125u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for SRAM(width=0, depth=0, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:49:58 INFO | CactiSRAM with accuracy 80% estimating value: AssertionError: width must be an integer >0. Got 0. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 5.59375u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(technology=45nm, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 50.34375u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 22.375u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 44.75u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(n_bits=5, precision=5, width=5, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 27.96875u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO flattened architecture is saved to: +2024-05-29 16:49:58 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:49:58 INFO energy reference table is saved to: +2024-05-29 16:49:58 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:49:58 INFO energy reference table summary is saved to: +2024-05-29 16:49:58 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:49:58 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:49:58 INFO area reference table is saved to: +2024-05-29 16:49:58 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:49:58 INFO area reference table summary is saved to: +2024-05-29 16:49:58 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..96fed3be --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,252 @@ +architecture: + version: '0.4' + local: + - name: eyeriss_168_top_level.DRAM[1..1] + class: DRAM + attributes: + width: 64 + datawidth: 16 + metadata_storage_width: 60 + metadata_datawidth: 5 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - write + - read + - leak + - update + enabled: true + - name: eyeriss_168_top_level.shared_glb[1..1] + class: storage + subclass: smartbuffer_metadata + attributes: + depth: 12800 + width: 64 + n_banks: 1 + read_bandwidth: 16 + write_bandwidth: 16 + datawidth: 16 + metadata_storage_depth: 0 + metadata_storage_width: 0 + metadata_datawidth: 0 + metadata_counter_width: 9 + decompression_supported: true + compression_supported: true + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rdwr_ports: 1 + required_actions: + - write + - read + - leak + - update + enabled: true + - name: eyeriss_168_top_level.inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: eyeriss_168_top_level.inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: eyeriss_168_top_level.ifmap_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 12 + width: 17 + n_banks: 1 + datawidth: 17 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.53125 + depthscale: 0.1875 + real_depth: 12 + area_scale: 0.099609375 + dynamic_energy_scale: 0.1439593692898605 + static_energy_scale: 0.099609375 + n_rdwr_ports: 1 + required_actions: + - write + - read + - leak + - update + enabled: true + - name: eyeriss_168_top_level.weights_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 224 + width: 16 + n_banks: 1 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 224 + widthscale: 0.5 + depthscale: 1.0 + real_depth: 224 + area_scale: 0.5 + dynamic_energy_scale: 0.5 + static_energy_scale: 0.5 + n_rdwr_ports: 1 + required_actions: + - write + - read + - leak + - update + enabled: true + - name: eyeriss_168_top_level.psum_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 24 + width: 16 + n_banks: 1 + datawidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.375 + real_depth: 24 + area_scale: 0.1875 + dynamic_energy_scale: 0.23265607289158186 + static_energy_scale: 0.1875 + n_rdwr_ports: 1 + required_actions: + - write + - read + - leak + - update + enabled: true + - name: eyeriss_168_top_level.mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..8fc3e64e --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,42 @@ +#error Tenssella does not support bypass. +t6 +C 64 M 6 R 1 S 1 N 1 P 1 Q 1 +CM +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t5 +C 1 M 1 R 1 S 1 N 4 P 13 Q 1 +PN +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 13 +Q +7 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s3 +C 1 M 4 R 1 S 3 N 1 P 1 Q 1 +SM +5 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +C 4 M 1 R 3 S 1 N 1 P 1 Q 1 +CR +t0 +C 1 M 16 R 1 S 1 N 1 P 1 Q 1 +M diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/sparseloop/04.2.1-eyeriss-like-gating/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/arch.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/arch.yaml new file mode 100644 index 00000000..6aabe98f --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/arch.yaml @@ -0,0 +1,157 @@ +architecture: + version: 0.4 + nodes: + - !Container + name: eyeriss_168 + attributes: + technology: "45nm" + + - !Component + name: DRAM + class: DRAM + attributes: + width: 64 + datawidth: 16 + metadata_storage_width: 60 + metadata_datawidth: 5 + sparse_optimizations: + representation_format: + data_spaces: + - name: Inputs + ranks: + - format: UOP + flattened_rankIDs: [ [R, S, P, C, M, N, Q] ] + - format: RLE + flattened_rankIDs: [ [R, S, P, C, M, N, Q] ] + + - name: Outputs + ranks: + - format: UOP + flattened_rankIDs: [ [P, M, N, Q] ] + - format: RLE + flattened_rankIDs: [ [P, M, N, Q] ] + + - !Component + name: shared_glb + class: storage + subclass: smartbuffer_metadata + attributes: + depth: 12800 + width: 64 + n_banks: 1 + read_bandwidth: 16 + write_bandwidth: 16 + datawidth: 16 + metadata_storage_depth: 0 + metadata_storage_width: 0 + metadata_datawidth: 0 + metadata_counter_width: 9 + # Note that the two diretives below are describing + # whether this level can compress and decompress data transfers + # from itself to its parent (not child) + decompression_supported: true # from DRAM decompression + compression_supported: true # to DRAM compression + constraints: + dataspace: {keep: [Inputs, Outputs], bypass: [Weights]} + + - !Container # Each column of PEs produces a different psum row + name: PE_column + spatial: {meshX: 14} + constraints: + spatial: + permutation: [N, C, P, R, S, Q, M] + factors: [N=1, C=1, P=1, R=1, S=1] + split: 7 + + - !Container # Each PE in the column receives a different filter row + name: PE + spatial: {meshY: 12} + constraints: + spatial: + split: 4 + permutation: [N, P, Q, R, S, C, M] + factors: [N=1, P=1, Q=1, R=1] + + - !Parallel # Input/Output/Weight scratchpads in parallel + nodes: + - !Component + name: ifmap_spad + class: storage + subclass: smartbuffer_RF + attributes: + depth: 12 + width: 17 # actual data + 1bit mask + n_banks: 1 + datawidth: 17 + read_bandwidth: 2 + write_bandwidth: 2 + constraints: + dataspace: {keep: [Inputs]} + temporal: + permutation: [N, M, C, P, Q, R, S] + factors: [M=1, C=1, P=1, Q=1, R=1, S=1] + + - !Component + name: weights_spad + class: storage + subclass: smartbuffer_RF + attributes: + depth: 224 + width: 16 + n_banks: 1 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + constraints: + dataspace: {keep: [Weights]} + temporal: + permutation: [N, M, P, Q, S, C, R] + factors: [M=1, P=1, Q=1, S=1] + sparse_optimizations: + action_optimization: + - type: gating + options: + - target: Weights + condition_on: [ Inputs ] + + - !Component + name: psum_spad + class: storage + subclass: smartbuffer_RF + attributes: + depth: 24 + width: 16 + n_banks: 1 + datawidth: 16 + constraints: + dataspace: {keep: [Outputs]} + temporal: + permutation: [N, C, P, Q, R, S, M] + factors: [C=1, R=1, S=1, P=1, Q=1] + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + +# +# The following constraints are not limitations of the hardware architecture and dataflow, +# but help limit the search space to speed up search +# + +mapspace_constraints: + version: 0.4 + targets: + # intuitive optimization for row stationary + # -> process a row/col of the output before going to the next one + - target: shared_glb + type: temporal + permutation: [Q, R, S, C, P, N, M] + factors: [Q=1, R=1, S=1, P=0] + # intuitive optimization to reduce map space size + - target: DRAM + type: temporal + permutation: [R, S, P, C, M, N, Q] + factors: [R=1, S=1, P=1] diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/problem.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/problem.yaml new file mode 100644 index 00000000..319a4d85 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/problem.yaml @@ -0,0 +1,63 @@ +problem: + version: 0.4 + instance: + C: 256 + Hdilation: 1 + Hstride: 1 + M: 384 + N: 4 + P: 13 + Q: 13 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + densities: + Inputs: {distribution: fixed_structured, density: 0.275} + Weights: {distribution: fixed_structured, density: 0.446133} + Outputs: {distribution: fixed_structured, density: 0.403} + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..c53bfdb2 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,795 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: eyeriss_168_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: DRAM[1..1] + class: DRAM + attributes: + width: 64 + datawidth: 16 + metadata_storage_width: 60 + metadata_datawidth: 5 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - update + - leak + - read + - write + enabled: true + - name: shared_glb[1..1] + class: storage + subclass: smartbuffer_metadata + attributes: + depth: 12800 + width: 64 + n_banks: 1 + read_bandwidth: 16 + write_bandwidth: 16 + datawidth: 16 + metadata_storage_depth: 0 + metadata_storage_width: 0 + metadata_datawidth: 0 + metadata_counter_width: 9 + decompression_supported: true + compression_supported: true + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - update + - leak + - read + - write + enabled: true + - name: inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + enabled: true + - name: inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + power_gated_at: null + enabled: true + - name: ifmap_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 12 + width: 17 + n_banks: 1 + datawidth: 17 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + required_actions: + - update + - leak + - read + - write + enabled: true + - name: weights_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 224 + width: 16 + n_banks: 1 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + required_actions: + - update + - leak + - read + - write + enabled: true + - name: psum_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 24 + width: 16 + n_banks: 1 + datawidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + required_actions: + - update + - leak + - read + - write + enabled: true + - name: mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - keep: + - Inputs + - Outputs + bypass: + - Weights + type: bypass + target: shared_glb + - type: spatial + factors: N=1,C=1,P=1,R=1,S=1 + permutation: NCPRSQM + split: 7 + target: inter_PE_column_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_column_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_column_spatial + - type: spatial + factors: N=1,P=1,Q=1,R=1 + permutation: NPQRSCM + split: 4 + target: inter_PE_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - keep: + - Inputs + type: bypass + bypass: + - Outputs + - Weights + target: ifmap_spad + - permutation: NMCPQRS + factors: M=1,C=1,P=1,Q=1,R=1,S=1 + type: temporal + target: ifmap_spad + - keep: + - Weights + type: bypass + bypass: + - Inputs + - Outputs + target: weights_spad + - permutation: NMPQSCR + factors: M=1,P=1,Q=1,S=1 + type: temporal + target: weights_spad + - keep: + - Outputs + type: bypass + bypass: + - Inputs + - Weights + target: psum_spad + - permutation: NCPQRSM + factors: C=1,R=1,S=1,P=1,Q=1 + type: temporal + target: psum_spad +problem: + version: '0.4' + instance: + C: 256 + Hdilation: 1 + Hstride: 1 + M: 384 + N: 4 + P: 13 + Q: 13 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + densities: + Inputs: + distribution: fixed_structured + density: 0.275 + band_width: 0 + workload_tensor_size: 0 + Weights: + distribution: fixed_structured + density: 0.446133 + band_width: 0 + workload_tensor_size: 0 + Outputs: + distribution: fixed_structured + density: 0.403 + band_width: 0 + workload_tensor_size: 0 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + read_write: false + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + read_write: false + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +sparse_optimizations: + targets: + - representation_format: + data_spaces: + - name: Inputs + ranks: + - format: UOP + flattened_rankIDs: + - - R + - S + - P + - C + - M + - N + - Q + - format: RLE + flattened_rankIDs: + - - R + - S + - P + - C + - M + - N + - Q + - name: Outputs + ranks: + - format: UOP + flattened_rankIDs: + - - P + - M + - N + - Q + - format: RLE + flattened_rankIDs: + - - P + - M + - N + - Q + name: DRAM + - action_optimization: + - type: gating + options: + - target: Weights + condition_on: + - Inputs + name: weights_spad +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..ba9ef5cd --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,19 @@ +ART: + version: '0.4' + tables: + - name: eyeriss_168_top_level.DRAM[1..1] + area: 0.0 + - name: eyeriss_168_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + - name: eyeriss_168_top_level.inter_PE_spatial[1..14] + area: 1.0 + - name: eyeriss_168_top_level.shared_glb[1..1] + area: 348892.5 + - name: eyeriss_168_top_level.ifmap_spad[1..168] + area: 171.058682 + - name: eyeriss_168_top_level.weights_spad[1..168] + area: 14736.91 + - name: eyeriss_168_top_level.psum_spad[1..168] + area: 600.798281 + - name: eyeriss_168_top_level.mac[1..168] + area: 417.0 diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..ae545e2d --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,59 @@ +ART_summary: + version: '0.4' + table_summary: + - name: eyeriss_168_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: eyeriss_168_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: eyeriss_168_top_level.inter_PE_spatial[1..14] + area: 1.0 + primitive_estimations: dummy_table + - name: eyeriss_168_top_level.shared_glb[1..1] + area: 348892.5 + primitive_estimations: + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: Aladdin_table + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.ifmap_spad[1..168] + area: 171.058682 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.weights_spad[1..168] + area: 14736.91 + primitive_estimations: + - name: storage.storage[1..7168] + estimator: Library + - name: storage.comparator[1..224] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.psum_spad[1..168] + area: 600.798281 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.mac[1..168] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..ae6720e3 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,104 @@ +ERT: + version: '0.4' + tables: + - name: eyeriss_168_top_level.DRAM[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: eyeriss_168_top_level.shared_glb[1..1] + actions: + - name: read + arguments: {} + energy: 28.426775 + - name: write + arguments: {} + energy: 23.503475 + - name: update + arguments: {} + energy: 23.503475 + - name: metadata_read + arguments: {} + energy: 0.006562 + - name: metadata_write + arguments: {} + energy: 0.006562 + - name: metadata_update + arguments: {} + energy: 0.006562 + - name: leak + arguments: {} + energy: 0.004781 + - name: decompression_count + arguments: {} + energy: 0.059062 + - name: compression_count + arguments: {} + energy: 0.059062 + - name: eyeriss_168_top_level.ifmap_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.297769 + - name: read + arguments: {} + energy: 0.339229 + - name: leak + arguments: {} + energy: 0.000735 + - name: update + arguments: {} + energy: 0.297769 + - name: eyeriss_168_top_level.weights_spad[1..168] + actions: + - name: write + arguments: {} + energy: 3.35314 + - name: read + arguments: {} + energy: 3.49714 + - name: leak + arguments: {} + energy: 0.003961 + - name: update + arguments: {} + energy: 3.35314 + - name: eyeriss_168_top_level.psum_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.47162 + - name: read + arguments: {} + energy: 0.538625 + - name: leak + arguments: {} + energy: 0.00102 + - name: update + arguments: {} + energy: 0.47162 + - name: eyeriss_168_top_level.mac[1..168] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..e7d57392 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,137 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: eyeriss_168_top_level.DRAM[1..1] + actions: + - name: update + energy: 512.0 + - name: leak + energy: 0.0 + - name: read + energy: 512.0 + - name: write + energy: 512.0 + primitive_estimation(s): + - name: eyeriss_168_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: eyeriss_168_top_level.shared_glb[1..1] + actions: + - name: read + energy: 28.426775 + - name: write + energy: 23.503475 + - name: update + energy: 23.503475 + - name: metadata_read + energy: 0.006562 + - name: metadata_write + energy: 0.006562 + - name: metadata_update + energy: 0.006562 + - name: leak + energy: 0.004781 + - name: decompression_count + energy: 0.059062 + - name: compression_count + energy: 0.059062 + primitive_estimation(s): + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: Aladdin_table + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: eyeriss_168_top_level.ifmap_spad[1..168] + actions: + - name: write + energy: 0.297769 + - name: read + energy: 0.339229 + - name: leak + energy: 0.000735 + - name: update + energy: 0.297769 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.weights_spad[1..168] + actions: + - name: write + energy: 3.35314 + - name: read + energy: 3.49714 + - name: leak + energy: 0.003961 + - name: update + energy: 3.35314 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..224] + estimator: Library + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: storage.storage[1..7168] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.psum_spad[1..168] + actions: + - name: write + energy: 0.47162 + - name: read + energy: 0.538625 + - name: leak + energy: 0.00102 + - name: update + energy: 0.47162 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.mac[1..168] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..13efdcb8 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,853 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Adding required action "update" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "leak" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "read" to class DRAM +2024-05-29 16:49:56 INFO Adding required action "write" to class DRAM +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.53125. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 0.1875. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 12. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.099609375. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.1439593692898605. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.099609375. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 224. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2024-05-29 16:49:56 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 0.375. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 24. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.1875. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.23265607289158186. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.1875. +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:57 INFO Getting all estimators in module +2024-05-29 16:49:57 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:57 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:57 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:57 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:57 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:57 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:57 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:57 INFO Found estimator plug-in: Library () +2024-05-29 16:49:57 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:57 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:57 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:57 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:57 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated storage."width" as "width" = 64. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "depth" = 12800. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage.storage."width" as "width" = 64. +2024-05-29 16:49:57 INFO Calculated storage.storage."depth" as "depth" = 12800. +2024-05-29 16:49:57 INFO Calculated storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:57 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:57 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:57 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 0. +2024-05-29 16:49:57 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 0. +2024-05-29 16:49:57 INFO Calculated metadata_storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated metadata_storage.storage."width" as "width" = 0. +2024-05-29 16:49:57 INFO Calculated metadata_storage.storage."depth" as "depth" = 0. +2024-05-29 16:49:57 INFO Calculated metadata_storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:57 INFO Calculated metadata_storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 1. +2024-05-29 16:49:57 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 1. +2024-05-29 16:49:57 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 1. +2024-05-29 16:49:57 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 9. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.shared_glb[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.shared_glb[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.area_scale as "area_scale" = 0.099609375. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.1439593692898605. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.1439593692898605. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.099609375. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.ifmap_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.ifmap_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.1439593692898605. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "memory_depth" = 224. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.area_scale as "area_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 7168. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated storage.storage[1..7168]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..224]."n_bits" as "max(1, ceil(log2(depth)))" = 8. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..224]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 7168. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.weights_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.weights_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.area_scale as "area_scale" = 0.1875. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 5. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 5. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 5. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.23265607289158186. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.23265607289158186. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.1875. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.psum_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.psum_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.23265607289158186. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:57 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:57 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(width=64, datawidth=16, metadata_storage_width=60, metadata_datawidth=5, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, metadata_storage_width, metadata_datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (width) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.update. Arguments used: () +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(width=64, datawidth=16, metadata_storage_width=60, metadata_datawidth=5, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, metadata_storage_width, metadata_datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (width) +2024-05-29 16:49:57 INFO | Unused arguments (action_latency_cycles) provided for DRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(width=64, datawidth=16, metadata_storage_width=60, metadata_datawidth=5, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, metadata_storage_width, metadata_datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (width) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.read. Arguments used: () +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(width=64, datawidth=16, metadata_storage_width=60, metadata_datawidth=5, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, metadata_storage_width, metadata_datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (width) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=64, depth=12800, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.8334900000000002e-11 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=102400 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpnyedwx76 +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7p11di01 +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpnyedwx76 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7p11di01 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 39.990752138567956 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.091875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=64, depth=12800, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.3411600000000003e-11 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=102400 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6cbb96uv +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpv0k_m8ys +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6cbb96uv >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpv0k_m8ys 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 39.990752138567956 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.091875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=64, depth=12800, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 2.3411600000000003e-11 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=102400 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_kficf7t +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbwuy5jyx +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_kficf7t >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbwuy5jyx 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 39.990752138567956 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.091875p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=0, depth=0, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0p with accuracy 70%. +2024-05-29 16:49:58 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:49:58 INFO | CactiSRAM with accuracy 80% estimating value: AssertionError: width must be an integer >0. Got 0. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0065625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=0, depth=0, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0p with accuracy 70%. +2024-05-29 16:49:58 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:49:58 INFO | CactiSRAM with accuracy 80% estimating value: AssertionError: width must be an integer >0. Got 0. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0065625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=0, depth=0, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0p with accuracy 70%. +2024-05-29 16:49:58 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:49:58 INFO | CactiSRAM with accuracy 80% estimating value: AssertionError: width must be an integer >0. Got 0. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0065625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=64, depth=12800, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 2.62474e-15 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=102400 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppn41yjih +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpvkutrs85 +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppn41yjih >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpvkutrs85 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 39.990752138567956 bits/second +2024-05-29 16:49:58 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 1.60037 +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.00100625p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=0, depth=0, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:49:58 INFO | CactiSRAM with accuracy 80% estimating value: AssertionError: width must be an integer >0. Got 0. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 7.1875e-05p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.02625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.02625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0002875p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.02625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.000575p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=5, precision=5, width=5, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0328125p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=5, precision=5, width=5, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0328125p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=5, precision=5, width=5, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.000359375p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=5, precision=5, width=5, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0328125p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 WARNING No action counts are specified as yaml input +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for DRAM(width=64, datawidth=16, metadata_storage_width=60, metadata_datawidth=5, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (datawidth, metadata_storage_width, metadata_datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (width) +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=14, meshY=1, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for SRAM(width=64, depth=12800, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 3.4862399999999996e-07 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=102400 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmplces1b5y +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5q_tqccp +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmplces1b5y >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5q_tqccp 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 39.990752138567956 bits/second +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 78.3125u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for SRAM(width=0, depth=0, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:49:58 INFO | CactiSRAM with accuracy 80% estimating value: AssertionError: width must be an integer >0. Got 0. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(n_bits=1, precision=1, width=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 5.59375u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(technology=45nm, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 50.34375u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 22.375u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 44.75u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for intadder(n_bits=5, precision=5, width=5, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 27.96875u^2 with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:58 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO flattened architecture is saved to: +2024-05-29 16:49:58 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:49:58 INFO energy reference table is saved to: +2024-05-29 16:49:58 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:49:58 INFO energy reference table summary is saved to: +2024-05-29 16:49:58 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:49:58 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:49:58 INFO area reference table is saved to: +2024-05-29 16:49:58 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:49:58 INFO area reference table summary is saved to: +2024-05-29 16:49:58 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..a78ad382 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,252 @@ +architecture: + version: '0.4' + local: + - name: eyeriss_168_top_level.DRAM[1..1] + class: DRAM + attributes: + width: 64 + datawidth: 16 + metadata_storage_width: 60 + metadata_datawidth: 5 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - leak + - read + - write + enabled: true + - name: eyeriss_168_top_level.shared_glb[1..1] + class: storage + subclass: smartbuffer_metadata + attributes: + depth: 12800 + width: 64 + n_banks: 1 + read_bandwidth: 16 + write_bandwidth: 16 + datawidth: 16 + metadata_storage_depth: 0 + metadata_storage_width: 0 + metadata_datawidth: 0 + metadata_counter_width: 9 + decompression_supported: true + compression_supported: true + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rdwr_ports: 1 + required_actions: + - update + - leak + - read + - write + enabled: true + - name: eyeriss_168_top_level.inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: eyeriss_168_top_level.inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: eyeriss_168_top_level.ifmap_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 12 + width: 17 + n_banks: 1 + datawidth: 17 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.53125 + depthscale: 0.1875 + real_depth: 12 + area_scale: 0.099609375 + dynamic_energy_scale: 0.1439593692898605 + static_energy_scale: 0.099609375 + n_rdwr_ports: 1 + required_actions: + - update + - leak + - read + - write + enabled: true + - name: eyeriss_168_top_level.weights_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 224 + width: 16 + n_banks: 1 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 224 + widthscale: 0.5 + depthscale: 1.0 + real_depth: 224 + area_scale: 0.5 + dynamic_energy_scale: 0.5 + static_energy_scale: 0.5 + n_rdwr_ports: 1 + required_actions: + - update + - leak + - read + - write + enabled: true + - name: eyeriss_168_top_level.psum_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 24 + width: 16 + n_banks: 1 + datawidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.375 + real_depth: 24 + area_scale: 0.1875 + dynamic_energy_scale: 0.23265607289158186 + static_energy_scale: 0.1875 + n_rdwr_ports: 1 + required_actions: + - update + - leak + - read + - write + enabled: true + - name: eyeriss_168_top_level.mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..b5a69068 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,42 @@ +#error Tenssella does not support bypass. +t6 +C 4 M 3 R 1 S 1 N 1 P 13 Q 1 +CPM +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t5 +C 8 M 2 R 1 S 3 N 4 P 1 Q 13 +NQCSM +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s4 +C 1 M 8 R 1 S 1 N 1 P 1 Q 1 +M +7 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s3 +C 2 M 4 R 1 S 1 N 1 P 1 Q 1 +CM +5 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +C 4 M 1 R 3 S 1 N 1 P 1 Q 1 +CR +t0 +C 1 M 2 R 1 S 1 N 1 P 1 Q 1 +M diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/sparseloop/04.2.2-eyeriss-like-gating-mapspace-search/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/arch.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/arch.yaml new file mode 100644 index 00000000..bc28375d --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/arch.yaml @@ -0,0 +1,159 @@ +architecture: + version: 0.4 + nodes: + - !Container + name: eyeriss_168 + attributes: + technology: "45nm" + + - !Component + name: DRAM + class: DRAM + attributes: + width: 64 + datawidth: 16 + metadata_storage_width: 60 + metadata_datawidth: 5 + sparse_optimizations: + representation_format: + data_spaces: + - name: Inputs + ranks: + - format: UOP + flattened_rankIDs: [ [R, S, P, C, M, N, Q] ] + - format: UOP + flattened_rankIDs: [ [R, S, P, C, M, N, Q] ] + - format: RLE + flattened_rankIDs: [ [R, S, P, C, M, N, Q] ] + + - name: Outputs + ranks: + - format: UOP + flattened_rankIDs: [ [P, M, N, Q] ] + - format: RLE + flattened_rankIDs: [ [P, M, N, Q] ] + + + - !Component + name: shared_glb + class: storage + subclass: smartbuffer_metadata + attributes: + depth: 12800 + width: 64 + n_banks: 1 + read_bandwidth: 16 + write_bandwidth: 16 + datawidth: 16 + metadata_storage_depth: 4096 + metadata_storage_width: 32 + metadata_datawidth: 4 + metadata_counter_width: 9 + # Note that the two diretives below are describing + # whether this level can compress and decompress data transfers + # from itself to its parent (not child) + decompression_supported: true # from DRAM decompression + compression_supported: true # to DRAM compression + constraints: + dataspace: {keep: [Inputs, Outputs], bypass: [Weights]} + sparse_optimizations: + representation_format: + data_spaces: + - name: Inputs + ranks: + - format: UOP + flattened_rankIDs: [ [R, S, P, C, M, N, Q] ] + - format: RLE + flattened_rankIDs: [ [R, S, P, C, M, N, Q] ] + + - !Container # Each column of PEs produces a different psum row + name: PE_column + spatial: {meshX: 14} + constraints: + spatial: + permutation: [N, C, P, R, S, Q, M] + factors: [N=1, C=1, P=1, R=1, S=1] + split: 7 + + - !Container # Each PE in the column receives a different filter row + name: PE + spatial: {meshY: 12} + constraints: + spatial: + split: 4 + permutation: [N, P, Q, R, S, C, M] + factors: [N=1, P=1, Q=1, R=1] + + - !Parallel # Input/Output/Weight scratchpads in parallel + nodes: + - !Component + name: ifmap_spad + class: storage + subclass: smartbuffer_RF + attributes: + depth: 12 + width: 16 # the data + n_banks: 1 + datawidth: 16 + metadata_storage_width: 8 + metadata_storage_depth: 4 + metadata_datawidth: 4 # rle metadata + read_bandwidth: 2 + write_bandwidth: 2 + constraints: + dataspace: {keep: [Inputs]} + temporal: + permutation: [N, M, C, P, Q, R, S] + factors: [N=1, M=1, C=1, P=1, Q=1, R=1, S=1] + sparse_optimizations: + representation_format: + data_spaces: + - name: Inputs + ranks: + - format: RLE + flattened_rankIDs: [ [R, S, P, C, M, N, Q] ] + + - !Component + name: weights_spad + class: storage + subclass: smartbuffer_RF + attributes: + depth: 224 + width: 16 + n_banks: 1 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + constraints: + dataspace: {keep: [Weights]} + temporal: + permutation: [N, M, P, Q, S, C, R] + factors: [N=1, M=1, P=1, Q=1, S=1] + sparse_optimizations: + action_optimization: + - type: skipping + options: + - target: Weights + condition_on: [ Inputs ] + + - !Component + name: psum_spad + class: storage + subclass: smartbuffer_RF + attributes: + depth: 224 + width: 16 + n_banks: 1 + datawidth: 16 + constraints: + dataspace: {keep: [Outputs]} + temporal: + permutation: [N, C, P, Q, R, S, M] + factors: [N=1, C=1, R=1, S=1, P=1, Q=1] + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/problem.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/problem.yaml new file mode 100644 index 00000000..319a4d85 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/problem.yaml @@ -0,0 +1,63 @@ +problem: + version: 0.4 + instance: + C: 256 + Hdilation: 1 + Hstride: 1 + M: 384 + N: 4 + P: 13 + Q: 13 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + densities: + Inputs: {distribution: fixed_structured, density: 0.275} + Weights: {distribution: fixed_structured, density: 0.446133} + Outputs: {distribution: fixed_structured, density: 0.403} + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/parsed-processed-input.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/parsed-processed-input.yaml new file mode 100644 index 00000000..020e9b2e --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/parsed-processed-input.yaml @@ -0,0 +1,844 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: eyeriss_168_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: DRAM[1..1] + class: DRAM + attributes: + width: 64 + datawidth: 16 + metadata_storage_width: 60 + metadata_datawidth: 5 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - read + - update + - leak + - write + enabled: true + - name: shared_glb[1..1] + class: storage + subclass: smartbuffer_metadata + attributes: + depth: 12800 + width: 64 + n_banks: 1 + read_bandwidth: 16 + write_bandwidth: 16 + datawidth: 16 + metadata_storage_depth: 4096 + metadata_storage_width: 32 + metadata_datawidth: 4 + metadata_counter_width: 9 + decompression_supported: true + compression_supported: true + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + required_actions: + - read + - update + - leak + - write + enabled: true + - name: inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + enabled: true + - name: inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + power_gated_at: null + enabled: true + - name: ifmap_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 12 + width: 16 + n_banks: 1 + datawidth: 16 + metadata_storage_width: 8 + metadata_storage_depth: 4 + metadata_datawidth: 4 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + required_actions: + - read + - update + - leak + - write + enabled: true + - name: weights_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 224 + width: 16 + n_banks: 1 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + required_actions: + - read + - update + - leak + - write + enabled: true + - name: psum_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 224 + width: 16 + n_banks: 1 + datawidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + required_actions: + - read + - update + - leak + - write + enabled: true + - name: mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - keep: + - Inputs + - Outputs + bypass: + - Weights + type: bypass + target: shared_glb + - type: spatial + factors: N=1,C=1,P=1,R=1,S=1 + permutation: NCPRSQM + split: 7 + target: inter_PE_column_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_column_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_column_spatial + - type: spatial + factors: N=1,P=1,Q=1,R=1 + permutation: NPQRSCM + split: 4 + target: inter_PE_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - keep: + - Inputs + type: bypass + bypass: + - Outputs + - Weights + target: ifmap_spad + - permutation: NMCPQRS + factors: N=1,M=1,C=1,P=1,Q=1,R=1,S=1 + type: temporal + target: ifmap_spad + - keep: + - Weights + type: bypass + bypass: + - Outputs + - Inputs + target: weights_spad + - permutation: NMPQSCR + factors: N=1,M=1,P=1,Q=1,S=1 + type: temporal + target: weights_spad + - keep: + - Outputs + type: bypass + bypass: + - Weights + - Inputs + target: psum_spad + - permutation: NCPQRSM + factors: N=1,C=1,R=1,S=1,P=1,Q=1 + type: temporal + target: psum_spad +problem: + version: '0.4' + instance: + C: 256 + Hdilation: 1 + Hstride: 1 + M: 384 + N: 4 + P: 13 + Q: 13 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + densities: + Inputs: + distribution: fixed_structured + density: 0.275 + band_width: 0 + workload_tensor_size: 0 + Weights: + distribution: fixed_structured + density: 0.446133 + band_width: 0 + workload_tensor_size: 0 + Outputs: + distribution: fixed_structured + density: 0.403 + band_width: 0 + workload_tensor_size: 0 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + read_write: false + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + read_write: false + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_RF + attributes: + width: width + depth: depth + - name: metadata_storage + class: smartbuffer_RF + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_metadata + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + metadata_storage_width: "must_specify" + metadata_storage_depth: "must_specify" + n_rdwr_ports: 1 + metadata_counter_width: 0 + subcomponents: + - name: storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: width + depth: depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_storage + class: smartbuffer_SRAM + attributes: + technology: technology + width: metadata_storage_width + depth: metadata_storage_depth + n_rdwr_ports: n_rdwr_ports + - name: metadata_counters[0..1] + class: intadder + attributes: + technology: technology + width: metadata_counter_width + actions: + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: metadata_read + subcomponents: + - name: metadata_storage + actions: + - name: read + - name: metadata_write + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: metadata_update + subcomponents: + - name: metadata_storage + actions: + - name: write + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: metadata_storage + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: decompression_count + subcomponents: + - name: metadata_counters[1] + actions: + - name: add + - name: compression_count + subcomponents: + - name: metadata_counters[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + n_rw_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + attributes: + width: width + depth: depth + n_rw_ports: n_rw_ports + technology: technology + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(depth))) if depth >= 1 else 1 + precision: max(1, ceil(log2(depth))) if depth >= 1 else 1 + width: max(1, ceil(log2(depth))) if depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + width: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +sparse_optimizations: + targets: + - representation_format: + data_spaces: + - name: Inputs + ranks: + - format: UOP + flattened_rankIDs: + - - R + - S + - P + - C + - M + - N + - Q + - format: UOP + flattened_rankIDs: + - - R + - S + - P + - C + - M + - N + - Q + - format: RLE + flattened_rankIDs: + - - R + - S + - P + - C + - M + - N + - Q + - name: Outputs + ranks: + - format: UOP + flattened_rankIDs: + - - P + - M + - N + - Q + - format: RLE + flattened_rankIDs: + - - P + - M + - N + - Q + name: DRAM + - representation_format: + data_spaces: + - name: Inputs + ranks: + - format: UOP + flattened_rankIDs: + - - R + - S + - P + - C + - M + - N + - Q + - format: RLE + flattened_rankIDs: + - - R + - S + - P + - C + - M + - N + - Q + name: shared_glb + - representation_format: + data_spaces: + - name: Inputs + ranks: + - format: RLE + flattened_rankIDs: + - - R + - S + - P + - C + - M + - N + - Q + name: ifmap_spad + - action_optimization: + - type: skipping + options: + - target: Weights + condition_on: + - Inputs + name: weights_spad +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + timeout: 10000 + victory_condition: 100 + algorithm: random + diagnostics: false + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.ART.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..a6566124 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.ART.yaml @@ -0,0 +1,19 @@ +ART: + version: '0.4' + tables: + - name: eyeriss_168_top_level.DRAM[1..1] + area: 0.0 + - name: eyeriss_168_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + - name: eyeriss_168_top_level.inter_PE_spatial[1..14] + area: 1.0 + - name: eyeriss_168_top_level.shared_glb[1..1] + area: 399033.2625 + - name: eyeriss_168_top_level.ifmap_spad[1..168] + area: 151.772812 + - name: eyeriss_168_top_level.weights_spad[1..168] + area: 14736.91 + - name: eyeriss_168_top_level.psum_spad[1..168] + area: 14736.91 + - name: eyeriss_168_top_level.mac[1..168] + area: 417.0 diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..b6365a1a --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,59 @@ +ART_summary: + version: '0.4' + table_summary: + - name: eyeriss_168_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: eyeriss_168_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: eyeriss_168_top_level.inter_PE_spatial[1..14] + area: 1.0 + primitive_estimations: dummy_table + - name: eyeriss_168_top_level.shared_glb[1..1] + area: 399033.2625 + primitive_estimations: + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.ifmap_spad[1..168] + area: 151.772812 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.weights_spad[1..168] + area: 14736.91 + primitive_estimations: + - name: storage.storage[1..7168] + estimator: Library + - name: storage.comparator[1..224] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.psum_spad[1..168] + area: 14736.91 + primitive_estimations: + - name: storage.storage[1..7168] + estimator: Library + - name: storage.comparator[1..224] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.mac[1..168] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.ERT.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..2b5516bf --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.ERT.yaml @@ -0,0 +1,104 @@ +ERT: + version: '0.4' + tables: + - name: eyeriss_168_top_level.DRAM[1..1] + actions: + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: eyeriss_168_top_level.shared_glb[1..1] + actions: + - name: read + arguments: {} + energy: 28.426775 + - name: write + arguments: {} + energy: 23.503475 + - name: update + arguments: {} + energy: 23.503475 + - name: metadata_read + arguments: {} + energy: 10.05676 + - name: metadata_write + arguments: {} + energy: 6.94631 + - name: metadata_update + arguments: {} + energy: 6.94631 + - name: leak + arguments: {} + energy: 0.006833 + - name: decompression_count + arguments: {} + energy: 0.059062 + - name: compression_count + arguments: {} + energy: 0.059062 + - name: eyeriss_168_top_level.ifmap_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.281797 + - name: read + arguments: {} + energy: 0.320819 + - name: leak + arguments: {} + energy: 0.000726 + - name: update + arguments: {} + energy: 0.281797 + - name: eyeriss_168_top_level.weights_spad[1..168] + actions: + - name: write + arguments: {} + energy: 3.35314 + - name: read + arguments: {} + energy: 3.49714 + - name: leak + arguments: {} + energy: 0.003961 + - name: update + arguments: {} + energy: 3.35314 + - name: eyeriss_168_top_level.psum_spad[1..168] + actions: + - name: write + arguments: {} + energy: 3.35314 + - name: read + arguments: {} + energy: 3.49714 + - name: leak + arguments: {} + energy: 0.003961 + - name: update + arguments: {} + energy: 3.35314 + - name: eyeriss_168_top_level.mac[1..168] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..87ca8791 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,137 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: eyeriss_168_top_level.DRAM[1..1] + actions: + - name: read + energy: 512.0 + - name: update + energy: 512.0 + - name: leak + energy: 0.0 + - name: write + energy: 512.0 + primitive_estimation(s): + - name: eyeriss_168_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: eyeriss_168_top_level.shared_glb[1..1] + actions: + - name: read + energy: 28.426775 + - name: write + energy: 23.503475 + - name: update + energy: 23.503475 + - name: metadata_read + energy: 10.05676 + - name: metadata_write + energy: 6.94631 + - name: metadata_update + energy: 6.94631 + - name: leak + energy: 0.006833 + - name: decompression_count + energy: 0.059062 + - name: compression_count + energy: 0.059062 + primitive_estimation(s): + - name: storage.storage + estimator: CactiSRAM + - name: storage.address_generators[1] + estimator: Aladdin_table + - name: storage.address_generators[0] + estimator: Aladdin_table + - name: metadata_storage.storage + estimator: CactiSRAM + - name: metadata_storage.address_generators[1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0] + estimator: Aladdin_table + - name: storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_storage.address_generators[0..1] + estimator: Aladdin_table + - name: metadata_counters[1] + estimator: Aladdin_table + - name: metadata_counters[0] + estimator: Aladdin_table + - name: eyeriss_168_top_level.ifmap_spad[1..168] + actions: + - name: write + energy: 0.281797 + - name: read + energy: 0.320819 + - name: leak + energy: 0.000726 + - name: update + energy: 0.281797 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.weights_spad[1..168] + actions: + - name: write + energy: 3.35314 + - name: read + energy: 3.49714 + - name: leak + energy: 0.003961 + - name: update + energy: 3.35314 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..224] + estimator: Library + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: storage.storage[1..7168] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.psum_spad[1..168] + actions: + - name: write + energy: 3.35314 + - name: read + energy: 3.49714 + - name: leak + energy: 0.003961 + - name: update + energy: 3.35314 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..224] + estimator: Library + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: storage.storage[1..7168] + estimator: Library + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_168_top_level.mac[1..168] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.accelergy.log b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..85f45f8e --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.accelergy.log @@ -0,0 +1,888 @@ +2024-05-29 16:49:56 INFO _ _ +2024-05-29 16:49:56 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:49:56 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:49:56 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:49:56 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:49:56 INFO |___/ |___/ +2024-05-29 16:49:56 INFO generating outputs according to the following specified output flags... +2024-05-29 16:49:56 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:49:56 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:49:56 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:49:56 INFO config file located: +2024-05-29 16:49:56 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:49:56 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:49:56 WARNING Please update the file to the latest version. +2024-05-29 16:49:56 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/parsed-processed-input.yaml for architecture info +2024-05-29 16:49:56 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/parsed-processed-input.yaml for compound_components info +2024-05-29 16:49:57 INFO YAML Setting environment variable TIMELOOP_HIDE_INCONSEQUENTIAL_STATS to 1 +2024-05-29 16:49:57 INFO Adding required action "read" to class DRAM +2024-05-29 16:49:57 INFO Adding required action "update" to class DRAM +2024-05-29 16:49:57 INFO Adding required action "leak" to class DRAM +2024-05-29 16:49:57 INFO Adding required action "write" to class DRAM +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 0.1875. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 12. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.09375. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.1354911710963393. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.09375. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 224. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 224. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.5. +2024-05-29 16:49:57 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.5. +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:49:57 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:49:57 INFO Getting all estimators in module +2024-05-29 16:49:57 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:49:57 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:49:57 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:49:57 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:49:57 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:49:57 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:49:57 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:49:57 INFO Found estimator plug-in: Library () +2024-05-29 16:49:57 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:49:57 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:49:57 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:49:57 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:49:57 INFO Calculated storage."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated storage."width" as "width" = 64. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "depth" = 12800. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage.storage."width" as "width" = 64. +2024-05-29 16:49:57 INFO Calculated storage.storage."depth" as "depth" = 12800. +2024-05-29 16:49:57 INFO Calculated storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:57 INFO Calculated storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:57 INFO Calculated storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 14. +2024-05-29 16:49:57 INFO Calculated storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated metadata_storage."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated metadata_storage."width" as "metadata_storage_width" = 32. +2024-05-29 16:49:57 INFO Calculated metadata_storage."depth" as "metadata_storage_depth" = 4096. +2024-05-29 16:49:57 INFO Calculated metadata_storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated metadata_storage.storage."width" as "width" = 32. +2024-05-29 16:49:57 INFO Calculated metadata_storage.storage."depth" as "depth" = 4096. +2024-05-29 16:49:57 INFO Calculated metadata_storage.storage."n_rw_ports" as "n_rw_ports" = 1. +2024-05-29 16:49:57 INFO Calculated metadata_storage.storage."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated metadata_storage.storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated metadata_storage.address_generators[0..1]."n_bits" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 12. +2024-05-29 16:49:57 INFO Calculated metadata_storage.address_generators[0..1]."precision" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 12. +2024-05-29 16:49:57 INFO Calculated metadata_storage.address_generators[0..1]."width" as "max(1, ceil(log2(depth))) if depth >= 1 else 1" = 12. +2024-05-29 16:49:57 INFO Calculated metadata_storage.address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated metadata_counters[0..1]."technology" as "technology" = 45nm. +2024-05-29 16:49:57 INFO Calculated metadata_counters[0..1]."width" as "metadata_counter_width" = 9. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.shared_glb[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.shared_glb[1..1].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "memory_depth" = 64. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.area_scale as "area_scale" = 0.09375. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.1354911710963393. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.1354911710963393. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.09375. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.ifmap_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.ifmap_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.1354911710963393. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:49:57 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "memory_depth" = 224. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.area_scale as "area_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 7168. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated storage.storage[1..7168]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..224]."n_bits" as "max(1, ceil(log2(depth)))" = 8. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..224]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 7168. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.weights_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.weights_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:49:57 INFO Calculated storage."depth" as "memory_depth" = 224. +2024-05-29 16:49:57 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:49:57 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.area_scale as "area_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 7168. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated storage.storage[1..7168]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..224]."n_bits" as "max(1, ceil(log2(depth)))" = 8. +2024-05-29 16:49:57 INFO Calculated storage.comparator[1..224]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."width" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:49:57 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width*depth" = 7168. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.psum_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated eyeriss_168_top_level.psum_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:49:57 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:49:57 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:49:57 INFO Calculated list index expression as "depth" = 224. +2024-05-29 16:49:57 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:49:57 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:49:57 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(width=64, datawidth=16, metadata_storage_width=60, metadata_datawidth=5, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, metadata_storage_width, metadata_datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (width) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.read. Arguments used: () +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(width=64, datawidth=16, metadata_storage_width=60, metadata_datawidth=5, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, metadata_storage_width, metadata_datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (width) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.update. Arguments used: () +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(width=64, datawidth=16, metadata_storage_width=60, metadata_datawidth=5, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, metadata_storage_width, metadata_datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (width) +2024-05-29 16:49:57 INFO | Unused arguments (action_latency_cycles) provided for DRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:57 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for DRAM(width=64, datawidth=16, metadata_storage_width=60, metadata_datawidth=5, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:49:57 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (datawidth, metadata_storage_width, metadata_datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (width) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=64, depth=12800, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.8334900000000002e-11 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=102400 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpn9ma8zfr +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp308vqpms +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpn9ma8zfr >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp308vqpms 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 39.990752138567956 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.091875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=64, depth=12800, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO CactiSRAM estimated 2.3411600000000003e-11 with accuracy 80%. Messages: +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:57 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:57 INFO | Calling CACTI with cache_size=102400 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:57 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpk6rci1so +2024-05-29 16:49:57 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpc8nr_ba0 +2024-05-29 16:49:57 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:57 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpk6rci1so >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpc8nr_ba0 2>&1 +2024-05-29 16:49:57 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:57 INFO | Cache bandwidth: 39.990752138567956 bits/second +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:57 INFO Aladdin_table estimated 0.091875p with accuracy 70%. +2024-05-29 16:49:57 INFO +2024-05-29 16:49:57 INFO ENERGY ESTIMATION for SRAM(width=64, depth=12800, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 2.3411600000000003e-11 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=102400 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjz33z3xq +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpfhxupmrz +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjz33z3xq >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpfhxupmrz 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 39.990752138567956 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.091875p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=32, depth=4096, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 9.97801e-12 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=16384 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpsa2druym +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3hmzokey +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpsa2druym >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3hmzokey 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 29.061847243665426 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=12, precision=12, width=12, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.07875p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=32, depth=4096, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 6.867560000000001e-12 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=16384 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpw332t6ha +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjc9ndgb9 +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpw332t6ha >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjc9ndgb9 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 29.061847243665426 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=12, precision=12, width=12, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.07875p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=32, depth=4096, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 6.867560000000001e-12 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=16384 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpf44o60f1 +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpk50fvb83 +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpf44o60f1 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpk50fvb83 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 29.061847243665426 bits/second +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=12, precision=12, width=12, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.07875p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=64, depth=12800, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 2.62474e-15 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=102400 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp9krcwybp +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpm75wlfy4 +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp9krcwybp >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpm75wlfy4 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 39.990752138567956 bits/second +2024-05-29 16:49:58 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 1.60037 +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.00100625p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for SRAM(width=32, depth=4096, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO CactiSRAM estimated 4.71185e-16 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:58 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:49:58 INFO | Calling CACTI with cache_size=16384 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:58 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppe8p6a52 +2024-05-29 16:49:58 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp2mhbfrhl +2024-05-29 16:49:58 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:58 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppe8p6a52 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp2mhbfrhl 2>&1 +2024-05-29 16:49:58 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:58 INFO | Cache bandwidth: 29.061847243665426 bits/second +2024-05-29 16:49:58 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 1.1011 +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=12, precision=12, width=12, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0008625p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(technology=45nm, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0590625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.02625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.02625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0002875p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.02625p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.000575p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.000575p with accuracy 70%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Aladdin_table estimated 0.0525p with accuracy 70%. +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:49:58 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:58 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:49:58 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:49:58 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:49:58 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:58 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:58 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:49:58 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 WARNING No action counts are specified as yaml input +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for DRAM(width=64, datawidth=16, metadata_storage_width=60, metadata_datawidth=5, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, technology=45nm, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:49:58 INFO | Unused arguments (datawidth, metadata_storage_width, metadata_datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, technology, version, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (width) +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=14, meshY=1, version=0.4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:58 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:49:58 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:58 INFO +2024-05-29 16:49:58 INFO AREA ESTIMATION for SRAM(width=64, depth=12800, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:59 INFO CactiSRAM estimated 3.4862399999999996e-07 with accuracy 80%. Messages: +2024-05-29 16:49:59 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:59 INFO | Calling CACTI with cache_size=102400 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:59 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpmlx_wjce +2024-05-29 16:49:59 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7jz9viij +2024-05-29 16:49:59 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:59 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpmlx_wjce >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7jz9viij 2>&1 +2024-05-29 16:49:59 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:49:59 INFO | Cache bandwidth: 39.990752138567956 bits/second +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for intadder(n_bits=14, precision=14, width=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Aladdin_table estimated 78.3125u^2 with accuracy 70%. Messages: +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for SRAM(width=32, depth=4096, n_rw_ports=1, technology=45nm, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:59 INFO CactiSRAM estimated 5.0017699999999995e-08 with accuracy 80%. Messages: +2024-05-29 16:49:59 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, n_rw_ports, technology) +2024-05-29 16:49:59 INFO | Calling CACTI with cache_size=16384 n_rw_ports=1 block_size=4 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:49:59 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp21d07ai0 +2024-05-29 16:49:59 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpkfwa2abx +2024-05-29 16:49:59 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:49:59 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp21d07ai0 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpkfwa2abx 2>&1 +2024-05-29 16:49:59 INFO | Cache bandwidth: 4.0 bits/cycle +2024-05-29 16:49:59 INFO | Cache bandwidth: 29.061847243665426 bits/second +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for intadder(n_bits=12, precision=12, width=12, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Aladdin_table estimated 67.125u^2 with accuracy 70%. Messages: +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for intadder(technology=45nm, width=9, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:49:59 INFO Aladdin_table estimated 50.34375u^2 with accuracy 70%. Messages: +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for intadder(n_bits=4, precision=4, width=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Aladdin_table estimated 22.375u^2 with accuracy 70%. Messages: +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Aladdin_table estimated 44.75u^2 with accuracy 70%. Messages: +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for intadder(n_bits=8, precision=8, width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Aladdin_table estimated 44.75u^2 with accuracy 70%. Messages: +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling width from 32 to 16 +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:49:59 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO +2024-05-29 16:49:59 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:49:59 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:49:59 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:49:59 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:49:59 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:49:59 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:49:59 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:49:59 INFO | Multiplying by n_instances 1 +2024-05-29 16:49:59 INFO flattened architecture is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:49:59 INFO energy reference table is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:49:59 INFO energy reference table summary is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:49:59 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:49:59 INFO area reference table is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:49:59 INFO area reference table summary is saved to: +2024-05-29 16:49:59 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..079f4692 --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,255 @@ +architecture: + version: '0.4' + local: + - name: eyeriss_168_top_level.DRAM[1..1] + class: DRAM + attributes: + width: 64 + datawidth: 16 + metadata_storage_width: 60 + metadata_datawidth: 5 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + - name: eyeriss_168_top_level.shared_glb[1..1] + class: storage + subclass: smartbuffer_metadata + attributes: + depth: 12800 + width: 64 + n_banks: 1 + read_bandwidth: 16 + write_bandwidth: 16 + datawidth: 16 + metadata_storage_depth: 4096 + metadata_storage_width: 32 + metadata_datawidth: 4 + metadata_counter_width: 9 + decompression_supported: true + compression_supported: true + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + n_rdwr_ports: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + - name: eyeriss_168_top_level.inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: eyeriss_168_top_level.inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: eyeriss_168_top_level.ifmap_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 12 + width: 16 + n_banks: 1 + datawidth: 16 + metadata_storage_width: 8 + metadata_storage_depth: 4 + metadata_datawidth: 4 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.1875 + real_depth: 12 + area_scale: 0.09375 + dynamic_energy_scale: 0.1354911710963393 + static_energy_scale: 0.09375 + n_rdwr_ports: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + - name: eyeriss_168_top_level.weights_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 224 + width: 16 + n_banks: 1 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 224 + widthscale: 0.5 + depthscale: 1.0 + real_depth: 224 + area_scale: 0.5 + dynamic_energy_scale: 0.5 + static_energy_scale: 0.5 + n_rdwr_ports: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + - name: eyeriss_168_top_level.psum_spad[1..168] + class: storage + subclass: smartbuffer_RF + attributes: + depth: 224 + width: 16 + n_banks: 1 + datawidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 224 + widthscale: 0.5 + depthscale: 1.0 + real_depth: 224 + area_scale: 0.5 + dynamic_energy_scale: 0.5 + static_energy_scale: 0.5 + n_rdwr_ports: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + - name: eyeriss_168_top_level.mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "45nm" + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..d747d41b --- /dev/null +++ b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,42 @@ +#error Tenssella does not support bypass. +t6 +C 16 M 8 R 1 S 3 N 2 P 13 Q 13 +QPSMNC +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t5 +C 1 M 1 R 1 S 1 N 2 P 1 Q 1 +N +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s4 +C 1 M 12 R 1 S 1 N 1 P 1 Q 1 +M +7 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s3 +C 4 M 2 R 1 S 1 N 1 P 1 Q 1 +CM +5 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +C 4 M 1 R 3 S 1 N 1 P 1 Q 1 +CR +t0 +C 1 M 2 R 1 S 1 N 1 P 1 Q 1 +M diff --git a/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.oaves.csv b/workspace/example_designs/example_designs/sparseloop/04.2.3-eyeriss-like-onchip-compression/ref_outputs/default_problem/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/example_designs/example_designs/top.yaml.jinja2 b/workspace/example_designs/example_designs/top.yaml.jinja2 new file mode 100644 index 00000000..0f15f2b9 --- /dev/null +++ b/workspace/example_designs/example_designs/top.yaml.jinja2 @@ -0,0 +1,67 @@ +# This file will be converted into a YAML file by Jinja2 templating. +{{add_to_path(cwd())}} + +# ============================================================================== +# GLOBAL VARIABLES FOR TIMELOOP AND ACCELERGY +# ============================================================================== +globals: + version: 0.4 + environment_variables: + # Gets rid of stats for zero-energy components such as networks/buffers that are not + # used in the current architecture + TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1 + expression_custom_functions: [] + +# ============================================================================== +# PROBLEM SPECIFICATION +# ============================================================================== +# Some of the architectures have an alternative `problem.yaml` file. If this +# file exists & problem is not set, set problem to the alternative problem +{% set alt_problem = cwd() ~ '/' ~ architecture ~ '/problem.yaml'%} +{% if path_exists(alt_problem) %} + {% set problem = problem | default(alt_problem)%} +{% endif %} + +# Can be overridden with the jinja2_parse_data argument to spec.from_yaml_files() +{%set problem = problem | default('_include/default_problem.yaml')%} + +# Set the problem file +problem: {{include(problem, 'problem')}} + +# ============================================================================== +# MAPPING SPECIFICATION +# ============================================================================== +# If a mapping file exists in the architecture directory, include it. +{% set mapping = cwd() ~ '/' ~ architecture ~ '/mapping.yaml'%} +{% if path_exists(mapping) %} +extra_mapping_constraints: + version: 0.4 + targets: {{include(mapping, 'mapping')}} +{% endif %} + +# ============================================================================== +# ARCHITECTURE SPECIFICATION +# ============================================================================== +architecture: {{include(cwd() ~ '/' ~ architecture ~ '/arch.yaml', 'architecture')}} + +# ============================================================================== +# TOP-LEVEL VARIABLES +# ============================================================================== +variables: # May get overridden by the architecture specification. + version: 0.4 + technology: "SET ME" + global_cycle_seconds: 1e-9 + +# ============================================================================== +# COMPOUND COMPONENT SPECIFICATION +# ============================================================================== +components: + version: 0.4 + classes: {{include_all('_components/*.yaml', 'compound_components.classes')}} + +# ============================================================================== +# MAPPER SPECIFICATION +# ============================================================================== +mapper: {{include(cwd() ~ '/_include/mapper.yaml', 'mapper')}} + + diff --git a/workspace/example_designs/layer_shapes/CONV/AlexNet/AlexNet_layer1.yaml b/workspace/example_designs/layer_shapes/CONV/AlexNet/AlexNet_layer1.yaml new file mode 100644 index 00000000..32ae1c09 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/AlexNet/AlexNet_layer1.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 3 + Hdilation: 1 + Hstride: 4 + M: 96 + N: 1 + P: 55 + Q: 55 + R: 11 + S: 11 + Wdilation: 1 + Wstride: 4 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/AlexNet/AlexNet_layer2.yaml b/workspace/example_designs/layer_shapes/CONV/AlexNet/AlexNet_layer2.yaml new file mode 100644 index 00000000..481ff66f --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/AlexNet/AlexNet_layer2.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 96 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 27 + Q: 27 + R: 5 + S: 5 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/AlexNet/AlexNet_layer3.yaml b/workspace/example_designs/layer_shapes/CONV/AlexNet/AlexNet_layer3.yaml new file mode 100644 index 00000000..dcd7bacd --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/AlexNet/AlexNet_layer3.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 256 + Hdilation: 1 + Hstride: 1 + M: 384 + N: 1 + P: 13 + Q: 13 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/AlexNet/AlexNet_layer4.yaml b/workspace/example_designs/layer_shapes/CONV/AlexNet/AlexNet_layer4.yaml new file mode 100644 index 00000000..516dbe10 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/AlexNet/AlexNet_layer4.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 384 + Hdilation: 1 + Hstride: 1 + M: 384 + N: 1 + P: 13 + Q: 13 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/AlexNet/AlexNet_layer5.yaml b/workspace/example_designs/layer_shapes/CONV/AlexNet/AlexNet_layer5.yaml new file mode 100644 index 00000000..ea406c45 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/AlexNet/AlexNet_layer5.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 384 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 13 + Q: 13 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer1.yaml b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer1.yaml new file mode 100644 index 00000000..83b73c4b --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer1.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 3 + Hdilation: 1 + Hstride: 1 + M: 64 + N: 1 + P: 224 + Q: 224 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer2.yaml b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer2.yaml new file mode 100644 index 00000000..d82b9dfb --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer2.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 64 + Hdilation: 1 + Hstride: 1 + M: 128 + N: 1 + P: 112 + Q: 112 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer3.yaml b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer3.yaml new file mode 100644 index 00000000..ad835e64 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer3.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 128 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 56 + Q: 56 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer4.yaml b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer4.yaml new file mode 100644 index 00000000..d09be9d3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer4.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 256 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 56 + Q: 56 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer5.yaml b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer5.yaml new file mode 100644 index 00000000..975aede8 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer5.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 256 + Hdilation: 1 + Hstride: 1 + M: 512 + N: 1 + P: 28 + Q: 28 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer6.yaml b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer6.yaml new file mode 100644 index 00000000..1daefe8f --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer6.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 512 + Hdilation: 1 + Hstride: 1 + M: 512 + N: 1 + P: 28 + Q: 28 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer7.yaml b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer7.yaml new file mode 100644 index 00000000..d2aac264 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer7.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 512 + Hdilation: 1 + Hstride: 1 + M: 512 + N: 1 + P: 14 + Q: 14 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer8.yaml b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer8.yaml new file mode 100644 index 00000000..d2aac264 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG01/VGG01_layer8.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 512 + Hdilation: 1 + Hstride: 1 + M: 512 + N: 1 + P: 14 + Q: 14 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer1.yaml b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer1.yaml new file mode 100644 index 00000000..83b73c4b --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer1.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 3 + Hdilation: 1 + Hstride: 1 + M: 64 + N: 1 + P: 224 + Q: 224 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer10.yaml b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer10.yaml new file mode 100644 index 00000000..310e7c3c --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer10.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 512 + Hdilation: 1 + Hstride: 1 + M: 512 + N: 1 + P: 28 + Q: 28 + R: 1 + S: 1 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer11.yaml b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer11.yaml new file mode 100644 index 00000000..d2aac264 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer11.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 512 + Hdilation: 1 + Hstride: 1 + M: 512 + N: 1 + P: 14 + Q: 14 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer12.yaml b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer12.yaml new file mode 100644 index 00000000..d2aac264 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer12.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 512 + Hdilation: 1 + Hstride: 1 + M: 512 + N: 1 + P: 14 + Q: 14 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer13.yaml b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer13.yaml new file mode 100644 index 00000000..797c4791 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer13.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 512 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 16 + Q: 16 + R: 1 + S: 1 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer2.yaml b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer2.yaml new file mode 100644 index 00000000..de48e86e --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer2.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 64 + Hdilation: 1 + Hstride: 1 + M: 64 + N: 1 + P: 224 + Q: 224 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer3.yaml b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer3.yaml new file mode 100644 index 00000000..d82b9dfb --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer3.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 64 + Hdilation: 1 + Hstride: 1 + M: 128 + N: 1 + P: 112 + Q: 112 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer4.yaml b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer4.yaml new file mode 100644 index 00000000..b3d2daf0 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer4.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 128 + Hdilation: 1 + Hstride: 1 + M: 128 + N: 1 + P: 112 + Q: 112 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer5.yaml b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer5.yaml new file mode 100644 index 00000000..ad835e64 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer5.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 128 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 56 + Q: 56 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer6.yaml b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer6.yaml new file mode 100644 index 00000000..d09be9d3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer6.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 256 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 56 + Q: 56 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer7.yaml b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer7.yaml new file mode 100644 index 00000000..b98042c2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer7.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 256 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 56 + Q: 56 + R: 1 + S: 1 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer8.yaml b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer8.yaml new file mode 100644 index 00000000..975aede8 --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer8.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 256 + Hdilation: 1 + Hstride: 1 + M: 512 + N: 1 + P: 28 + Q: 28 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer9.yaml b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer9.yaml new file mode 100644 index 00000000..1daefe8f --- /dev/null +++ b/workspace/example_designs/layer_shapes/CONV/VGG02/VGG02_layer9.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 512 + Hdilation: 1 + Hstride: 1 + M: 512 + N: 1 + P: 28 + Q: 28 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/example_designs/layer_shapes/MM/ResNet50_repr/M1024-K512-N256.yaml b/workspace/example_designs/layer_shapes/MM/ResNet50_repr/M1024-K512-N256.yaml new file mode 100644 index 00000000..839bc688 --- /dev/null +++ b/workspace/example_designs/layer_shapes/MM/ResNet50_repr/M1024-K512-N256.yaml @@ -0,0 +1,32 @@ +problem: + version: 0.4 + instance: + K: 1024 + M: 512 + N: 256 + densities: + A: + density: 0.5 + distribution: fixed_structured + shape: + name: gemm_ABZ + dimensions: + - M + - N + - K + data_spaces: + - name: A + projection: + - - - M + - - - K + - name: B + projection: + - - - N + - - - K + - name: Z + projection: + - - - M + - - - N + read_write: true + + diff --git a/workspace/example_designs/layer_shapes/MM/ResNet50_repr/M512-K128-N1024.yaml b/workspace/example_designs/layer_shapes/MM/ResNet50_repr/M512-K128-N1024.yaml new file mode 100644 index 00000000..b2523ed1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/MM/ResNet50_repr/M512-K128-N1024.yaml @@ -0,0 +1,32 @@ +problem: + version: 0.4 + instance: + K: 512 + M: 256 + N: 1024 + densities: + A: + density: 0.5 + distribution: fixed_structured + shape: + name: gemm_ABZ + dimensions: + - M + - N + - K + data_spaces: + - name: A + projection: + - - - M + - - - K + - name: B + projection: + - - - N + - - - K + - name: Z + projection: + - - - M + - - - N + read_write: true + + diff --git a/workspace/example_designs/layer_shapes/MM/ResNet50_repr/M512-K256-N1024.yaml b/workspace/example_designs/layer_shapes/MM/ResNet50_repr/M512-K256-N1024.yaml new file mode 100644 index 00000000..b2523ed1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/MM/ResNet50_repr/M512-K256-N1024.yaml @@ -0,0 +1,32 @@ +problem: + version: 0.4 + instance: + K: 512 + M: 256 + N: 1024 + densities: + A: + density: 0.5 + distribution: fixed_structured + shape: + name: gemm_ABZ + dimensions: + - M + - N + - K + data_spaces: + - name: A + projection: + - - - M + - - - K + - name: B + projection: + - - - N + - - - K + - name: Z + projection: + - - - M + - - - N + read_write: true + + diff --git a/workspace/example_designs/layer_shapes/alexnet/0.yaml b/workspace/example_designs/layer_shapes/alexnet/0.yaml new file mode 100644 index 00000000..bdc916a5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/alexnet/0.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3, M: 64, P: 55, Q: 55, R: 11, S: 11, HStride: 4, WStride: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/alexnet/1.yaml b/workspace/example_designs/layer_shapes/alexnet/1.yaml new file mode 100644 index 00000000..ebf727b9 --- /dev/null +++ b/workspace/example_designs/layer_shapes/alexnet/1.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 64, M: 192, P: 27, Q: 27, R: 5, S: 5} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/alexnet/2.yaml b/workspace/example_designs/layer_shapes/alexnet/2.yaml new file mode 100644 index 00000000..fdedd46d --- /dev/null +++ b/workspace/example_designs/layer_shapes/alexnet/2.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 192, M: 384, P: 13, Q: 13, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/alexnet/3.yaml b/workspace/example_designs/layer_shapes/alexnet/3.yaml new file mode 100644 index 00000000..ed847bdb --- /dev/null +++ b/workspace/example_designs/layer_shapes/alexnet/3.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 384, M: 256, P: 13, Q: 13, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/alexnet/4.yaml b/workspace/example_designs/layer_shapes/alexnet/4.yaml new file mode 100644 index 00000000..1db2089c --- /dev/null +++ b/workspace/example_designs/layer_shapes/alexnet/4.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 13, Q: 13, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/alexnet/5.yaml b/workspace/example_designs/layer_shapes/alexnet/5.yaml new file mode 100644 index 00000000..ddc7b852 --- /dev/null +++ b/workspace/example_designs/layer_shapes/alexnet/5.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 9216, M: 4096} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/alexnet/6.yaml b/workspace/example_designs/layer_shapes/alexnet/6.yaml new file mode 100644 index 00000000..143987c9 --- /dev/null +++ b/workspace/example_designs/layer_shapes/alexnet/6.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 4096} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/alexnet/7.yaml b/workspace/example_designs/layer_shapes/alexnet/7.yaml new file mode 100644 index 00000000..bc3c538e --- /dev/null +++ b/workspace/example_designs/layer_shapes/alexnet/7.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1000} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/000.yaml b/workspace/example_designs/layer_shapes/densenet201/000.yaml new file mode 100755 index 00000000..b0800106 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/000.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3, M: 64, P: 112, Q: 112, R: 7, S: 7, HStride: 2, WStride: 2} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/001.yaml b/workspace/example_designs/layer_shapes/densenet201/001.yaml new file mode 100755 index 00000000..754782d4 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/001.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 64, M: 128, P: 56, Q: 56} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/002.yaml b/workspace/example_designs/layer_shapes/densenet201/002.yaml new file mode 100755 index 00000000..0a412933 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/002.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 56, Q: 56, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/003.yaml b/workspace/example_designs/layer_shapes/densenet201/003.yaml new file mode 100755 index 00000000..0b333b02 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/003.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 96, M: 128, P: 56, Q: 56} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/004.yaml b/workspace/example_designs/layer_shapes/densenet201/004.yaml new file mode 100755 index 00000000..0a412933 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/004.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 56, Q: 56, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/005.yaml b/workspace/example_designs/layer_shapes/densenet201/005.yaml new file mode 100755 index 00000000..1386f680 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/005.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 56, Q: 56} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/006.yaml b/workspace/example_designs/layer_shapes/densenet201/006.yaml new file mode 100755 index 00000000..0a412933 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/006.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 56, Q: 56, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/007.yaml b/workspace/example_designs/layer_shapes/densenet201/007.yaml new file mode 100755 index 00000000..2843b35e --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/007.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 160, M: 128, P: 56, Q: 56} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/008.yaml b/workspace/example_designs/layer_shapes/densenet201/008.yaml new file mode 100755 index 00000000..0a412933 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/008.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 56, Q: 56, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/009.yaml b/workspace/example_designs/layer_shapes/densenet201/009.yaml new file mode 100755 index 00000000..dd3be466 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/009.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 192, M: 128, P: 56, Q: 56} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/010.yaml b/workspace/example_designs/layer_shapes/densenet201/010.yaml new file mode 100755 index 00000000..0a412933 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/010.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 56, Q: 56, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/011.yaml b/workspace/example_designs/layer_shapes/densenet201/011.yaml new file mode 100755 index 00000000..2447194f --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/011.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 224, M: 128, P: 56, Q: 56} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/012.yaml b/workspace/example_designs/layer_shapes/densenet201/012.yaml new file mode 100755 index 00000000..0a412933 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/012.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 56, Q: 56, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/013.yaml b/workspace/example_designs/layer_shapes/densenet201/013.yaml new file mode 100755 index 00000000..ad8d77d6 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/013.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 128, P: 56, Q: 56} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/014.yaml b/workspace/example_designs/layer_shapes/densenet201/014.yaml new file mode 100755 index 00000000..a2bf6286 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/014.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/015.yaml b/workspace/example_designs/layer_shapes/densenet201/015.yaml new file mode 100755 index 00000000..7d8b63d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/015.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/016.yaml b/workspace/example_designs/layer_shapes/densenet201/016.yaml new file mode 100755 index 00000000..5b40531b --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/016.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 160, M: 128, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/017.yaml b/workspace/example_designs/layer_shapes/densenet201/017.yaml new file mode 100755 index 00000000..7d8b63d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/017.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/018.yaml b/workspace/example_designs/layer_shapes/densenet201/018.yaml new file mode 100755 index 00000000..31b565c5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/018.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 192, M: 128, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/019.yaml b/workspace/example_designs/layer_shapes/densenet201/019.yaml new file mode 100755 index 00000000..7d8b63d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/019.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/020.yaml b/workspace/example_designs/layer_shapes/densenet201/020.yaml new file mode 100755 index 00000000..c6ab29f3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/020.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 224, M: 128, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/021.yaml b/workspace/example_designs/layer_shapes/densenet201/021.yaml new file mode 100755 index 00000000..7d8b63d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/021.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/022.yaml b/workspace/example_designs/layer_shapes/densenet201/022.yaml new file mode 100755 index 00000000..794014bb --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/022.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 128, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/023.yaml b/workspace/example_designs/layer_shapes/densenet201/023.yaml new file mode 100755 index 00000000..7d8b63d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/023.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/024.yaml b/workspace/example_designs/layer_shapes/densenet201/024.yaml new file mode 100755 index 00000000..accdba76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/024.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 288, M: 128, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/025.yaml b/workspace/example_designs/layer_shapes/densenet201/025.yaml new file mode 100755 index 00000000..7d8b63d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/025.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/026.yaml b/workspace/example_designs/layer_shapes/densenet201/026.yaml new file mode 100755 index 00000000..f0a26f4b --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/026.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 320, M: 128, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/027.yaml b/workspace/example_designs/layer_shapes/densenet201/027.yaml new file mode 100755 index 00000000..7d8b63d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/027.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/028.yaml b/workspace/example_designs/layer_shapes/densenet201/028.yaml new file mode 100755 index 00000000..f20700f8 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/028.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 352, M: 128, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/029.yaml b/workspace/example_designs/layer_shapes/densenet201/029.yaml new file mode 100755 index 00000000..7d8b63d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/029.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/030.yaml b/workspace/example_designs/layer_shapes/densenet201/030.yaml new file mode 100755 index 00000000..ee9270e8 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/030.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 384, M: 128, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/031.yaml b/workspace/example_designs/layer_shapes/densenet201/031.yaml new file mode 100755 index 00000000..7d8b63d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/031.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/032.yaml b/workspace/example_designs/layer_shapes/densenet201/032.yaml new file mode 100755 index 00000000..ed5632ab --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/032.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 416, M: 128, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/033.yaml b/workspace/example_designs/layer_shapes/densenet201/033.yaml new file mode 100755 index 00000000..7d8b63d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/033.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/034.yaml b/workspace/example_designs/layer_shapes/densenet201/034.yaml new file mode 100755 index 00000000..2f3c92ea --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/034.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 448, M: 128, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/035.yaml b/workspace/example_designs/layer_shapes/densenet201/035.yaml new file mode 100755 index 00000000..7d8b63d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/035.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/036.yaml b/workspace/example_designs/layer_shapes/densenet201/036.yaml new file mode 100755 index 00000000..05b78849 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/036.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 480, M: 128, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/037.yaml b/workspace/example_designs/layer_shapes/densenet201/037.yaml new file mode 100755 index 00000000..7d8b63d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/037.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/038.yaml b/workspace/example_designs/layer_shapes/densenet201/038.yaml new file mode 100755 index 00000000..5974ce19 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/038.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 256, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/039.yaml b/workspace/example_designs/layer_shapes/densenet201/039.yaml new file mode 100755 index 00000000..e4ad680a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/039.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/040.yaml b/workspace/example_designs/layer_shapes/densenet201/040.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/040.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/041.yaml b/workspace/example_designs/layer_shapes/densenet201/041.yaml new file mode 100755 index 00000000..db6fdee0 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/041.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 288, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/042.yaml b/workspace/example_designs/layer_shapes/densenet201/042.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/042.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/043.yaml b/workspace/example_designs/layer_shapes/densenet201/043.yaml new file mode 100755 index 00000000..5020495b --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/043.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 320, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/044.yaml b/workspace/example_designs/layer_shapes/densenet201/044.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/044.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/045.yaml b/workspace/example_designs/layer_shapes/densenet201/045.yaml new file mode 100755 index 00000000..eae37e26 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/045.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 352, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/046.yaml b/workspace/example_designs/layer_shapes/densenet201/046.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/046.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/047.yaml b/workspace/example_designs/layer_shapes/densenet201/047.yaml new file mode 100755 index 00000000..512ffba4 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/047.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 384, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/048.yaml b/workspace/example_designs/layer_shapes/densenet201/048.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/048.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/049.yaml b/workspace/example_designs/layer_shapes/densenet201/049.yaml new file mode 100755 index 00000000..43f68c0a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/049.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 416, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/050.yaml b/workspace/example_designs/layer_shapes/densenet201/050.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/050.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/051.yaml b/workspace/example_designs/layer_shapes/densenet201/051.yaml new file mode 100755 index 00000000..5a9e7654 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/051.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 448, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/052.yaml b/workspace/example_designs/layer_shapes/densenet201/052.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/052.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/053.yaml b/workspace/example_designs/layer_shapes/densenet201/053.yaml new file mode 100755 index 00000000..5dcb507e --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/053.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 480, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/054.yaml b/workspace/example_designs/layer_shapes/densenet201/054.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/054.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/055.yaml b/workspace/example_designs/layer_shapes/densenet201/055.yaml new file mode 100755 index 00000000..64d82913 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/055.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/056.yaml b/workspace/example_designs/layer_shapes/densenet201/056.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/056.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/057.yaml b/workspace/example_designs/layer_shapes/densenet201/057.yaml new file mode 100755 index 00000000..d0a4fa12 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/057.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 544, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/058.yaml b/workspace/example_designs/layer_shapes/densenet201/058.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/058.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/059.yaml b/workspace/example_designs/layer_shapes/densenet201/059.yaml new file mode 100755 index 00000000..7d6ac89a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/059.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 576, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/060.yaml b/workspace/example_designs/layer_shapes/densenet201/060.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/060.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/061.yaml b/workspace/example_designs/layer_shapes/densenet201/061.yaml new file mode 100755 index 00000000..170dcfee --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/061.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 608, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/062.yaml b/workspace/example_designs/layer_shapes/densenet201/062.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/062.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/063.yaml b/workspace/example_designs/layer_shapes/densenet201/063.yaml new file mode 100755 index 00000000..92da7c2b --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/063.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 640, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/064.yaml b/workspace/example_designs/layer_shapes/densenet201/064.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/064.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/065.yaml b/workspace/example_designs/layer_shapes/densenet201/065.yaml new file mode 100755 index 00000000..f22d8571 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/065.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 672, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/066.yaml b/workspace/example_designs/layer_shapes/densenet201/066.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/066.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/067.yaml b/workspace/example_designs/layer_shapes/densenet201/067.yaml new file mode 100755 index 00000000..c49f4edb --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/067.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 704, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/068.yaml b/workspace/example_designs/layer_shapes/densenet201/068.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/068.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/069.yaml b/workspace/example_designs/layer_shapes/densenet201/069.yaml new file mode 100755 index 00000000..3ce03b15 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/069.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 736, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/070.yaml b/workspace/example_designs/layer_shapes/densenet201/070.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/070.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/071.yaml b/workspace/example_designs/layer_shapes/densenet201/071.yaml new file mode 100755 index 00000000..862939f8 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/071.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/072.yaml b/workspace/example_designs/layer_shapes/densenet201/072.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/072.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/073.yaml b/workspace/example_designs/layer_shapes/densenet201/073.yaml new file mode 100755 index 00000000..2956b214 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/073.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 800, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/074.yaml b/workspace/example_designs/layer_shapes/densenet201/074.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/074.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/075.yaml b/workspace/example_designs/layer_shapes/densenet201/075.yaml new file mode 100755 index 00000000..872d45e9 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/075.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 832, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/076.yaml b/workspace/example_designs/layer_shapes/densenet201/076.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/076.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/077.yaml b/workspace/example_designs/layer_shapes/densenet201/077.yaml new file mode 100755 index 00000000..1d312581 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/077.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 864, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/078.yaml b/workspace/example_designs/layer_shapes/densenet201/078.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/078.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/079.yaml b/workspace/example_designs/layer_shapes/densenet201/079.yaml new file mode 100755 index 00000000..2b328160 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/079.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 896, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/080.yaml b/workspace/example_designs/layer_shapes/densenet201/080.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/080.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/081.yaml b/workspace/example_designs/layer_shapes/densenet201/081.yaml new file mode 100755 index 00000000..eb75b08b --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/081.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 928, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/082.yaml b/workspace/example_designs/layer_shapes/densenet201/082.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/082.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/083.yaml b/workspace/example_designs/layer_shapes/densenet201/083.yaml new file mode 100755 index 00000000..283c13d6 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/083.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 960, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/084.yaml b/workspace/example_designs/layer_shapes/densenet201/084.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/084.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/085.yaml b/workspace/example_designs/layer_shapes/densenet201/085.yaml new file mode 100755 index 00000000..37498494 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/085.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 992, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/086.yaml b/workspace/example_designs/layer_shapes/densenet201/086.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/086.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/087.yaml b/workspace/example_designs/layer_shapes/densenet201/087.yaml new file mode 100755 index 00000000..89fd016e --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/087.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/088.yaml b/workspace/example_designs/layer_shapes/densenet201/088.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/088.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/089.yaml b/workspace/example_designs/layer_shapes/densenet201/089.yaml new file mode 100755 index 00000000..1dbc9cfd --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/089.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1056, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/090.yaml b/workspace/example_designs/layer_shapes/densenet201/090.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/090.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/091.yaml b/workspace/example_designs/layer_shapes/densenet201/091.yaml new file mode 100755 index 00000000..90a183d7 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/091.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1088, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/092.yaml b/workspace/example_designs/layer_shapes/densenet201/092.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/092.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/093.yaml b/workspace/example_designs/layer_shapes/densenet201/093.yaml new file mode 100755 index 00000000..7bc5180b --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/093.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1120, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/094.yaml b/workspace/example_designs/layer_shapes/densenet201/094.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/094.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/095.yaml b/workspace/example_designs/layer_shapes/densenet201/095.yaml new file mode 100755 index 00000000..efac6246 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/095.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1152, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/096.yaml b/workspace/example_designs/layer_shapes/densenet201/096.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/096.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/097.yaml b/workspace/example_designs/layer_shapes/densenet201/097.yaml new file mode 100755 index 00000000..189e7f63 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/097.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1184, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/098.yaml b/workspace/example_designs/layer_shapes/densenet201/098.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/098.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/099.yaml b/workspace/example_designs/layer_shapes/densenet201/099.yaml new file mode 100755 index 00000000..6e062ae5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/099.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1216, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/100.yaml b/workspace/example_designs/layer_shapes/densenet201/100.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/100.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/101.yaml b/workspace/example_designs/layer_shapes/densenet201/101.yaml new file mode 100755 index 00000000..0f5d637e --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/101.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1248, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/102.yaml b/workspace/example_designs/layer_shapes/densenet201/102.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/102.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/103.yaml b/workspace/example_designs/layer_shapes/densenet201/103.yaml new file mode 100755 index 00000000..b80a6ab6 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/103.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1280, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/104.yaml b/workspace/example_designs/layer_shapes/densenet201/104.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/104.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/105.yaml b/workspace/example_designs/layer_shapes/densenet201/105.yaml new file mode 100755 index 00000000..9516fe2f --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/105.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1312, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/106.yaml b/workspace/example_designs/layer_shapes/densenet201/106.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/106.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/107.yaml b/workspace/example_designs/layer_shapes/densenet201/107.yaml new file mode 100755 index 00000000..4dde8b32 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/107.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1344, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/108.yaml b/workspace/example_designs/layer_shapes/densenet201/108.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/108.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/109.yaml b/workspace/example_designs/layer_shapes/densenet201/109.yaml new file mode 100755 index 00000000..054a6c2c --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/109.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1376, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/110.yaml b/workspace/example_designs/layer_shapes/densenet201/110.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/110.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/111.yaml b/workspace/example_designs/layer_shapes/densenet201/111.yaml new file mode 100755 index 00000000..02098aef --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/111.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1408, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/112.yaml b/workspace/example_designs/layer_shapes/densenet201/112.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/112.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/113.yaml b/workspace/example_designs/layer_shapes/densenet201/113.yaml new file mode 100755 index 00000000..6bb96d9e --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/113.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1440, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/114.yaml b/workspace/example_designs/layer_shapes/densenet201/114.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/114.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/115.yaml b/workspace/example_designs/layer_shapes/densenet201/115.yaml new file mode 100755 index 00000000..21f2ebe2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/115.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1472, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/116.yaml b/workspace/example_designs/layer_shapes/densenet201/116.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/116.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/117.yaml b/workspace/example_designs/layer_shapes/densenet201/117.yaml new file mode 100755 index 00000000..a68b6e3f --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/117.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1504, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/118.yaml b/workspace/example_designs/layer_shapes/densenet201/118.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/118.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/119.yaml b/workspace/example_designs/layer_shapes/densenet201/119.yaml new file mode 100755 index 00000000..e7d4c625 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/119.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1536, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/120.yaml b/workspace/example_designs/layer_shapes/densenet201/120.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/120.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/121.yaml b/workspace/example_designs/layer_shapes/densenet201/121.yaml new file mode 100755 index 00000000..26af9816 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/121.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1568, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/122.yaml b/workspace/example_designs/layer_shapes/densenet201/122.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/122.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/123.yaml b/workspace/example_designs/layer_shapes/densenet201/123.yaml new file mode 100755 index 00000000..dec1284e --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/123.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1600, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/124.yaml b/workspace/example_designs/layer_shapes/densenet201/124.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/124.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/125.yaml b/workspace/example_designs/layer_shapes/densenet201/125.yaml new file mode 100755 index 00000000..2e583aaa --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/125.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1632, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/126.yaml b/workspace/example_designs/layer_shapes/densenet201/126.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/126.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/127.yaml b/workspace/example_designs/layer_shapes/densenet201/127.yaml new file mode 100755 index 00000000..ed0c520a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/127.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1664, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/128.yaml b/workspace/example_designs/layer_shapes/densenet201/128.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/128.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/129.yaml b/workspace/example_designs/layer_shapes/densenet201/129.yaml new file mode 100755 index 00000000..ba898c59 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/129.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1696, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/130.yaml b/workspace/example_designs/layer_shapes/densenet201/130.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/130.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/131.yaml b/workspace/example_designs/layer_shapes/densenet201/131.yaml new file mode 100755 index 00000000..a43d1447 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/131.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1728, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/132.yaml b/workspace/example_designs/layer_shapes/densenet201/132.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/132.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/133.yaml b/workspace/example_designs/layer_shapes/densenet201/133.yaml new file mode 100755 index 00000000..573b87fe --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/133.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1760, M: 128, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/134.yaml b/workspace/example_designs/layer_shapes/densenet201/134.yaml new file mode 100755 index 00000000..d87f18d2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/134.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/135.yaml b/workspace/example_designs/layer_shapes/densenet201/135.yaml new file mode 100755 index 00000000..b078a69c --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/135.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1792, M: 896, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/136.yaml b/workspace/example_designs/layer_shapes/densenet201/136.yaml new file mode 100755 index 00000000..19817b44 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/136.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 896, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/137.yaml b/workspace/example_designs/layer_shapes/densenet201/137.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/137.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/138.yaml b/workspace/example_designs/layer_shapes/densenet201/138.yaml new file mode 100755 index 00000000..7a84db1b --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/138.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 928, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/139.yaml b/workspace/example_designs/layer_shapes/densenet201/139.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/139.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/140.yaml b/workspace/example_designs/layer_shapes/densenet201/140.yaml new file mode 100755 index 00000000..1531f890 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/140.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 960, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/141.yaml b/workspace/example_designs/layer_shapes/densenet201/141.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/141.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/142.yaml b/workspace/example_designs/layer_shapes/densenet201/142.yaml new file mode 100755 index 00000000..bb8fcc58 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/142.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 992, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/143.yaml b/workspace/example_designs/layer_shapes/densenet201/143.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/143.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/144.yaml b/workspace/example_designs/layer_shapes/densenet201/144.yaml new file mode 100755 index 00000000..11e54d80 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/144.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/145.yaml b/workspace/example_designs/layer_shapes/densenet201/145.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/145.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/146.yaml b/workspace/example_designs/layer_shapes/densenet201/146.yaml new file mode 100755 index 00000000..3097cc0f --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/146.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1056, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/147.yaml b/workspace/example_designs/layer_shapes/densenet201/147.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/147.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/148.yaml b/workspace/example_designs/layer_shapes/densenet201/148.yaml new file mode 100755 index 00000000..eb36be56 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/148.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1088, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/149.yaml b/workspace/example_designs/layer_shapes/densenet201/149.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/149.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/150.yaml b/workspace/example_designs/layer_shapes/densenet201/150.yaml new file mode 100755 index 00000000..b65e7edb --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/150.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1120, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/151.yaml b/workspace/example_designs/layer_shapes/densenet201/151.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/151.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/152.yaml b/workspace/example_designs/layer_shapes/densenet201/152.yaml new file mode 100755 index 00000000..7d83140d --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/152.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1152, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/153.yaml b/workspace/example_designs/layer_shapes/densenet201/153.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/153.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/154.yaml b/workspace/example_designs/layer_shapes/densenet201/154.yaml new file mode 100755 index 00000000..4014dc33 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/154.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1184, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/155.yaml b/workspace/example_designs/layer_shapes/densenet201/155.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/155.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/156.yaml b/workspace/example_designs/layer_shapes/densenet201/156.yaml new file mode 100755 index 00000000..f40d2f01 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/156.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1216, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/157.yaml b/workspace/example_designs/layer_shapes/densenet201/157.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/157.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/158.yaml b/workspace/example_designs/layer_shapes/densenet201/158.yaml new file mode 100755 index 00000000..d2c3335a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/158.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1248, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/159.yaml b/workspace/example_designs/layer_shapes/densenet201/159.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/159.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/160.yaml b/workspace/example_designs/layer_shapes/densenet201/160.yaml new file mode 100755 index 00000000..eff95278 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/160.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1280, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/161.yaml b/workspace/example_designs/layer_shapes/densenet201/161.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/161.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/162.yaml b/workspace/example_designs/layer_shapes/densenet201/162.yaml new file mode 100755 index 00000000..9ba5b9cf --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/162.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1312, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/163.yaml b/workspace/example_designs/layer_shapes/densenet201/163.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/163.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/164.yaml b/workspace/example_designs/layer_shapes/densenet201/164.yaml new file mode 100755 index 00000000..8a4a6a18 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/164.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1344, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/165.yaml b/workspace/example_designs/layer_shapes/densenet201/165.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/165.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/166.yaml b/workspace/example_designs/layer_shapes/densenet201/166.yaml new file mode 100755 index 00000000..e98d3de2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/166.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1376, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/167.yaml b/workspace/example_designs/layer_shapes/densenet201/167.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/167.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/168.yaml b/workspace/example_designs/layer_shapes/densenet201/168.yaml new file mode 100755 index 00000000..0bede030 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/168.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1408, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/169.yaml b/workspace/example_designs/layer_shapes/densenet201/169.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/169.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/170.yaml b/workspace/example_designs/layer_shapes/densenet201/170.yaml new file mode 100755 index 00000000..610db7c7 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/170.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1440, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/171.yaml b/workspace/example_designs/layer_shapes/densenet201/171.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/171.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/172.yaml b/workspace/example_designs/layer_shapes/densenet201/172.yaml new file mode 100755 index 00000000..36e72c0b --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/172.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1472, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/173.yaml b/workspace/example_designs/layer_shapes/densenet201/173.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/173.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/174.yaml b/workspace/example_designs/layer_shapes/densenet201/174.yaml new file mode 100755 index 00000000..0af203f8 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/174.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1504, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/175.yaml b/workspace/example_designs/layer_shapes/densenet201/175.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/175.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/176.yaml b/workspace/example_designs/layer_shapes/densenet201/176.yaml new file mode 100755 index 00000000..ecfd8144 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/176.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1536, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/177.yaml b/workspace/example_designs/layer_shapes/densenet201/177.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/177.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/178.yaml b/workspace/example_designs/layer_shapes/densenet201/178.yaml new file mode 100755 index 00000000..153fef73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/178.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1568, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/179.yaml b/workspace/example_designs/layer_shapes/densenet201/179.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/179.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/180.yaml b/workspace/example_designs/layer_shapes/densenet201/180.yaml new file mode 100755 index 00000000..cbcab966 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/180.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1600, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/181.yaml b/workspace/example_designs/layer_shapes/densenet201/181.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/181.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/182.yaml b/workspace/example_designs/layer_shapes/densenet201/182.yaml new file mode 100755 index 00000000..2d00bfdf --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/182.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1632, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/183.yaml b/workspace/example_designs/layer_shapes/densenet201/183.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/183.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/184.yaml b/workspace/example_designs/layer_shapes/densenet201/184.yaml new file mode 100755 index 00000000..1f8ffe82 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/184.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1664, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/185.yaml b/workspace/example_designs/layer_shapes/densenet201/185.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/185.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/186.yaml b/workspace/example_designs/layer_shapes/densenet201/186.yaml new file mode 100755 index 00000000..88f8511a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/186.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1696, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/187.yaml b/workspace/example_designs/layer_shapes/densenet201/187.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/187.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/188.yaml b/workspace/example_designs/layer_shapes/densenet201/188.yaml new file mode 100755 index 00000000..f6acea0c --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/188.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1728, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/189.yaml b/workspace/example_designs/layer_shapes/densenet201/189.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/189.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/190.yaml b/workspace/example_designs/layer_shapes/densenet201/190.yaml new file mode 100755 index 00000000..bc038dfa --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/190.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1760, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/191.yaml b/workspace/example_designs/layer_shapes/densenet201/191.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/191.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/192.yaml b/workspace/example_designs/layer_shapes/densenet201/192.yaml new file mode 100755 index 00000000..4bf6eda3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/192.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1792, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/193.yaml b/workspace/example_designs/layer_shapes/densenet201/193.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/193.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/194.yaml b/workspace/example_designs/layer_shapes/densenet201/194.yaml new file mode 100755 index 00000000..4fd754b0 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/194.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1824, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/195.yaml b/workspace/example_designs/layer_shapes/densenet201/195.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/195.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/196.yaml b/workspace/example_designs/layer_shapes/densenet201/196.yaml new file mode 100755 index 00000000..05edc730 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/196.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1856, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/197.yaml b/workspace/example_designs/layer_shapes/densenet201/197.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/197.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/198.yaml b/workspace/example_designs/layer_shapes/densenet201/198.yaml new file mode 100755 index 00000000..4c359e07 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/198.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1888, M: 128, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/199.yaml b/workspace/example_designs/layer_shapes/densenet201/199.yaml new file mode 100755 index 00000000..2bae482a --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/199.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/densenet201/200.yaml b/workspace/example_designs/layer_shapes/densenet201/200.yaml new file mode 100755 index 00000000..ebd2e602 --- /dev/null +++ b/workspace/example_designs/layer_shapes/densenet201/200.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1920, M: 1000} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/000.yaml b/workspace/example_designs/layer_shapes/dpt_large/000.yaml new file mode 100755 index 00000000..13ca2a7e --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/000.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3, M: 1024, P: 24, Q: 24, R: 16, S: 16, HStride: 16, WStride: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/001.yaml b/workspace/example_designs/layer_shapes/dpt_large/001.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/001.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/002.yaml b/workspace/example_designs/layer_shapes/dpt_large/002.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/002.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/003.yaml b/workspace/example_designs/layer_shapes/dpt_large/003.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/003.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/004.yaml b/workspace/example_designs/layer_shapes/dpt_large/004.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/004.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/005.yaml b/workspace/example_designs/layer_shapes/dpt_large/005.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/005.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/006.yaml b/workspace/example_designs/layer_shapes/dpt_large/006.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/006.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/007.yaml b/workspace/example_designs/layer_shapes/dpt_large/007.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/007.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/008.yaml b/workspace/example_designs/layer_shapes/dpt_large/008.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/008.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/009.yaml b/workspace/example_designs/layer_shapes/dpt_large/009.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/009.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/010.yaml b/workspace/example_designs/layer_shapes/dpt_large/010.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/010.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/011.yaml b/workspace/example_designs/layer_shapes/dpt_large/011.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/011.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/012.yaml b/workspace/example_designs/layer_shapes/dpt_large/012.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/012.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/013.yaml b/workspace/example_designs/layer_shapes/dpt_large/013.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/013.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/014.yaml b/workspace/example_designs/layer_shapes/dpt_large/014.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/014.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/015.yaml b/workspace/example_designs/layer_shapes/dpt_large/015.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/015.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/016.yaml b/workspace/example_designs/layer_shapes/dpt_large/016.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/016.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/017.yaml b/workspace/example_designs/layer_shapes/dpt_large/017.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/017.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/018.yaml b/workspace/example_designs/layer_shapes/dpt_large/018.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/018.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/019.yaml b/workspace/example_designs/layer_shapes/dpt_large/019.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/019.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/020.yaml b/workspace/example_designs/layer_shapes/dpt_large/020.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/020.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/021.yaml b/workspace/example_designs/layer_shapes/dpt_large/021.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/021.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/022.yaml b/workspace/example_designs/layer_shapes/dpt_large/022.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/022.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/023.yaml b/workspace/example_designs/layer_shapes/dpt_large/023.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/023.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/024.yaml b/workspace/example_designs/layer_shapes/dpt_large/024.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/024.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/025.yaml b/workspace/example_designs/layer_shapes/dpt_large/025.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/025.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/026.yaml b/workspace/example_designs/layer_shapes/dpt_large/026.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/026.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/027.yaml b/workspace/example_designs/layer_shapes/dpt_large/027.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/027.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/028.yaml b/workspace/example_designs/layer_shapes/dpt_large/028.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/028.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/029.yaml b/workspace/example_designs/layer_shapes/dpt_large/029.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/029.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/030.yaml b/workspace/example_designs/layer_shapes/dpt_large/030.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/030.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/031.yaml b/workspace/example_designs/layer_shapes/dpt_large/031.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/031.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/032.yaml b/workspace/example_designs/layer_shapes/dpt_large/032.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/032.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/033.yaml b/workspace/example_designs/layer_shapes/dpt_large/033.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/033.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/034.yaml b/workspace/example_designs/layer_shapes/dpt_large/034.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/034.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/035.yaml b/workspace/example_designs/layer_shapes/dpt_large/035.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/035.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/036.yaml b/workspace/example_designs/layer_shapes/dpt_large/036.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/036.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/037.yaml b/workspace/example_designs/layer_shapes/dpt_large/037.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/037.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/038.yaml b/workspace/example_designs/layer_shapes/dpt_large/038.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/038.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/039.yaml b/workspace/example_designs/layer_shapes/dpt_large/039.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/039.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/040.yaml b/workspace/example_designs/layer_shapes/dpt_large/040.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/040.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/041.yaml b/workspace/example_designs/layer_shapes/dpt_large/041.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/041.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/042.yaml b/workspace/example_designs/layer_shapes/dpt_large/042.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/042.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/043.yaml b/workspace/example_designs/layer_shapes/dpt_large/043.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/043.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/044.yaml b/workspace/example_designs/layer_shapes/dpt_large/044.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/044.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/045.yaml b/workspace/example_designs/layer_shapes/dpt_large/045.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/045.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/046.yaml b/workspace/example_designs/layer_shapes/dpt_large/046.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/046.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/047.yaml b/workspace/example_designs/layer_shapes/dpt_large/047.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/047.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/048.yaml b/workspace/example_designs/layer_shapes/dpt_large/048.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/048.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/049.yaml b/workspace/example_designs/layer_shapes/dpt_large/049.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/049.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/050.yaml b/workspace/example_designs/layer_shapes/dpt_large/050.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/050.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/051.yaml b/workspace/example_designs/layer_shapes/dpt_large/051.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/051.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/052.yaml b/workspace/example_designs/layer_shapes/dpt_large/052.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/052.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/053.yaml b/workspace/example_designs/layer_shapes/dpt_large/053.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/053.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/054.yaml b/workspace/example_designs/layer_shapes/dpt_large/054.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/054.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/055.yaml b/workspace/example_designs/layer_shapes/dpt_large/055.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/055.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/056.yaml b/workspace/example_designs/layer_shapes/dpt_large/056.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/056.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/057.yaml b/workspace/example_designs/layer_shapes/dpt_large/057.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/057.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/058.yaml b/workspace/example_designs/layer_shapes/dpt_large/058.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/058.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/059.yaml b/workspace/example_designs/layer_shapes/dpt_large/059.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/059.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/060.yaml b/workspace/example_designs/layer_shapes/dpt_large/060.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/060.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/061.yaml b/workspace/example_designs/layer_shapes/dpt_large/061.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/061.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/062.yaml b/workspace/example_designs/layer_shapes/dpt_large/062.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/062.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/063.yaml b/workspace/example_designs/layer_shapes/dpt_large/063.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/063.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/064.yaml b/workspace/example_designs/layer_shapes/dpt_large/064.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/064.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/065.yaml b/workspace/example_designs/layer_shapes/dpt_large/065.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/065.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/066.yaml b/workspace/example_designs/layer_shapes/dpt_large/066.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/066.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/067.yaml b/workspace/example_designs/layer_shapes/dpt_large/067.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/067.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/068.yaml b/workspace/example_designs/layer_shapes/dpt_large/068.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/068.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/069.yaml b/workspace/example_designs/layer_shapes/dpt_large/069.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/069.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/070.yaml b/workspace/example_designs/layer_shapes/dpt_large/070.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/070.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/071.yaml b/workspace/example_designs/layer_shapes/dpt_large/071.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/071.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/072.yaml b/workspace/example_designs/layer_shapes/dpt_large/072.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/072.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/073.yaml b/workspace/example_designs/layer_shapes/dpt_large/073.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/073.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/074.yaml b/workspace/example_designs/layer_shapes/dpt_large/074.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/074.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/075.yaml b/workspace/example_designs/layer_shapes/dpt_large/075.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/075.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/076.yaml b/workspace/example_designs/layer_shapes/dpt_large/076.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/076.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/077.yaml b/workspace/example_designs/layer_shapes/dpt_large/077.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/077.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/078.yaml b/workspace/example_designs/layer_shapes/dpt_large/078.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/078.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/079.yaml b/workspace/example_designs/layer_shapes/dpt_large/079.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/079.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/080.yaml b/workspace/example_designs/layer_shapes/dpt_large/080.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/080.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/081.yaml b/workspace/example_designs/layer_shapes/dpt_large/081.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/081.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/082.yaml b/workspace/example_designs/layer_shapes/dpt_large/082.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/082.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/083.yaml b/workspace/example_designs/layer_shapes/dpt_large/083.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/083.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/084.yaml b/workspace/example_designs/layer_shapes/dpt_large/084.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/084.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/085.yaml b/workspace/example_designs/layer_shapes/dpt_large/085.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/085.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/086.yaml b/workspace/example_designs/layer_shapes/dpt_large/086.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/086.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/087.yaml b/workspace/example_designs/layer_shapes/dpt_large/087.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/087.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/088.yaml b/workspace/example_designs/layer_shapes/dpt_large/088.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/088.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/089.yaml b/workspace/example_designs/layer_shapes/dpt_large/089.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/089.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/090.yaml b/workspace/example_designs/layer_shapes/dpt_large/090.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/090.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/091.yaml b/workspace/example_designs/layer_shapes/dpt_large/091.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/091.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/092.yaml b/workspace/example_designs/layer_shapes/dpt_large/092.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/092.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/093.yaml b/workspace/example_designs/layer_shapes/dpt_large/093.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/093.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/094.yaml b/workspace/example_designs/layer_shapes/dpt_large/094.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/094.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/095.yaml b/workspace/example_designs/layer_shapes/dpt_large/095.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/095.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/096.yaml b/workspace/example_designs/layer_shapes/dpt_large/096.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/096.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/097.yaml b/workspace/example_designs/layer_shapes/dpt_large/097.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/097.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/098.yaml b/workspace/example_designs/layer_shapes/dpt_large/098.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/098.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/099.yaml b/workspace/example_designs/layer_shapes/dpt_large/099.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/099.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/100.yaml b/workspace/example_designs/layer_shapes/dpt_large/100.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/100.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/101.yaml b/workspace/example_designs/layer_shapes/dpt_large/101.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/101.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/102.yaml b/workspace/example_designs/layer_shapes/dpt_large/102.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/102.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/103.yaml b/workspace/example_designs/layer_shapes/dpt_large/103.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/103.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/104.yaml b/workspace/example_designs/layer_shapes/dpt_large/104.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/104.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/105.yaml b/workspace/example_designs/layer_shapes/dpt_large/105.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/105.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/106.yaml b/workspace/example_designs/layer_shapes/dpt_large/106.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/106.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/107.yaml b/workspace/example_designs/layer_shapes/dpt_large/107.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/107.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/108.yaml b/workspace/example_designs/layer_shapes/dpt_large/108.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/108.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/109.yaml b/workspace/example_designs/layer_shapes/dpt_large/109.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/109.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/110.yaml b/workspace/example_designs/layer_shapes/dpt_large/110.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/110.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/111.yaml b/workspace/example_designs/layer_shapes/dpt_large/111.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/111.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/112.yaml b/workspace/example_designs/layer_shapes/dpt_large/112.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/112.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/113.yaml b/workspace/example_designs/layer_shapes/dpt_large/113.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/113.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/114.yaml b/workspace/example_designs/layer_shapes/dpt_large/114.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/114.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/115.yaml b/workspace/example_designs/layer_shapes/dpt_large/115.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/115.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/116.yaml b/workspace/example_designs/layer_shapes/dpt_large/116.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/116.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/117.yaml b/workspace/example_designs/layer_shapes/dpt_large/117.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/117.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/118.yaml b/workspace/example_designs/layer_shapes/dpt_large/118.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/118.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/119.yaml b/workspace/example_designs/layer_shapes/dpt_large/119.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/119.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/120.yaml b/workspace/example_designs/layer_shapes/dpt_large/120.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/120.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/121.yaml b/workspace/example_designs/layer_shapes/dpt_large/121.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/121.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/122.yaml b/workspace/example_designs/layer_shapes/dpt_large/122.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/122.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/123.yaml b/workspace/example_designs/layer_shapes/dpt_large/123.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/123.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/124.yaml b/workspace/example_designs/layer_shapes/dpt_large/124.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/124.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/125.yaml b/workspace/example_designs/layer_shapes/dpt_large/125.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/125.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/126.yaml b/workspace/example_designs/layer_shapes/dpt_large/126.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/126.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/127.yaml b/workspace/example_designs/layer_shapes/dpt_large/127.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/127.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/128.yaml b/workspace/example_designs/layer_shapes/dpt_large/128.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/128.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/129.yaml b/workspace/example_designs/layer_shapes/dpt_large/129.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/129.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/130.yaml b/workspace/example_designs/layer_shapes/dpt_large/130.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/130.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/131.yaml b/workspace/example_designs/layer_shapes/dpt_large/131.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/131.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/132.yaml b/workspace/example_designs/layer_shapes/dpt_large/132.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/132.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/133.yaml b/workspace/example_designs/layer_shapes/dpt_large/133.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/133.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/134.yaml b/workspace/example_designs/layer_shapes/dpt_large/134.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/134.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/135.yaml b/workspace/example_designs/layer_shapes/dpt_large/135.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/135.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/136.yaml b/workspace/example_designs/layer_shapes/dpt_large/136.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/136.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/137.yaml b/workspace/example_designs/layer_shapes/dpt_large/137.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/137.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/138.yaml b/workspace/example_designs/layer_shapes/dpt_large/138.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/138.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/139.yaml b/workspace/example_designs/layer_shapes/dpt_large/139.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/139.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/140.yaml b/workspace/example_designs/layer_shapes/dpt_large/140.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/140.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/141.yaml b/workspace/example_designs/layer_shapes/dpt_large/141.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/141.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/142.yaml b/workspace/example_designs/layer_shapes/dpt_large/142.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/142.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/143.yaml b/workspace/example_designs/layer_shapes/dpt_large/143.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/143.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/144.yaml b/workspace/example_designs/layer_shapes/dpt_large/144.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/144.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/145.yaml b/workspace/example_designs/layer_shapes/dpt_large/145.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/145.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/146.yaml b/workspace/example_designs/layer_shapes/dpt_large/146.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/146.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/147.yaml b/workspace/example_designs/layer_shapes/dpt_large/147.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/147.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/148.yaml b/workspace/example_designs/layer_shapes/dpt_large/148.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/148.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/149.yaml b/workspace/example_designs/layer_shapes/dpt_large/149.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/149.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/150.yaml b/workspace/example_designs/layer_shapes/dpt_large/150.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/150.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/151.yaml b/workspace/example_designs/layer_shapes/dpt_large/151.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/151.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/152.yaml b/workspace/example_designs/layer_shapes/dpt_large/152.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/152.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/153.yaml b/workspace/example_designs/layer_shapes/dpt_large/153.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/153.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/154.yaml b/workspace/example_designs/layer_shapes/dpt_large/154.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/154.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/155.yaml b/workspace/example_designs/layer_shapes/dpt_large/155.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/155.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/156.yaml b/workspace/example_designs/layer_shapes/dpt_large/156.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/156.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/157.yaml b/workspace/example_designs/layer_shapes/dpt_large/157.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/157.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/158.yaml b/workspace/example_designs/layer_shapes/dpt_large/158.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/158.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/159.yaml b/workspace/example_designs/layer_shapes/dpt_large/159.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/159.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/160.yaml b/workspace/example_designs/layer_shapes/dpt_large/160.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/160.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/161.yaml b/workspace/example_designs/layer_shapes/dpt_large/161.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/161.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/162.yaml b/workspace/example_designs/layer_shapes/dpt_large/162.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/162.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/163.yaml b/workspace/example_designs/layer_shapes/dpt_large/163.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/163.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/164.yaml b/workspace/example_designs/layer_shapes/dpt_large/164.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/164.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/165.yaml b/workspace/example_designs/layer_shapes/dpt_large/165.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/165.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/166.yaml b/workspace/example_designs/layer_shapes/dpt_large/166.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/166.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/167.yaml b/workspace/example_designs/layer_shapes/dpt_large/167.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/167.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/168.yaml b/workspace/example_designs/layer_shapes/dpt_large/168.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/168.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/169.yaml b/workspace/example_designs/layer_shapes/dpt_large/169.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/169.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/170.yaml b/workspace/example_designs/layer_shapes/dpt_large/170.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/170.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/171.yaml b/workspace/example_designs/layer_shapes/dpt_large/171.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/171.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/172.yaml b/workspace/example_designs/layer_shapes/dpt_large/172.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/172.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/173.yaml b/workspace/example_designs/layer_shapes/dpt_large/173.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/173.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/174.yaml b/workspace/example_designs/layer_shapes/dpt_large/174.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/174.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/175.yaml b/workspace/example_designs/layer_shapes/dpt_large/175.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/175.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/176.yaml b/workspace/example_designs/layer_shapes/dpt_large/176.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/176.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/177.yaml b/workspace/example_designs/layer_shapes/dpt_large/177.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/177.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/178.yaml b/workspace/example_designs/layer_shapes/dpt_large/178.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/178.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/179.yaml b/workspace/example_designs/layer_shapes/dpt_large/179.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/179.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/180.yaml b/workspace/example_designs/layer_shapes/dpt_large/180.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/180.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/181.yaml b/workspace/example_designs/layer_shapes/dpt_large/181.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/181.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/182.yaml b/workspace/example_designs/layer_shapes/dpt_large/182.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/182.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/183.yaml b/workspace/example_designs/layer_shapes/dpt_large/183.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/183.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/184.yaml b/workspace/example_designs/layer_shapes/dpt_large/184.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/184.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/185.yaml b/workspace/example_designs/layer_shapes/dpt_large/185.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/185.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/186.yaml b/workspace/example_designs/layer_shapes/dpt_large/186.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/186.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/187.yaml b/workspace/example_designs/layer_shapes/dpt_large/187.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/187.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/188.yaml b/workspace/example_designs/layer_shapes/dpt_large/188.yaml new file mode 100755 index 00000000..0313cb68 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/188.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/189.yaml b/workspace/example_designs/layer_shapes/dpt_large/189.yaml new file mode 100755 index 00000000..f73dcea5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/189.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 577, C: 577, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/190.yaml b/workspace/example_designs/layer_shapes/dpt_large/190.yaml new file mode 100755 index 00000000..268dd32b --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/190.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/191.yaml b/workspace/example_designs/layer_shapes/dpt_large/191.yaml new file mode 100755 index 00000000..27823b8a --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/191.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/192.yaml b/workspace/example_designs/layer_shapes/dpt_large/192.yaml new file mode 100755 index 00000000..560f9609 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/192.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 577} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/193.yaml b/workspace/example_designs/layer_shapes/dpt_large/193.yaml new file mode 100755 index 00000000..247949ec --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/193.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 1024, P: 576} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/194.yaml b/workspace/example_designs/layer_shapes/dpt_large/194.yaml new file mode 100755 index 00000000..f4602f6c --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/194.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 256, P: 24, Q: 24} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/195.yaml b/workspace/example_designs/layer_shapes/dpt_large/195.yaml new file mode 100755 index 00000000..247949ec --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/195.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 1024, P: 576} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/196.yaml b/workspace/example_designs/layer_shapes/dpt_large/196.yaml new file mode 100755 index 00000000..94522471 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/196.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 512, P: 24, Q: 24} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/197.yaml b/workspace/example_designs/layer_shapes/dpt_large/197.yaml new file mode 100755 index 00000000..247949ec --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/197.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 1024, P: 576} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/198.yaml b/workspace/example_designs/layer_shapes/dpt_large/198.yaml new file mode 100755 index 00000000..98655cb7 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/198.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 24, Q: 24} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/199.yaml b/workspace/example_designs/layer_shapes/dpt_large/199.yaml new file mode 100755 index 00000000..247949ec --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/199.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 1024, P: 576} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/200.yaml b/workspace/example_designs/layer_shapes/dpt_large/200.yaml new file mode 100755 index 00000000..98655cb7 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/200.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 24, Q: 24} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/201.yaml b/workspace/example_designs/layer_shapes/dpt_large/201.yaml new file mode 100755 index 00000000..0ecbeae2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/201.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 12, Q: 12, R: 3, S: 3, HStride: 2, WStride: 2} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/202.yaml b/workspace/example_designs/layer_shapes/dpt_large/202.yaml new file mode 100755 index 00000000..c6256ee9 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/202.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 96, Q: 96, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/203.yaml b/workspace/example_designs/layer_shapes/dpt_large/203.yaml new file mode 100755 index 00000000..2f7f9baf --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/203.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 256, P: 48, Q: 48, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/204.yaml b/workspace/example_designs/layer_shapes/dpt_large/204.yaml new file mode 100755 index 00000000..911638fe --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/204.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 256, P: 24, Q: 24, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/205.yaml b/workspace/example_designs/layer_shapes/dpt_large/205.yaml new file mode 100755 index 00000000..a1292967 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/205.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 256, P: 12, Q: 12, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/206.yaml b/workspace/example_designs/layer_shapes/dpt_large/206.yaml new file mode 100755 index 00000000..70d5cebe --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/206.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 12, Q: 12, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/207.yaml b/workspace/example_designs/layer_shapes/dpt_large/207.yaml new file mode 100755 index 00000000..70d5cebe --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/207.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 12, Q: 12, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/208.yaml b/workspace/example_designs/layer_shapes/dpt_large/208.yaml new file mode 100755 index 00000000..16ba0533 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/208.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 24, Q: 24} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/209.yaml b/workspace/example_designs/layer_shapes/dpt_large/209.yaml new file mode 100755 index 00000000..68b10406 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/209.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 24, Q: 24, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/210.yaml b/workspace/example_designs/layer_shapes/dpt_large/210.yaml new file mode 100755 index 00000000..68b10406 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/210.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 24, Q: 24, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/211.yaml b/workspace/example_designs/layer_shapes/dpt_large/211.yaml new file mode 100755 index 00000000..68b10406 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/211.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 24, Q: 24, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/212.yaml b/workspace/example_designs/layer_shapes/dpt_large/212.yaml new file mode 100755 index 00000000..68b10406 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/212.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 24, Q: 24, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/213.yaml b/workspace/example_designs/layer_shapes/dpt_large/213.yaml new file mode 100755 index 00000000..f9b4f250 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/213.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 48, Q: 48} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/214.yaml b/workspace/example_designs/layer_shapes/dpt_large/214.yaml new file mode 100755 index 00000000..16038d93 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/214.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 48, Q: 48, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/215.yaml b/workspace/example_designs/layer_shapes/dpt_large/215.yaml new file mode 100755 index 00000000..16038d93 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/215.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 48, Q: 48, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/216.yaml b/workspace/example_designs/layer_shapes/dpt_large/216.yaml new file mode 100755 index 00000000..16038d93 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/216.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 48, Q: 48, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/217.yaml b/workspace/example_designs/layer_shapes/dpt_large/217.yaml new file mode 100755 index 00000000..16038d93 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/217.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 48, Q: 48, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/218.yaml b/workspace/example_designs/layer_shapes/dpt_large/218.yaml new file mode 100755 index 00000000..ca068cfe --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/218.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 96, Q: 96} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/219.yaml b/workspace/example_designs/layer_shapes/dpt_large/219.yaml new file mode 100755 index 00000000..c6256ee9 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/219.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 96, Q: 96, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/220.yaml b/workspace/example_designs/layer_shapes/dpt_large/220.yaml new file mode 100755 index 00000000..c6256ee9 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/220.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 96, Q: 96, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/221.yaml b/workspace/example_designs/layer_shapes/dpt_large/221.yaml new file mode 100755 index 00000000..c6256ee9 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/221.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 96, Q: 96, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/222.yaml b/workspace/example_designs/layer_shapes/dpt_large/222.yaml new file mode 100755 index 00000000..c6256ee9 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/222.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 96, Q: 96, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/223.yaml b/workspace/example_designs/layer_shapes/dpt_large/223.yaml new file mode 100755 index 00000000..f92f42cf --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/223.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 192, Q: 192} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/224.yaml b/workspace/example_designs/layer_shapes/dpt_large/224.yaml new file mode 100755 index 00000000..916552b0 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/224.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 128, P: 192, Q: 192, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/225.yaml b/workspace/example_designs/layer_shapes/dpt_large/225.yaml new file mode 100755 index 00000000..3c05e191 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/225.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 32, P: 384, Q: 384, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/dpt_large/226.yaml b/workspace/example_designs/layer_shapes/dpt_large/226.yaml new file mode 100755 index 00000000..8b02b793 --- /dev/null +++ b/workspace/example_designs/layer_shapes/dpt_large/226.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 32, P: 384, Q: 384} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/000.yaml b/workspace/example_designs/layer_shapes/gpt2/000.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/000.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/001.yaml b/workspace/example_designs/layer_shapes/gpt2/001.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/001.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/002.yaml b/workspace/example_designs/layer_shapes/gpt2/002.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/002.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/003.yaml b/workspace/example_designs/layer_shapes/gpt2/003.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/003.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/004.yaml b/workspace/example_designs/layer_shapes/gpt2/004.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/004.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/005.yaml b/workspace/example_designs/layer_shapes/gpt2/005.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/005.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/006.yaml b/workspace/example_designs/layer_shapes/gpt2/006.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/006.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/007.yaml b/workspace/example_designs/layer_shapes/gpt2/007.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/007.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/008.yaml b/workspace/example_designs/layer_shapes/gpt2/008.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/008.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/009.yaml b/workspace/example_designs/layer_shapes/gpt2/009.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/009.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/010.yaml b/workspace/example_designs/layer_shapes/gpt2/010.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/010.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/011.yaml b/workspace/example_designs/layer_shapes/gpt2/011.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/011.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/012.yaml b/workspace/example_designs/layer_shapes/gpt2/012.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/012.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/013.yaml b/workspace/example_designs/layer_shapes/gpt2/013.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/013.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/014.yaml b/workspace/example_designs/layer_shapes/gpt2/014.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/014.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/015.yaml b/workspace/example_designs/layer_shapes/gpt2/015.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/015.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/016.yaml b/workspace/example_designs/layer_shapes/gpt2/016.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/016.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/017.yaml b/workspace/example_designs/layer_shapes/gpt2/017.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/017.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/018.yaml b/workspace/example_designs/layer_shapes/gpt2/018.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/018.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/019.yaml b/workspace/example_designs/layer_shapes/gpt2/019.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/019.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/020.yaml b/workspace/example_designs/layer_shapes/gpt2/020.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/020.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/021.yaml b/workspace/example_designs/layer_shapes/gpt2/021.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/021.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/022.yaml b/workspace/example_designs/layer_shapes/gpt2/022.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/022.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/023.yaml b/workspace/example_designs/layer_shapes/gpt2/023.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/023.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/024.yaml b/workspace/example_designs/layer_shapes/gpt2/024.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/024.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/025.yaml b/workspace/example_designs/layer_shapes/gpt2/025.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/025.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/026.yaml b/workspace/example_designs/layer_shapes/gpt2/026.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/026.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/027.yaml b/workspace/example_designs/layer_shapes/gpt2/027.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/027.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/028.yaml b/workspace/example_designs/layer_shapes/gpt2/028.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/028.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/029.yaml b/workspace/example_designs/layer_shapes/gpt2/029.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/029.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/030.yaml b/workspace/example_designs/layer_shapes/gpt2/030.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/030.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/031.yaml b/workspace/example_designs/layer_shapes/gpt2/031.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/031.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/032.yaml b/workspace/example_designs/layer_shapes/gpt2/032.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/032.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/033.yaml b/workspace/example_designs/layer_shapes/gpt2/033.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/033.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/034.yaml b/workspace/example_designs/layer_shapes/gpt2/034.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/034.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/035.yaml b/workspace/example_designs/layer_shapes/gpt2/035.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/035.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/036.yaml b/workspace/example_designs/layer_shapes/gpt2/036.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/036.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/037.yaml b/workspace/example_designs/layer_shapes/gpt2/037.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/037.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/038.yaml b/workspace/example_designs/layer_shapes/gpt2/038.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/038.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/039.yaml b/workspace/example_designs/layer_shapes/gpt2/039.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/039.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/040.yaml b/workspace/example_designs/layer_shapes/gpt2/040.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/040.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/041.yaml b/workspace/example_designs/layer_shapes/gpt2/041.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/041.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/042.yaml b/workspace/example_designs/layer_shapes/gpt2/042.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/042.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/043.yaml b/workspace/example_designs/layer_shapes/gpt2/043.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/043.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/044.yaml b/workspace/example_designs/layer_shapes/gpt2/044.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/044.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/045.yaml b/workspace/example_designs/layer_shapes/gpt2/045.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/045.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/046.yaml b/workspace/example_designs/layer_shapes/gpt2/046.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/046.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/047.yaml b/workspace/example_designs/layer_shapes/gpt2/047.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/047.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/048.yaml b/workspace/example_designs/layer_shapes/gpt2/048.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/048.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/049.yaml b/workspace/example_designs/layer_shapes/gpt2/049.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/049.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/050.yaml b/workspace/example_designs/layer_shapes/gpt2/050.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/050.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/051.yaml b/workspace/example_designs/layer_shapes/gpt2/051.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/051.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/052.yaml b/workspace/example_designs/layer_shapes/gpt2/052.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/052.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/053.yaml b/workspace/example_designs/layer_shapes/gpt2/053.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/053.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/054.yaml b/workspace/example_designs/layer_shapes/gpt2/054.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/054.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/055.yaml b/workspace/example_designs/layer_shapes/gpt2/055.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/055.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/056.yaml b/workspace/example_designs/layer_shapes/gpt2/056.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/056.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/057.yaml b/workspace/example_designs/layer_shapes/gpt2/057.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/057.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/058.yaml b/workspace/example_designs/layer_shapes/gpt2/058.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/058.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/059.yaml b/workspace/example_designs/layer_shapes/gpt2/059.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/059.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/060.yaml b/workspace/example_designs/layer_shapes/gpt2/060.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/060.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/061.yaml b/workspace/example_designs/layer_shapes/gpt2/061.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/061.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/062.yaml b/workspace/example_designs/layer_shapes/gpt2/062.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/062.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/063.yaml b/workspace/example_designs/layer_shapes/gpt2/063.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/063.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/064.yaml b/workspace/example_designs/layer_shapes/gpt2/064.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/064.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/065.yaml b/workspace/example_designs/layer_shapes/gpt2/065.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/065.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/066.yaml b/workspace/example_designs/layer_shapes/gpt2/066.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/066.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/067.yaml b/workspace/example_designs/layer_shapes/gpt2/067.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/067.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/068.yaml b/workspace/example_designs/layer_shapes/gpt2/068.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/068.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/069.yaml b/workspace/example_designs/layer_shapes/gpt2/069.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/069.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/070.yaml b/workspace/example_designs/layer_shapes/gpt2/070.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/070.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/071.yaml b/workspace/example_designs/layer_shapes/gpt2/071.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/071.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/072.yaml b/workspace/example_designs/layer_shapes/gpt2/072.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/072.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/073.yaml b/workspace/example_designs/layer_shapes/gpt2/073.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/073.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/074.yaml b/workspace/example_designs/layer_shapes/gpt2/074.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/074.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/075.yaml b/workspace/example_designs/layer_shapes/gpt2/075.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/075.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/076.yaml b/workspace/example_designs/layer_shapes/gpt2/076.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/076.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/077.yaml b/workspace/example_designs/layer_shapes/gpt2/077.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/077.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/078.yaml b/workspace/example_designs/layer_shapes/gpt2/078.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/078.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/079.yaml b/workspace/example_designs/layer_shapes/gpt2/079.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/079.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/080.yaml b/workspace/example_designs/layer_shapes/gpt2/080.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/080.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/081.yaml b/workspace/example_designs/layer_shapes/gpt2/081.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/081.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/082.yaml b/workspace/example_designs/layer_shapes/gpt2/082.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/082.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/083.yaml b/workspace/example_designs/layer_shapes/gpt2/083.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/083.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/084.yaml b/workspace/example_designs/layer_shapes/gpt2/084.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/084.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/085.yaml b/workspace/example_designs/layer_shapes/gpt2/085.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/085.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/086.yaml b/workspace/example_designs/layer_shapes/gpt2/086.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/086.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/087.yaml b/workspace/example_designs/layer_shapes/gpt2/087.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/087.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/088.yaml b/workspace/example_designs/layer_shapes/gpt2/088.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/088.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/089.yaml b/workspace/example_designs/layer_shapes/gpt2/089.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/089.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/090.yaml b/workspace/example_designs/layer_shapes/gpt2/090.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/090.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/091.yaml b/workspace/example_designs/layer_shapes/gpt2/091.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/091.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/092.yaml b/workspace/example_designs/layer_shapes/gpt2/092.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/092.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/093.yaml b/workspace/example_designs/layer_shapes/gpt2/093.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/093.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/094.yaml b/workspace/example_designs/layer_shapes/gpt2/094.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/094.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/095.yaml b/workspace/example_designs/layer_shapes/gpt2/095.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/095.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/096.yaml b/workspace/example_designs/layer_shapes/gpt2/096.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/096.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/097.yaml b/workspace/example_designs/layer_shapes/gpt2/097.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/097.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/098.yaml b/workspace/example_designs/layer_shapes/gpt2/098.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/098.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/099.yaml b/workspace/example_designs/layer_shapes/gpt2/099.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/099.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/100.yaml b/workspace/example_designs/layer_shapes/gpt2/100.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/100.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/101.yaml b/workspace/example_designs/layer_shapes/gpt2/101.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/101.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/102.yaml b/workspace/example_designs/layer_shapes/gpt2/102.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/102.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/103.yaml b/workspace/example_designs/layer_shapes/gpt2/103.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/103.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/104.yaml b/workspace/example_designs/layer_shapes/gpt2/104.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/104.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/105.yaml b/workspace/example_designs/layer_shapes/gpt2/105.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/105.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/106.yaml b/workspace/example_designs/layer_shapes/gpt2/106.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/106.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/107.yaml b/workspace/example_designs/layer_shapes/gpt2/107.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/107.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/108.yaml b/workspace/example_designs/layer_shapes/gpt2/108.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/108.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/109.yaml b/workspace/example_designs/layer_shapes/gpt2/109.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/109.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/110.yaml b/workspace/example_designs/layer_shapes/gpt2/110.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/110.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/111.yaml b/workspace/example_designs/layer_shapes/gpt2/111.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/111.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/112.yaml b/workspace/example_designs/layer_shapes/gpt2/112.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/112.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/113.yaml b/workspace/example_designs/layer_shapes/gpt2/113.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/113.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/114.yaml b/workspace/example_designs/layer_shapes/gpt2/114.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/114.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/115.yaml b/workspace/example_designs/layer_shapes/gpt2/115.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/115.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/116.yaml b/workspace/example_designs/layer_shapes/gpt2/116.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/116.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/117.yaml b/workspace/example_designs/layer_shapes/gpt2/117.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/117.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/118.yaml b/workspace/example_designs/layer_shapes/gpt2/118.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/118.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/119.yaml b/workspace/example_designs/layer_shapes/gpt2/119.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/119.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/120.yaml b/workspace/example_designs/layer_shapes/gpt2/120.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/120.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/121.yaml b/workspace/example_designs/layer_shapes/gpt2/121.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/121.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/122.yaml b/workspace/example_designs/layer_shapes/gpt2/122.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/122.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/123.yaml b/workspace/example_designs/layer_shapes/gpt2/123.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/123.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/124.yaml b/workspace/example_designs/layer_shapes/gpt2/124.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/124.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/125.yaml b/workspace/example_designs/layer_shapes/gpt2/125.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/125.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/126.yaml b/workspace/example_designs/layer_shapes/gpt2/126.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/126.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/127.yaml b/workspace/example_designs/layer_shapes/gpt2/127.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/127.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/128.yaml b/workspace/example_designs/layer_shapes/gpt2/128.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/128.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/129.yaml b/workspace/example_designs/layer_shapes/gpt2/129.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/129.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/130.yaml b/workspace/example_designs/layer_shapes/gpt2/130.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/130.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/131.yaml b/workspace/example_designs/layer_shapes/gpt2/131.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/131.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/132.yaml b/workspace/example_designs/layer_shapes/gpt2/132.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/132.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/133.yaml b/workspace/example_designs/layer_shapes/gpt2/133.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/133.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/134.yaml b/workspace/example_designs/layer_shapes/gpt2/134.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/134.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/135.yaml b/workspace/example_designs/layer_shapes/gpt2/135.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/135.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/136.yaml b/workspace/example_designs/layer_shapes/gpt2/136.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/136.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/137.yaml b/workspace/example_designs/layer_shapes/gpt2/137.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/137.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/138.yaml b/workspace/example_designs/layer_shapes/gpt2/138.yaml new file mode 100755 index 00000000..95bdcf49 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/138.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 3072, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/139.yaml b/workspace/example_designs/layer_shapes/gpt2/139.yaml new file mode 100755 index 00000000..025f6d2a --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/139.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/140.yaml b/workspace/example_designs/layer_shapes/gpt2/140.yaml new file mode 100755 index 00000000..ad1899d1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/140.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/141.yaml b/workspace/example_designs/layer_shapes/gpt2/141.yaml new file mode 100755 index 00000000..73a22234 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/141.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 256, C: 256, P: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/142.yaml b/workspace/example_designs/layer_shapes/gpt2/142.yaml new file mode 100755 index 00000000..10278e97 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/142.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 4096, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/143.yaml b/workspace/example_designs/layer_shapes/gpt2/143.yaml new file mode 100755 index 00000000..4f343605 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/143.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1024, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/gpt2/144.yaml b/workspace/example_designs/layer_shapes/gpt2/144.yaml new file mode 100755 index 00000000..d41bcc03 --- /dev/null +++ b/workspace/example_designs/layer_shapes/gpt2/144.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1024, M: 50257, P: 256} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/000.yaml b/workspace/example_designs/layer_shapes/mobilebert/000.yaml new file mode 100644 index 00000000..88cf5efc --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/000.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 384, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/001.yaml b/workspace/example_designs/layer_shapes/mobilebert/001.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/001.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/002.yaml b/workspace/example_designs/layer_shapes/mobilebert/002.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/002.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/003.yaml b/workspace/example_designs/layer_shapes/mobilebert/003.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/003.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/004.yaml b/workspace/example_designs/layer_shapes/mobilebert/004.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/004.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/005.yaml b/workspace/example_designs/layer_shapes/mobilebert/005.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/005.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/006.yaml b/workspace/example_designs/layer_shapes/mobilebert/006.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/006.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/007.yaml b/workspace/example_designs/layer_shapes/mobilebert/007.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/007.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/008.yaml b/workspace/example_designs/layer_shapes/mobilebert/008.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/008.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/009.yaml b/workspace/example_designs/layer_shapes/mobilebert/009.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/009.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/010.yaml b/workspace/example_designs/layer_shapes/mobilebert/010.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/010.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/011.yaml b/workspace/example_designs/layer_shapes/mobilebert/011.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/011.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/012.yaml b/workspace/example_designs/layer_shapes/mobilebert/012.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/012.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/013.yaml b/workspace/example_designs/layer_shapes/mobilebert/013.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/013.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/014.yaml b/workspace/example_designs/layer_shapes/mobilebert/014.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/014.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/015.yaml b/workspace/example_designs/layer_shapes/mobilebert/015.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/015.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/016.yaml b/workspace/example_designs/layer_shapes/mobilebert/016.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/016.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/017.yaml b/workspace/example_designs/layer_shapes/mobilebert/017.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/017.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/018.yaml b/workspace/example_designs/layer_shapes/mobilebert/018.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/018.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/019.yaml b/workspace/example_designs/layer_shapes/mobilebert/019.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/019.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/020.yaml b/workspace/example_designs/layer_shapes/mobilebert/020.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/020.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/021.yaml b/workspace/example_designs/layer_shapes/mobilebert/021.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/021.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/022.yaml b/workspace/example_designs/layer_shapes/mobilebert/022.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/022.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/023.yaml b/workspace/example_designs/layer_shapes/mobilebert/023.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/023.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/024.yaml b/workspace/example_designs/layer_shapes/mobilebert/024.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/024.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/025.yaml b/workspace/example_designs/layer_shapes/mobilebert/025.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/025.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/026.yaml b/workspace/example_designs/layer_shapes/mobilebert/026.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/026.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/027.yaml b/workspace/example_designs/layer_shapes/mobilebert/027.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/027.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/028.yaml b/workspace/example_designs/layer_shapes/mobilebert/028.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/028.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/029.yaml b/workspace/example_designs/layer_shapes/mobilebert/029.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/029.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/030.yaml b/workspace/example_designs/layer_shapes/mobilebert/030.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/030.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/031.yaml b/workspace/example_designs/layer_shapes/mobilebert/031.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/031.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/032.yaml b/workspace/example_designs/layer_shapes/mobilebert/032.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/032.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/033.yaml b/workspace/example_designs/layer_shapes/mobilebert/033.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/033.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/034.yaml b/workspace/example_designs/layer_shapes/mobilebert/034.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/034.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/035.yaml b/workspace/example_designs/layer_shapes/mobilebert/035.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/035.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/036.yaml b/workspace/example_designs/layer_shapes/mobilebert/036.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/036.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/037.yaml b/workspace/example_designs/layer_shapes/mobilebert/037.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/037.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/038.yaml b/workspace/example_designs/layer_shapes/mobilebert/038.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/038.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/039.yaml b/workspace/example_designs/layer_shapes/mobilebert/039.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/039.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/040.yaml b/workspace/example_designs/layer_shapes/mobilebert/040.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/040.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/041.yaml b/workspace/example_designs/layer_shapes/mobilebert/041.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/041.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/042.yaml b/workspace/example_designs/layer_shapes/mobilebert/042.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/042.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/043.yaml b/workspace/example_designs/layer_shapes/mobilebert/043.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/043.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/044.yaml b/workspace/example_designs/layer_shapes/mobilebert/044.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/044.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/045.yaml b/workspace/example_designs/layer_shapes/mobilebert/045.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/045.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/046.yaml b/workspace/example_designs/layer_shapes/mobilebert/046.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/046.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/047.yaml b/workspace/example_designs/layer_shapes/mobilebert/047.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/047.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/048.yaml b/workspace/example_designs/layer_shapes/mobilebert/048.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/048.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/049.yaml b/workspace/example_designs/layer_shapes/mobilebert/049.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/049.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/050.yaml b/workspace/example_designs/layer_shapes/mobilebert/050.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/050.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/051.yaml b/workspace/example_designs/layer_shapes/mobilebert/051.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/051.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/052.yaml b/workspace/example_designs/layer_shapes/mobilebert/052.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/052.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/053.yaml b/workspace/example_designs/layer_shapes/mobilebert/053.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/053.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/054.yaml b/workspace/example_designs/layer_shapes/mobilebert/054.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/054.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/055.yaml b/workspace/example_designs/layer_shapes/mobilebert/055.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/055.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/056.yaml b/workspace/example_designs/layer_shapes/mobilebert/056.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/056.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/057.yaml b/workspace/example_designs/layer_shapes/mobilebert/057.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/057.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/058.yaml b/workspace/example_designs/layer_shapes/mobilebert/058.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/058.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/059.yaml b/workspace/example_designs/layer_shapes/mobilebert/059.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/059.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/060.yaml b/workspace/example_designs/layer_shapes/mobilebert/060.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/060.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/061.yaml b/workspace/example_designs/layer_shapes/mobilebert/061.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/061.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/062.yaml b/workspace/example_designs/layer_shapes/mobilebert/062.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/062.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/063.yaml b/workspace/example_designs/layer_shapes/mobilebert/063.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/063.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/064.yaml b/workspace/example_designs/layer_shapes/mobilebert/064.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/064.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/065.yaml b/workspace/example_designs/layer_shapes/mobilebert/065.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/065.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/066.yaml b/workspace/example_designs/layer_shapes/mobilebert/066.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/066.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/067.yaml b/workspace/example_designs/layer_shapes/mobilebert/067.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/067.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/068.yaml b/workspace/example_designs/layer_shapes/mobilebert/068.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/068.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/069.yaml b/workspace/example_designs/layer_shapes/mobilebert/069.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/069.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/070.yaml b/workspace/example_designs/layer_shapes/mobilebert/070.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/070.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/071.yaml b/workspace/example_designs/layer_shapes/mobilebert/071.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/071.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/072.yaml b/workspace/example_designs/layer_shapes/mobilebert/072.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/072.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/073.yaml b/workspace/example_designs/layer_shapes/mobilebert/073.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/073.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/074.yaml b/workspace/example_designs/layer_shapes/mobilebert/074.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/074.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/075.yaml b/workspace/example_designs/layer_shapes/mobilebert/075.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/075.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/076.yaml b/workspace/example_designs/layer_shapes/mobilebert/076.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/076.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/077.yaml b/workspace/example_designs/layer_shapes/mobilebert/077.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/077.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/078.yaml b/workspace/example_designs/layer_shapes/mobilebert/078.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/078.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/079.yaml b/workspace/example_designs/layer_shapes/mobilebert/079.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/079.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/080.yaml b/workspace/example_designs/layer_shapes/mobilebert/080.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/080.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/081.yaml b/workspace/example_designs/layer_shapes/mobilebert/081.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/081.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/082.yaml b/workspace/example_designs/layer_shapes/mobilebert/082.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/082.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/083.yaml b/workspace/example_designs/layer_shapes/mobilebert/083.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/083.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/084.yaml b/workspace/example_designs/layer_shapes/mobilebert/084.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/084.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/085.yaml b/workspace/example_designs/layer_shapes/mobilebert/085.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/085.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/086.yaml b/workspace/example_designs/layer_shapes/mobilebert/086.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/086.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/087.yaml b/workspace/example_designs/layer_shapes/mobilebert/087.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/087.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/088.yaml b/workspace/example_designs/layer_shapes/mobilebert/088.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/088.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/089.yaml b/workspace/example_designs/layer_shapes/mobilebert/089.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/089.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/090.yaml b/workspace/example_designs/layer_shapes/mobilebert/090.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/090.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/091.yaml b/workspace/example_designs/layer_shapes/mobilebert/091.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/091.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/092.yaml b/workspace/example_designs/layer_shapes/mobilebert/092.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/092.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/093.yaml b/workspace/example_designs/layer_shapes/mobilebert/093.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/093.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/094.yaml b/workspace/example_designs/layer_shapes/mobilebert/094.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/094.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/095.yaml b/workspace/example_designs/layer_shapes/mobilebert/095.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/095.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/096.yaml b/workspace/example_designs/layer_shapes/mobilebert/096.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/096.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/097.yaml b/workspace/example_designs/layer_shapes/mobilebert/097.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/097.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/098.yaml b/workspace/example_designs/layer_shapes/mobilebert/098.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/098.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/099.yaml b/workspace/example_designs/layer_shapes/mobilebert/099.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/099.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/100.yaml b/workspace/example_designs/layer_shapes/mobilebert/100.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/100.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/101.yaml b/workspace/example_designs/layer_shapes/mobilebert/101.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/101.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/102.yaml b/workspace/example_designs/layer_shapes/mobilebert/102.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/102.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/103.yaml b/workspace/example_designs/layer_shapes/mobilebert/103.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/103.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/104.yaml b/workspace/example_designs/layer_shapes/mobilebert/104.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/104.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/105.yaml b/workspace/example_designs/layer_shapes/mobilebert/105.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/105.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/106.yaml b/workspace/example_designs/layer_shapes/mobilebert/106.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/106.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/107.yaml b/workspace/example_designs/layer_shapes/mobilebert/107.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/107.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/108.yaml b/workspace/example_designs/layer_shapes/mobilebert/108.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/108.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/109.yaml b/workspace/example_designs/layer_shapes/mobilebert/109.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/109.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/110.yaml b/workspace/example_designs/layer_shapes/mobilebert/110.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/110.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/111.yaml b/workspace/example_designs/layer_shapes/mobilebert/111.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/111.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/112.yaml b/workspace/example_designs/layer_shapes/mobilebert/112.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/112.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/113.yaml b/workspace/example_designs/layer_shapes/mobilebert/113.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/113.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/114.yaml b/workspace/example_designs/layer_shapes/mobilebert/114.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/114.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/115.yaml b/workspace/example_designs/layer_shapes/mobilebert/115.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/115.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/116.yaml b/workspace/example_designs/layer_shapes/mobilebert/116.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/116.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/117.yaml b/workspace/example_designs/layer_shapes/mobilebert/117.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/117.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/118.yaml b/workspace/example_designs/layer_shapes/mobilebert/118.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/118.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/119.yaml b/workspace/example_designs/layer_shapes/mobilebert/119.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/119.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/120.yaml b/workspace/example_designs/layer_shapes/mobilebert/120.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/120.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/121.yaml b/workspace/example_designs/layer_shapes/mobilebert/121.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/121.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/122.yaml b/workspace/example_designs/layer_shapes/mobilebert/122.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/122.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/123.yaml b/workspace/example_designs/layer_shapes/mobilebert/123.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/123.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/124.yaml b/workspace/example_designs/layer_shapes/mobilebert/124.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/124.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/125.yaml b/workspace/example_designs/layer_shapes/mobilebert/125.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/125.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/126.yaml b/workspace/example_designs/layer_shapes/mobilebert/126.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/126.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/127.yaml b/workspace/example_designs/layer_shapes/mobilebert/127.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/127.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/128.yaml b/workspace/example_designs/layer_shapes/mobilebert/128.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/128.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/129.yaml b/workspace/example_designs/layer_shapes/mobilebert/129.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/129.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/130.yaml b/workspace/example_designs/layer_shapes/mobilebert/130.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/130.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/131.yaml b/workspace/example_designs/layer_shapes/mobilebert/131.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/131.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/132.yaml b/workspace/example_designs/layer_shapes/mobilebert/132.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/132.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/133.yaml b/workspace/example_designs/layer_shapes/mobilebert/133.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/133.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/134.yaml b/workspace/example_designs/layer_shapes/mobilebert/134.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/134.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/135.yaml b/workspace/example_designs/layer_shapes/mobilebert/135.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/135.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/136.yaml b/workspace/example_designs/layer_shapes/mobilebert/136.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/136.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/137.yaml b/workspace/example_designs/layer_shapes/mobilebert/137.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/137.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/138.yaml b/workspace/example_designs/layer_shapes/mobilebert/138.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/138.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/139.yaml b/workspace/example_designs/layer_shapes/mobilebert/139.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/139.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/140.yaml b/workspace/example_designs/layer_shapes/mobilebert/140.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/140.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/141.yaml b/workspace/example_designs/layer_shapes/mobilebert/141.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/141.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/142.yaml b/workspace/example_designs/layer_shapes/mobilebert/142.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/142.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/143.yaml b/workspace/example_designs/layer_shapes/mobilebert/143.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/143.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/144.yaml b/workspace/example_designs/layer_shapes/mobilebert/144.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/144.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/145.yaml b/workspace/example_designs/layer_shapes/mobilebert/145.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/145.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/146.yaml b/workspace/example_designs/layer_shapes/mobilebert/146.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/146.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/147.yaml b/workspace/example_designs/layer_shapes/mobilebert/147.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/147.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/148.yaml b/workspace/example_designs/layer_shapes/mobilebert/148.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/148.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/149.yaml b/workspace/example_designs/layer_shapes/mobilebert/149.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/149.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/150.yaml b/workspace/example_designs/layer_shapes/mobilebert/150.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/150.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/151.yaml b/workspace/example_designs/layer_shapes/mobilebert/151.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/151.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/152.yaml b/workspace/example_designs/layer_shapes/mobilebert/152.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/152.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/153.yaml b/workspace/example_designs/layer_shapes/mobilebert/153.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/153.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/154.yaml b/workspace/example_designs/layer_shapes/mobilebert/154.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/154.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/155.yaml b/workspace/example_designs/layer_shapes/mobilebert/155.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/155.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/156.yaml b/workspace/example_designs/layer_shapes/mobilebert/156.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/156.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/157.yaml b/workspace/example_designs/layer_shapes/mobilebert/157.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/157.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/158.yaml b/workspace/example_designs/layer_shapes/mobilebert/158.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/158.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/159.yaml b/workspace/example_designs/layer_shapes/mobilebert/159.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/159.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/160.yaml b/workspace/example_designs/layer_shapes/mobilebert/160.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/160.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/161.yaml b/workspace/example_designs/layer_shapes/mobilebert/161.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/161.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/162.yaml b/workspace/example_designs/layer_shapes/mobilebert/162.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/162.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/163.yaml b/workspace/example_designs/layer_shapes/mobilebert/163.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/163.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/164.yaml b/workspace/example_designs/layer_shapes/mobilebert/164.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/164.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/165.yaml b/workspace/example_designs/layer_shapes/mobilebert/165.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/165.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/166.yaml b/workspace/example_designs/layer_shapes/mobilebert/166.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/166.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/167.yaml b/workspace/example_designs/layer_shapes/mobilebert/167.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/167.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/168.yaml b/workspace/example_designs/layer_shapes/mobilebert/168.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/168.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/169.yaml b/workspace/example_designs/layer_shapes/mobilebert/169.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/169.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/170.yaml b/workspace/example_designs/layer_shapes/mobilebert/170.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/170.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/171.yaml b/workspace/example_designs/layer_shapes/mobilebert/171.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/171.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/172.yaml b/workspace/example_designs/layer_shapes/mobilebert/172.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/172.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/173.yaml b/workspace/example_designs/layer_shapes/mobilebert/173.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/173.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/174.yaml b/workspace/example_designs/layer_shapes/mobilebert/174.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/174.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/175.yaml b/workspace/example_designs/layer_shapes/mobilebert/175.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/175.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/176.yaml b/workspace/example_designs/layer_shapes/mobilebert/176.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/176.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/177.yaml b/workspace/example_designs/layer_shapes/mobilebert/177.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/177.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/178.yaml b/workspace/example_designs/layer_shapes/mobilebert/178.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/178.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/179.yaml b/workspace/example_designs/layer_shapes/mobilebert/179.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/179.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/180.yaml b/workspace/example_designs/layer_shapes/mobilebert/180.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/180.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/181.yaml b/workspace/example_designs/layer_shapes/mobilebert/181.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/181.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/182.yaml b/workspace/example_designs/layer_shapes/mobilebert/182.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/182.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/183.yaml b/workspace/example_designs/layer_shapes/mobilebert/183.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/183.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/184.yaml b/workspace/example_designs/layer_shapes/mobilebert/184.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/184.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/185.yaml b/workspace/example_designs/layer_shapes/mobilebert/185.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/185.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/186.yaml b/workspace/example_designs/layer_shapes/mobilebert/186.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/186.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/187.yaml b/workspace/example_designs/layer_shapes/mobilebert/187.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/187.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/188.yaml b/workspace/example_designs/layer_shapes/mobilebert/188.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/188.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/189.yaml b/workspace/example_designs/layer_shapes/mobilebert/189.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/189.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/190.yaml b/workspace/example_designs/layer_shapes/mobilebert/190.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/190.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/191.yaml b/workspace/example_designs/layer_shapes/mobilebert/191.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/191.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/192.yaml b/workspace/example_designs/layer_shapes/mobilebert/192.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/192.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/193.yaml b/workspace/example_designs/layer_shapes/mobilebert/193.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/193.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/194.yaml b/workspace/example_designs/layer_shapes/mobilebert/194.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/194.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/195.yaml b/workspace/example_designs/layer_shapes/mobilebert/195.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/195.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/196.yaml b/workspace/example_designs/layer_shapes/mobilebert/196.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/196.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/197.yaml b/workspace/example_designs/layer_shapes/mobilebert/197.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/197.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/198.yaml b/workspace/example_designs/layer_shapes/mobilebert/198.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/198.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/199.yaml b/workspace/example_designs/layer_shapes/mobilebert/199.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/199.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/200.yaml b/workspace/example_designs/layer_shapes/mobilebert/200.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/200.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/201.yaml b/workspace/example_designs/layer_shapes/mobilebert/201.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/201.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/202.yaml b/workspace/example_designs/layer_shapes/mobilebert/202.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/202.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/203.yaml b/workspace/example_designs/layer_shapes/mobilebert/203.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/203.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/204.yaml b/workspace/example_designs/layer_shapes/mobilebert/204.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/204.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/205.yaml b/workspace/example_designs/layer_shapes/mobilebert/205.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/205.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/206.yaml b/workspace/example_designs/layer_shapes/mobilebert/206.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/206.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/207.yaml b/workspace/example_designs/layer_shapes/mobilebert/207.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/207.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/208.yaml b/workspace/example_designs/layer_shapes/mobilebert/208.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/208.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/209.yaml b/workspace/example_designs/layer_shapes/mobilebert/209.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/209.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/210.yaml b/workspace/example_designs/layer_shapes/mobilebert/210.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/210.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/211.yaml b/workspace/example_designs/layer_shapes/mobilebert/211.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/211.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/212.yaml b/workspace/example_designs/layer_shapes/mobilebert/212.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/212.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/213.yaml b/workspace/example_designs/layer_shapes/mobilebert/213.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/213.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/214.yaml b/workspace/example_designs/layer_shapes/mobilebert/214.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/214.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/215.yaml b/workspace/example_designs/layer_shapes/mobilebert/215.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/215.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/216.yaml b/workspace/example_designs/layer_shapes/mobilebert/216.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/216.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/217.yaml b/workspace/example_designs/layer_shapes/mobilebert/217.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/217.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/218.yaml b/workspace/example_designs/layer_shapes/mobilebert/218.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/218.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/219.yaml b/workspace/example_designs/layer_shapes/mobilebert/219.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/219.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/220.yaml b/workspace/example_designs/layer_shapes/mobilebert/220.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/220.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/221.yaml b/workspace/example_designs/layer_shapes/mobilebert/221.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/221.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/222.yaml b/workspace/example_designs/layer_shapes/mobilebert/222.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/222.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/223.yaml b/workspace/example_designs/layer_shapes/mobilebert/223.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/223.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/224.yaml b/workspace/example_designs/layer_shapes/mobilebert/224.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/224.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/225.yaml b/workspace/example_designs/layer_shapes/mobilebert/225.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/225.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/226.yaml b/workspace/example_designs/layer_shapes/mobilebert/226.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/226.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/227.yaml b/workspace/example_designs/layer_shapes/mobilebert/227.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/227.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/228.yaml b/workspace/example_designs/layer_shapes/mobilebert/228.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/228.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/229.yaml b/workspace/example_designs/layer_shapes/mobilebert/229.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/229.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/230.yaml b/workspace/example_designs/layer_shapes/mobilebert/230.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/230.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/231.yaml b/workspace/example_designs/layer_shapes/mobilebert/231.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/231.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/232.yaml b/workspace/example_designs/layer_shapes/mobilebert/232.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/232.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/233.yaml b/workspace/example_designs/layer_shapes/mobilebert/233.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/233.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/234.yaml b/workspace/example_designs/layer_shapes/mobilebert/234.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/234.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/235.yaml b/workspace/example_designs/layer_shapes/mobilebert/235.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/235.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/236.yaml b/workspace/example_designs/layer_shapes/mobilebert/236.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/236.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/237.yaml b/workspace/example_designs/layer_shapes/mobilebert/237.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/237.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/238.yaml b/workspace/example_designs/layer_shapes/mobilebert/238.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/238.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/239.yaml b/workspace/example_designs/layer_shapes/mobilebert/239.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/239.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/240.yaml b/workspace/example_designs/layer_shapes/mobilebert/240.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/240.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/241.yaml b/workspace/example_designs/layer_shapes/mobilebert/241.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/241.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/242.yaml b/workspace/example_designs/layer_shapes/mobilebert/242.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/242.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/243.yaml b/workspace/example_designs/layer_shapes/mobilebert/243.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/243.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/244.yaml b/workspace/example_designs/layer_shapes/mobilebert/244.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/244.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/245.yaml b/workspace/example_designs/layer_shapes/mobilebert/245.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/245.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/246.yaml b/workspace/example_designs/layer_shapes/mobilebert/246.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/246.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/247.yaml b/workspace/example_designs/layer_shapes/mobilebert/247.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/247.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/248.yaml b/workspace/example_designs/layer_shapes/mobilebert/248.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/248.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/249.yaml b/workspace/example_designs/layer_shapes/mobilebert/249.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/249.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/250.yaml b/workspace/example_designs/layer_shapes/mobilebert/250.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/250.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/251.yaml b/workspace/example_designs/layer_shapes/mobilebert/251.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/251.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/252.yaml b/workspace/example_designs/layer_shapes/mobilebert/252.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/252.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/253.yaml b/workspace/example_designs/layer_shapes/mobilebert/253.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/253.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/254.yaml b/workspace/example_designs/layer_shapes/mobilebert/254.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/254.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/255.yaml b/workspace/example_designs/layer_shapes/mobilebert/255.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/255.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/256.yaml b/workspace/example_designs/layer_shapes/mobilebert/256.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/256.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/257.yaml b/workspace/example_designs/layer_shapes/mobilebert/257.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/257.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/258.yaml b/workspace/example_designs/layer_shapes/mobilebert/258.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/258.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/259.yaml b/workspace/example_designs/layer_shapes/mobilebert/259.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/259.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/260.yaml b/workspace/example_designs/layer_shapes/mobilebert/260.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/260.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/261.yaml b/workspace/example_designs/layer_shapes/mobilebert/261.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/261.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/262.yaml b/workspace/example_designs/layer_shapes/mobilebert/262.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/262.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/263.yaml b/workspace/example_designs/layer_shapes/mobilebert/263.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/263.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/264.yaml b/workspace/example_designs/layer_shapes/mobilebert/264.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/264.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/265.yaml b/workspace/example_designs/layer_shapes/mobilebert/265.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/265.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/266.yaml b/workspace/example_designs/layer_shapes/mobilebert/266.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/266.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/267.yaml b/workspace/example_designs/layer_shapes/mobilebert/267.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/267.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/268.yaml b/workspace/example_designs/layer_shapes/mobilebert/268.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/268.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/269.yaml b/workspace/example_designs/layer_shapes/mobilebert/269.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/269.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/270.yaml b/workspace/example_designs/layer_shapes/mobilebert/270.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/270.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/271.yaml b/workspace/example_designs/layer_shapes/mobilebert/271.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/271.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/272.yaml b/workspace/example_designs/layer_shapes/mobilebert/272.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/272.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/273.yaml b/workspace/example_designs/layer_shapes/mobilebert/273.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/273.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/274.yaml b/workspace/example_designs/layer_shapes/mobilebert/274.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/274.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/275.yaml b/workspace/example_designs/layer_shapes/mobilebert/275.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/275.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/276.yaml b/workspace/example_designs/layer_shapes/mobilebert/276.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/276.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/277.yaml b/workspace/example_designs/layer_shapes/mobilebert/277.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/277.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/278.yaml b/workspace/example_designs/layer_shapes/mobilebert/278.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/278.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/279.yaml b/workspace/example_designs/layer_shapes/mobilebert/279.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/279.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/280.yaml b/workspace/example_designs/layer_shapes/mobilebert/280.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/280.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/281.yaml b/workspace/example_designs/layer_shapes/mobilebert/281.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/281.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/282.yaml b/workspace/example_designs/layer_shapes/mobilebert/282.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/282.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/283.yaml b/workspace/example_designs/layer_shapes/mobilebert/283.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/283.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/284.yaml b/workspace/example_designs/layer_shapes/mobilebert/284.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/284.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/285.yaml b/workspace/example_designs/layer_shapes/mobilebert/285.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/285.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/286.yaml b/workspace/example_designs/layer_shapes/mobilebert/286.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/286.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/287.yaml b/workspace/example_designs/layer_shapes/mobilebert/287.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/287.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/288.yaml b/workspace/example_designs/layer_shapes/mobilebert/288.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/288.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/289.yaml b/workspace/example_designs/layer_shapes/mobilebert/289.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/289.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/290.yaml b/workspace/example_designs/layer_shapes/mobilebert/290.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/290.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/291.yaml b/workspace/example_designs/layer_shapes/mobilebert/291.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/291.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/292.yaml b/workspace/example_designs/layer_shapes/mobilebert/292.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/292.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/293.yaml b/workspace/example_designs/layer_shapes/mobilebert/293.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/293.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/294.yaml b/workspace/example_designs/layer_shapes/mobilebert/294.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/294.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/295.yaml b/workspace/example_designs/layer_shapes/mobilebert/295.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/295.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/296.yaml b/workspace/example_designs/layer_shapes/mobilebert/296.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/296.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/297.yaml b/workspace/example_designs/layer_shapes/mobilebert/297.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/297.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/298.yaml b/workspace/example_designs/layer_shapes/mobilebert/298.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/298.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/299.yaml b/workspace/example_designs/layer_shapes/mobilebert/299.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/299.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/300.yaml b/workspace/example_designs/layer_shapes/mobilebert/300.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/300.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/301.yaml b/workspace/example_designs/layer_shapes/mobilebert/301.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/301.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/302.yaml b/workspace/example_designs/layer_shapes/mobilebert/302.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/302.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/303.yaml b/workspace/example_designs/layer_shapes/mobilebert/303.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/303.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/304.yaml b/workspace/example_designs/layer_shapes/mobilebert/304.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/304.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/305.yaml b/workspace/example_designs/layer_shapes/mobilebert/305.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/305.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/306.yaml b/workspace/example_designs/layer_shapes/mobilebert/306.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/306.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/307.yaml b/workspace/example_designs/layer_shapes/mobilebert/307.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/307.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/308.yaml b/workspace/example_designs/layer_shapes/mobilebert/308.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/308.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/309.yaml b/workspace/example_designs/layer_shapes/mobilebert/309.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/309.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/310.yaml b/workspace/example_designs/layer_shapes/mobilebert/310.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/310.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/311.yaml b/workspace/example_designs/layer_shapes/mobilebert/311.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/311.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/312.yaml b/workspace/example_designs/layer_shapes/mobilebert/312.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/312.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/313.yaml b/workspace/example_designs/layer_shapes/mobilebert/313.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/313.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/314.yaml b/workspace/example_designs/layer_shapes/mobilebert/314.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/314.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/315.yaml b/workspace/example_designs/layer_shapes/mobilebert/315.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/315.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/316.yaml b/workspace/example_designs/layer_shapes/mobilebert/316.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/316.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/317.yaml b/workspace/example_designs/layer_shapes/mobilebert/317.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/317.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/318.yaml b/workspace/example_designs/layer_shapes/mobilebert/318.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/318.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/319.yaml b/workspace/example_designs/layer_shapes/mobilebert/319.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/319.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/320.yaml b/workspace/example_designs/layer_shapes/mobilebert/320.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/320.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/321.yaml b/workspace/example_designs/layer_shapes/mobilebert/321.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/321.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/322.yaml b/workspace/example_designs/layer_shapes/mobilebert/322.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/322.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/323.yaml b/workspace/example_designs/layer_shapes/mobilebert/323.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/323.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/324.yaml b/workspace/example_designs/layer_shapes/mobilebert/324.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/324.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/325.yaml b/workspace/example_designs/layer_shapes/mobilebert/325.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/325.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/326.yaml b/workspace/example_designs/layer_shapes/mobilebert/326.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/326.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/327.yaml b/workspace/example_designs/layer_shapes/mobilebert/327.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/327.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/328.yaml b/workspace/example_designs/layer_shapes/mobilebert/328.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/328.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/329.yaml b/workspace/example_designs/layer_shapes/mobilebert/329.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/329.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/330.yaml b/workspace/example_designs/layer_shapes/mobilebert/330.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/330.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/331.yaml b/workspace/example_designs/layer_shapes/mobilebert/331.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/331.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/332.yaml b/workspace/example_designs/layer_shapes/mobilebert/332.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/332.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/333.yaml b/workspace/example_designs/layer_shapes/mobilebert/333.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/333.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/334.yaml b/workspace/example_designs/layer_shapes/mobilebert/334.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/334.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/335.yaml b/workspace/example_designs/layer_shapes/mobilebert/335.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/335.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/336.yaml b/workspace/example_designs/layer_shapes/mobilebert/336.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/336.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/337.yaml b/workspace/example_designs/layer_shapes/mobilebert/337.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/337.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/338.yaml b/workspace/example_designs/layer_shapes/mobilebert/338.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/338.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/339.yaml b/workspace/example_designs/layer_shapes/mobilebert/339.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/339.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/340.yaml b/workspace/example_designs/layer_shapes/mobilebert/340.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/340.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/341.yaml b/workspace/example_designs/layer_shapes/mobilebert/341.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/341.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/342.yaml b/workspace/example_designs/layer_shapes/mobilebert/342.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/342.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/343.yaml b/workspace/example_designs/layer_shapes/mobilebert/343.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/343.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/344.yaml b/workspace/example_designs/layer_shapes/mobilebert/344.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/344.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/345.yaml b/workspace/example_designs/layer_shapes/mobilebert/345.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/345.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/346.yaml b/workspace/example_designs/layer_shapes/mobilebert/346.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/346.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/347.yaml b/workspace/example_designs/layer_shapes/mobilebert/347.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/347.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/348.yaml b/workspace/example_designs/layer_shapes/mobilebert/348.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/348.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/349.yaml b/workspace/example_designs/layer_shapes/mobilebert/349.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/349.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/350.yaml b/workspace/example_designs/layer_shapes/mobilebert/350.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/350.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/351.yaml b/workspace/example_designs/layer_shapes/mobilebert/351.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/351.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/352.yaml b/workspace/example_designs/layer_shapes/mobilebert/352.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/352.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/353.yaml b/workspace/example_designs/layer_shapes/mobilebert/353.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/353.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/354.yaml b/workspace/example_designs/layer_shapes/mobilebert/354.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/354.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/355.yaml b/workspace/example_designs/layer_shapes/mobilebert/355.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/355.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/356.yaml b/workspace/example_designs/layer_shapes/mobilebert/356.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/356.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/357.yaml b/workspace/example_designs/layer_shapes/mobilebert/357.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/357.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/358.yaml b/workspace/example_designs/layer_shapes/mobilebert/358.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/358.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/359.yaml b/workspace/example_designs/layer_shapes/mobilebert/359.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/359.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/360.yaml b/workspace/example_designs/layer_shapes/mobilebert/360.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/360.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/361.yaml b/workspace/example_designs/layer_shapes/mobilebert/361.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/361.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/362.yaml b/workspace/example_designs/layer_shapes/mobilebert/362.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/362.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/363.yaml b/workspace/example_designs/layer_shapes/mobilebert/363.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/363.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/364.yaml b/workspace/example_designs/layer_shapes/mobilebert/364.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/364.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/365.yaml b/workspace/example_designs/layer_shapes/mobilebert/365.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/365.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/366.yaml b/workspace/example_designs/layer_shapes/mobilebert/366.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/366.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/367.yaml b/workspace/example_designs/layer_shapes/mobilebert/367.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/367.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/368.yaml b/workspace/example_designs/layer_shapes/mobilebert/368.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/368.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/369.yaml b/workspace/example_designs/layer_shapes/mobilebert/369.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/369.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/370.yaml b/workspace/example_designs/layer_shapes/mobilebert/370.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/370.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/371.yaml b/workspace/example_designs/layer_shapes/mobilebert/371.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/371.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/372.yaml b/workspace/example_designs/layer_shapes/mobilebert/372.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/372.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/373.yaml b/workspace/example_designs/layer_shapes/mobilebert/373.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/373.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/374.yaml b/workspace/example_designs/layer_shapes/mobilebert/374.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/374.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/375.yaml b/workspace/example_designs/layer_shapes/mobilebert/375.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/375.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/376.yaml b/workspace/example_designs/layer_shapes/mobilebert/376.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/376.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/377.yaml b/workspace/example_designs/layer_shapes/mobilebert/377.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/377.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/378.yaml b/workspace/example_designs/layer_shapes/mobilebert/378.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/378.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/379.yaml b/workspace/example_designs/layer_shapes/mobilebert/379.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/379.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/380.yaml b/workspace/example_designs/layer_shapes/mobilebert/380.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/380.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/381.yaml b/workspace/example_designs/layer_shapes/mobilebert/381.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/381.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/382.yaml b/workspace/example_designs/layer_shapes/mobilebert/382.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/382.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/383.yaml b/workspace/example_designs/layer_shapes/mobilebert/383.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/383.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/384.yaml b/workspace/example_designs/layer_shapes/mobilebert/384.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/384.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/385.yaml b/workspace/example_designs/layer_shapes/mobilebert/385.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/385.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/386.yaml b/workspace/example_designs/layer_shapes/mobilebert/386.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/386.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/387.yaml b/workspace/example_designs/layer_shapes/mobilebert/387.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/387.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/388.yaml b/workspace/example_designs/layer_shapes/mobilebert/388.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/388.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/389.yaml b/workspace/example_designs/layer_shapes/mobilebert/389.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/389.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/390.yaml b/workspace/example_designs/layer_shapes/mobilebert/390.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/390.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/391.yaml b/workspace/example_designs/layer_shapes/mobilebert/391.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/391.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/392.yaml b/workspace/example_designs/layer_shapes/mobilebert/392.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/392.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/393.yaml b/workspace/example_designs/layer_shapes/mobilebert/393.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/393.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/394.yaml b/workspace/example_designs/layer_shapes/mobilebert/394.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/394.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/395.yaml b/workspace/example_designs/layer_shapes/mobilebert/395.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/395.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/396.yaml b/workspace/example_designs/layer_shapes/mobilebert/396.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/396.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/397.yaml b/workspace/example_designs/layer_shapes/mobilebert/397.yaml new file mode 100644 index 00000000..bb4eb256 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/397.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 32, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/398.yaml b/workspace/example_designs/layer_shapes/mobilebert/398.yaml new file mode 100644 index 00000000..4db184af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/398.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 139, C: 139, P: 4} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/399.yaml b/workspace/example_designs/layer_shapes/mobilebert/399.yaml new file mode 100644 index 00000000..f07796d5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/399.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/400.yaml b/workspace/example_designs/layer_shapes/mobilebert/400.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/400.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/401.yaml b/workspace/example_designs/layer_shapes/mobilebert/401.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/401.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/402.yaml b/workspace/example_designs/layer_shapes/mobilebert/402.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/402.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/403.yaml b/workspace/example_designs/layer_shapes/mobilebert/403.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/403.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/404.yaml b/workspace/example_designs/layer_shapes/mobilebert/404.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/404.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/405.yaml b/workspace/example_designs/layer_shapes/mobilebert/405.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/405.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/406.yaml b/workspace/example_designs/layer_shapes/mobilebert/406.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/406.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/407.yaml b/workspace/example_designs/layer_shapes/mobilebert/407.yaml new file mode 100644 index 00000000..e533968d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/407.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 128, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilebert/408.yaml b/workspace/example_designs/layer_shapes/mobilebert/408.yaml new file mode 100644 index 00000000..82ff9d76 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilebert/408.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 512, P: 139} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/00.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/00.yaml new file mode 100755 index 00000000..369938c3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/00.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3, M: 16, P: 112, Q: 112, R: 3, S: 3, HStride: 2, WStride: 2} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/01.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/01.yaml new file mode 100755 index 00000000..6ba92eed --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/01.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {G: 16, P: 112, Q: 112, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/02.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/02.yaml new file mode 100755 index 00000000..09d1662e --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/02.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 16, M: 16, P: 112, Q: 112} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/03.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/03.yaml new file mode 100755 index 00000000..940ed3f6 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/03.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 16, M: 64, P: 112, Q: 112} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/04.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/04.yaml new file mode 100755 index 00000000..f53dcbd1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/04.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {G: 64, P: 56, Q: 56, R: 3, S: 3, HStride: 2, WStride: 2} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/05.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/05.yaml new file mode 100755 index 00000000..4adb83d0 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/05.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 64, M: 24, P: 56, Q: 56} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/06.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/06.yaml new file mode 100755 index 00000000..6e783180 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/06.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 24, M: 72, P: 56, Q: 56} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/07.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/07.yaml new file mode 100755 index 00000000..b7e1bd9e --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/07.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {G: 72, P: 56, Q: 56, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/08.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/08.yaml new file mode 100755 index 00000000..f34f8ae6 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/08.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 72, M: 24, P: 56, Q: 56} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/09.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/09.yaml new file mode 100755 index 00000000..6e783180 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/09.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 24, M: 72, P: 56, Q: 56} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/10.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/10.yaml new file mode 100755 index 00000000..eba33851 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/10.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {G: 72, P: 28, Q: 28, R: 5, S: 5, HStride: 2, WStride: 2} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/11.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/11.yaml new file mode 100755 index 00000000..d2427009 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/11.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 72, M: 24} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/12.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/12.yaml new file mode 100755 index 00000000..5a7388af --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/12.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 24, M: 72} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/13.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/13.yaml new file mode 100755 index 00000000..16bb0594 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/13.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 72, M: 40, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/14.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/14.yaml new file mode 100755 index 00000000..e72072f1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/14.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 40, M: 120, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/15.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/15.yaml new file mode 100755 index 00000000..e12c91da --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/15.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {G: 120, P: 28, Q: 28, R: 5, S: 5} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/16.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/16.yaml new file mode 100755 index 00000000..b287ea66 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/16.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 120, M: 32} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/17.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/17.yaml new file mode 100755 index 00000000..bb262442 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/17.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 32, M: 120} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/18.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/18.yaml new file mode 100755 index 00000000..94b26fb3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/18.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 120, M: 40, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/19.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/19.yaml new file mode 100755 index 00000000..e72072f1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/19.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 40, M: 120, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/20.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/20.yaml new file mode 100755 index 00000000..e12c91da --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/20.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {G: 120, P: 28, Q: 28, R: 5, S: 5} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/21.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/21.yaml new file mode 100755 index 00000000..b287ea66 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/21.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 120, M: 32} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/22.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/22.yaml new file mode 100755 index 00000000..bb262442 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/22.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 32, M: 120} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/23.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/23.yaml new file mode 100755 index 00000000..94b26fb3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/23.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 120, M: 40, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/24.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/24.yaml new file mode 100755 index 00000000..435df5f1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/24.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 40, M: 240, P: 28, Q: 28} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/25.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/25.yaml new file mode 100755 index 00000000..f8b8e73d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/25.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {G: 240, P: 14, Q: 14, R: 3, S: 3, HStride: 2, WStride: 2} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/26.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/26.yaml new file mode 100755 index 00000000..651f159c --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/26.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 240, M: 80, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/27.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/27.yaml new file mode 100755 index 00000000..f0b5cb12 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/27.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 80, M: 200, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/28.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/28.yaml new file mode 100755 index 00000000..8014e056 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/28.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {G: 200, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/29.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/29.yaml new file mode 100755 index 00000000..da6f38e7 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/29.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 200, M: 80, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/30.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/30.yaml new file mode 100755 index 00000000..b088c082 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/30.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 80, M: 184, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/31.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/31.yaml new file mode 100755 index 00000000..f3b0e939 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/31.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {G: 184, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/32.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/32.yaml new file mode 100755 index 00000000..dabd0efb --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/32.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 184, M: 80, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/33.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/33.yaml new file mode 100755 index 00000000..b088c082 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/33.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 80, M: 184, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/34.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/34.yaml new file mode 100755 index 00000000..f3b0e939 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/34.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {G: 184, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/35.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/35.yaml new file mode 100755 index 00000000..dabd0efb --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/35.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 184, M: 80, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/36.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/36.yaml new file mode 100755 index 00000000..97b3b621 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/36.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 80, M: 480, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/37.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/37.yaml new file mode 100755 index 00000000..9f967733 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/37.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {G: 480, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/38.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/38.yaml new file mode 100755 index 00000000..825d181a --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/38.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 480, M: 120} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/39.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/39.yaml new file mode 100755 index 00000000..e3058e11 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/39.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 120, M: 480} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/40.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/40.yaml new file mode 100755 index 00000000..7466d4e2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/40.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 480, M: 112, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/41.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/41.yaml new file mode 100755 index 00000000..e0516ccd --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/41.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 112, M: 672, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/42.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/42.yaml new file mode 100755 index 00000000..c913072a --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/42.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {G: 672, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/43.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/43.yaml new file mode 100755 index 00000000..1c48c79f --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/43.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 672, M: 168} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/44.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/44.yaml new file mode 100755 index 00000000..ece5e3e8 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/44.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 168, M: 672} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/45.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/45.yaml new file mode 100755 index 00000000..94d03fa1 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/45.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 672, M: 112, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/46.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/46.yaml new file mode 100755 index 00000000..e0516ccd --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/46.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 112, M: 672, P: 14, Q: 14} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/47.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/47.yaml new file mode 100755 index 00000000..1ed101e8 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/47.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {G: 672, P: 7, Q: 7, R: 5, S: 5, HStride: 2, WStride: 2} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/48.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/48.yaml new file mode 100755 index 00000000..1c48c79f --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/48.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 672, M: 168} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/49.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/49.yaml new file mode 100755 index 00000000..ece5e3e8 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/49.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 168, M: 672} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/50.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/50.yaml new file mode 100755 index 00000000..089eca0d --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/50.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 672, M: 160, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/51.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/51.yaml new file mode 100755 index 00000000..7b6c6740 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/51.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 160, M: 960, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/52.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/52.yaml new file mode 100755 index 00000000..08be1241 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/52.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {G: 960, P: 7, Q: 7, R: 5, S: 5} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/53.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/53.yaml new file mode 100755 index 00000000..99990b09 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/53.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 960, M: 240} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/54.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/54.yaml new file mode 100755 index 00000000..db63012e --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/54.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 240, M: 960} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/55.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/55.yaml new file mode 100755 index 00000000..6b6f0860 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/55.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 960, M: 160, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/56.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/56.yaml new file mode 100755 index 00000000..7b6c6740 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/56.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 160, M: 960, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/57.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/57.yaml new file mode 100755 index 00000000..08be1241 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/57.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {G: 960, P: 7, Q: 7, R: 5, S: 5} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/58.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/58.yaml new file mode 100755 index 00000000..99990b09 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/58.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 960, M: 240} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/59.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/59.yaml new file mode 100755 index 00000000..db63012e --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/59.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 240, M: 960} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/60.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/60.yaml new file mode 100755 index 00000000..6b6f0860 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/60.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 960, M: 160, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/61.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/61.yaml new file mode 100755 index 00000000..7b6c6740 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/61.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 160, M: 960, P: 7, Q: 7} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/62.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/62.yaml new file mode 100755 index 00000000..9b5905a5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/62.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 960, M: 1280} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/mobilenet_v3/63.yaml b/workspace/example_designs/layer_shapes/mobilenet_v3/63.yaml new file mode 100755 index 00000000..b82770bb --- /dev/null +++ b/workspace/example_designs/layer_shapes/mobilenet_v3/63.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 1280, M: 1000} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/000.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/000.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/000.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/001.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/001.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/001.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/002.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/002.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/002.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/003.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/003.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/003.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/004.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/004.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/004.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/005.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/005.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/005.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/006.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/006.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/006.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/007.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/007.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/007.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/008.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/008.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/008.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/009.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/009.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/009.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/010.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/010.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/010.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/011.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/011.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/011.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/012.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/012.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/012.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/013.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/013.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/013.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/014.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/014.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/014.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/015.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/015.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/015.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/016.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/016.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/016.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/017.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/017.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/017.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/018.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/018.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/018.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/019.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/019.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/019.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/020.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/020.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/020.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/021.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/021.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/021.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/022.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/022.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/022.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/023.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/023.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/023.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/024.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/024.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/024.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/025.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/025.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/025.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/026.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/026.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/026.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/027.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/027.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/027.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/028.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/028.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/028.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/029.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/029.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/029.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/030.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/030.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/030.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/031.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/031.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/031.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/032.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/032.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/032.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/033.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/033.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/033.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/034.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/034.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/034.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/035.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/035.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/035.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/036.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/036.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/036.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/037.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/037.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/037.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/038.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/038.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/038.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/039.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/039.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/039.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/040.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/040.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/040.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/041.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/041.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/041.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/042.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/042.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/042.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/043.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/043.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/043.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/044.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/044.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/044.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/045.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/045.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/045.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/046.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/046.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/046.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/047.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/047.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/047.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/048.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/048.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/048.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/049.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/049.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/049.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/050.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/050.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/050.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/051.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/051.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/051.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/052.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/052.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/052.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/053.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/053.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/053.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/054.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/054.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/054.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/055.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/055.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/055.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/056.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/056.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/056.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/057.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/057.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/057.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/058.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/058.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/058.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/059.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/059.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/059.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/060.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/060.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/060.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/061.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/061.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/061.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/062.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/062.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/062.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/063.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/063.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/063.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/064.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/064.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/064.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/065.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/065.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/065.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/066.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/066.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/066.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/067.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/067.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/067.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/068.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/068.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/068.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/069.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/069.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/069.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/070.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/070.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/070.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/071.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/071.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/071.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/072.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/072.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/072.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/073.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/073.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/073.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/074.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/074.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/074.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/075.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/075.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/075.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/076.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/076.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/076.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/077.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/077.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/077.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/078.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/078.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/078.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/079.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/079.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/079.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/080.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/080.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/080.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/081.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/081.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/081.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/082.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/082.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/082.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/083.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/083.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/083.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/084.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/084.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/084.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/085.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/085.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/085.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/086.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/086.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/086.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/087.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/087.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/087.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/088.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/088.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/088.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/089.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/089.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/089.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/090.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/090.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/090.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/091.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/091.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/091.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/092.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/092.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/092.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/093.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/093.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/093.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/094.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/094.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/094.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/095.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/095.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/095.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/096.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/096.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/096.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/097.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/097.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/097.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/098.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/098.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/098.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/099.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/099.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/099.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/100.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/100.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/100.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/101.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/101.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/101.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/102.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/102.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/102.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/103.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/103.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/103.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/104.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/104.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/104.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/105.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/105.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/105.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/106.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/106.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/106.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/107.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/107.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/107.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/108.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/108.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/108.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/109.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/109.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/109.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/110.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/110.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/110.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/111.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/111.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/111.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/112.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/112.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/112.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/113.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/113.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/113.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/114.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/114.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/114.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/115.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/115.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/115.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/116.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/116.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/116.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/117.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/117.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/117.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/118.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/118.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/118.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/119.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/119.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/119.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/120.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/120.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/120.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/121.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/121.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/121.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/122.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/122.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/122.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/123.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/123.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/123.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/124.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/124.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/124.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/125.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/125.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/125.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/126.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/126.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/126.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/127.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/127.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/127.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/128.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/128.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/128.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/129.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/129.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/129.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/130.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/130.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/130.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/131.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/131.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/131.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/132.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/132.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/132.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/133.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/133.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/133.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/134.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/134.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/134.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/135.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/135.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/135.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/136.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/136.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/136.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/137.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/137.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/137.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/138.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/138.yaml new file mode 100755 index 00000000..19a74158 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/138.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 6144, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/139.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/139.yaml new file mode 100755 index 00000000..2dacf255 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/139.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 1024, C: 64, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/140.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/140.yaml new file mode 100755 index 00000000..fc7cbe73 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/140.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 1024, G: 32, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/141.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/141.yaml new file mode 100755 index 00000000..c949007e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/141.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/142.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/142.yaml new file mode 100755 index 00000000..593298e5 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/142.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 8192, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/143.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/143.yaml new file mode 100755 index 00000000..5a69f672 --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/143.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 8192, M: 2048, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/msft_phi_1_5/144.yaml b/workspace/example_designs/layer_shapes/msft_phi_1_5/144.yaml new file mode 100755 index 00000000..2986c35e --- /dev/null +++ b/workspace/example_designs/layer_shapes/msft_phi_1_5/144.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 2048, M: 51200, P: 1024} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/problem_base.yaml b/workspace/example_designs/layer_shapes/problem_base.yaml new file mode 100755 index 00000000..46c2b0e6 --- /dev/null +++ b/workspace/example_designs/layer_shapes/problem_base.yaml @@ -0,0 +1,64 @@ +problem_base_ignore: &problem_base + version: 0.4 + instance: + N: 1 # Batch size + + C: 1 # Input channels + H: 1 # Input height + W: 1 # Input width + G: 1 # Groups + + R: 1 # Weight height + S: 1 # Weight width + Hdilation: 1 # (Conv) Height dilation + Hstride: 1 # (Conv) Height stride + Wdilation: 1 # (Conv) Width dilation + Wstride: 1 # (Conv) Width stride + + M: 1 # Output channels + P: 1 # Output height + Q: 1 # Output width + shape: + coefficients: + - {name: Wstride, default: 1} + - {name: Hstride, default: 1} + - {name: Wdilation, default: 1} + - {name: Hdilation, default: 1} + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - - - G + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - - - G + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + - - - G + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + - G diff --git a/workspace/example_designs/layer_shapes/resnet18/00.yaml b/workspace/example_designs/layer_shapes/resnet18/00.yaml new file mode 100644 index 00000000..b0800106 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/00.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3, M: 64, P: 112, Q: 112, R: 7, S: 7, HStride: 2, WStride: 2} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/01.yaml b/workspace/example_designs/layer_shapes/resnet18/01.yaml new file mode 100644 index 00000000..e1da14d6 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/01.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 64, M: 64, P: 56, Q: 56, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/02.yaml b/workspace/example_designs/layer_shapes/resnet18/02.yaml new file mode 100644 index 00000000..e1da14d6 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/02.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 64, M: 64, P: 56, Q: 56, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/03.yaml b/workspace/example_designs/layer_shapes/resnet18/03.yaml new file mode 100644 index 00000000..e1da14d6 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/03.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 64, M: 64, P: 56, Q: 56, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/04.yaml b/workspace/example_designs/layer_shapes/resnet18/04.yaml new file mode 100644 index 00000000..e1da14d6 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/04.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 64, M: 64, P: 56, Q: 56, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/05.yaml b/workspace/example_designs/layer_shapes/resnet18/05.yaml new file mode 100644 index 00000000..13f41ba6 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/05.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 64, M: 128, P: 28, Q: 28, R: 3, S: 3, HStride: 2, WStride: 2} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/06.yaml b/workspace/example_designs/layer_shapes/resnet18/06.yaml new file mode 100644 index 00000000..10307459 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/06.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/07.yaml b/workspace/example_designs/layer_shapes/resnet18/07.yaml new file mode 100644 index 00000000..5711f09f --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/07.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 64, M: 128, P: 28, Q: 28, HStride: 2, WStride: 2} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/08.yaml b/workspace/example_designs/layer_shapes/resnet18/08.yaml new file mode 100644 index 00000000..10307459 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/08.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/09.yaml b/workspace/example_designs/layer_shapes/resnet18/09.yaml new file mode 100644 index 00000000..10307459 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/09.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/10.yaml b/workspace/example_designs/layer_shapes/resnet18/10.yaml new file mode 100644 index 00000000..d50b78a2 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/10.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 256, P: 14, Q: 14, R: 3, S: 3, HStride: 2, WStride: 2} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/11.yaml b/workspace/example_designs/layer_shapes/resnet18/11.yaml new file mode 100644 index 00000000..b784a1ae --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/11.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/12.yaml b/workspace/example_designs/layer_shapes/resnet18/12.yaml new file mode 100644 index 00000000..177b2932 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/12.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 256, P: 14, Q: 14, HStride: 2, WStride: 2} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/13.yaml b/workspace/example_designs/layer_shapes/resnet18/13.yaml new file mode 100644 index 00000000..b784a1ae --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/13.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/14.yaml b/workspace/example_designs/layer_shapes/resnet18/14.yaml new file mode 100644 index 00000000..b784a1ae --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/14.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/15.yaml b/workspace/example_designs/layer_shapes/resnet18/15.yaml new file mode 100644 index 00000000..00c125f0 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/15.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 512, P: 7, Q: 7, R: 3, S: 3, HStride: 2, WStride: 2} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/16.yaml b/workspace/example_designs/layer_shapes/resnet18/16.yaml new file mode 100644 index 00000000..d02e3640 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/16.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 512, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/17.yaml b/workspace/example_designs/layer_shapes/resnet18/17.yaml new file mode 100644 index 00000000..f13cd4f7 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/17.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 512, P: 7, Q: 7, HStride: 2, WStride: 2} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/18.yaml b/workspace/example_designs/layer_shapes/resnet18/18.yaml new file mode 100644 index 00000000..d02e3640 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/18.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 512, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/19.yaml b/workspace/example_designs/layer_shapes/resnet18/19.yaml new file mode 100644 index 00000000..d02e3640 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/19.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 512, P: 7, Q: 7, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/resnet18/20.yaml b/workspace/example_designs/layer_shapes/resnet18/20.yaml new file mode 100644 index 00000000..324c0ce9 --- /dev/null +++ b/workspace/example_designs/layer_shapes/resnet18/20.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 1000} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/00.yaml b/workspace/example_designs/layer_shapes/vgg16/00.yaml new file mode 100644 index 00000000..a70a7e70 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/00.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3, M: 64, P: 224, Q: 224, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/01.yaml b/workspace/example_designs/layer_shapes/vgg16/01.yaml new file mode 100644 index 00000000..e7de7d66 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/01.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 64, M: 64, P: 224, Q: 224, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/02.yaml b/workspace/example_designs/layer_shapes/vgg16/02.yaml new file mode 100644 index 00000000..c63822c6 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/02.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 64, M: 128, P: 112, Q: 112, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/03.yaml b/workspace/example_designs/layer_shapes/vgg16/03.yaml new file mode 100644 index 00000000..b159aa29 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/03.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 128, P: 112, Q: 112, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/04.yaml b/workspace/example_designs/layer_shapes/vgg16/04.yaml new file mode 100644 index 00000000..3087af5e --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/04.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 128, M: 256, P: 56, Q: 56, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/05.yaml b/workspace/example_designs/layer_shapes/vgg16/05.yaml new file mode 100644 index 00000000..fc46700c --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/05.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 56, Q: 56, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/06.yaml b/workspace/example_designs/layer_shapes/vgg16/06.yaml new file mode 100644 index 00000000..fc46700c --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/06.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 256, P: 56, Q: 56, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/07.yaml b/workspace/example_designs/layer_shapes/vgg16/07.yaml new file mode 100644 index 00000000..b89da646 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/07.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 256, M: 512, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/08.yaml b/workspace/example_designs/layer_shapes/vgg16/08.yaml new file mode 100644 index 00000000..05420ad9 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/08.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 512, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/09.yaml b/workspace/example_designs/layer_shapes/vgg16/09.yaml new file mode 100644 index 00000000..05420ad9 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/09.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 512, P: 28, Q: 28, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/10.yaml b/workspace/example_designs/layer_shapes/vgg16/10.yaml new file mode 100644 index 00000000..4fb49a38 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/10.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 512, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/11.yaml b/workspace/example_designs/layer_shapes/vgg16/11.yaml new file mode 100644 index 00000000..4fb49a38 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/11.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 512, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/12.yaml b/workspace/example_designs/layer_shapes/vgg16/12.yaml new file mode 100644 index 00000000..4fb49a38 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/12.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 512, M: 512, P: 14, Q: 14, R: 3, S: 3} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/13.yaml b/workspace/example_designs/layer_shapes/vgg16/13.yaml new file mode 100644 index 00000000..0ac83f1f --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/13.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 25088, M: 4096} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/14.yaml b/workspace/example_designs/layer_shapes/vgg16/14.yaml new file mode 100644 index 00000000..143987c9 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/14.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 4096} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vgg16/15.yaml b/workspace/example_designs/layer_shapes/vgg16/15.yaml new file mode 100644 index 00000000..bc3c538e --- /dev/null +++ b/workspace/example_designs/layer_shapes/vgg16/15.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 4096, M: 1000} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/00.yaml b/workspace/example_designs/layer_shapes/vision_transformer/00.yaml new file mode 100755 index 00000000..3f4d2ccb --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/00.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3, M: 768, P: 14, Q: 14, R: 16, S: 16, HStride: 16, WStride: 16} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/01.yaml b/workspace/example_designs/layer_shapes/vision_transformer/01.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/01.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/02.yaml b/workspace/example_designs/layer_shapes/vision_transformer/02.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/02.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/03.yaml b/workspace/example_designs/layer_shapes/vision_transformer/03.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/03.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/04.yaml b/workspace/example_designs/layer_shapes/vision_transformer/04.yaml new file mode 100755 index 00000000..e96235ba --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/04.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/05.yaml b/workspace/example_designs/layer_shapes/vision_transformer/05.yaml new file mode 100755 index 00000000..6725ff9b --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/05.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 197, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/06.yaml b/workspace/example_designs/layer_shapes/vision_transformer/06.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/06.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/07.yaml b/workspace/example_designs/layer_shapes/vision_transformer/07.yaml new file mode 100755 index 00000000..1a29c457 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/07.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 3072, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/08.yaml b/workspace/example_designs/layer_shapes/vision_transformer/08.yaml new file mode 100755 index 00000000..989076d3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/08.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3072, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/09.yaml b/workspace/example_designs/layer_shapes/vision_transformer/09.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/09.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/10.yaml b/workspace/example_designs/layer_shapes/vision_transformer/10.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/10.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/11.yaml b/workspace/example_designs/layer_shapes/vision_transformer/11.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/11.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/12.yaml b/workspace/example_designs/layer_shapes/vision_transformer/12.yaml new file mode 100755 index 00000000..e96235ba --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/12.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/13.yaml b/workspace/example_designs/layer_shapes/vision_transformer/13.yaml new file mode 100755 index 00000000..6725ff9b --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/13.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 197, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/14.yaml b/workspace/example_designs/layer_shapes/vision_transformer/14.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/14.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/15.yaml b/workspace/example_designs/layer_shapes/vision_transformer/15.yaml new file mode 100755 index 00000000..1a29c457 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/15.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 3072, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/16.yaml b/workspace/example_designs/layer_shapes/vision_transformer/16.yaml new file mode 100755 index 00000000..989076d3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/16.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3072, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/17.yaml b/workspace/example_designs/layer_shapes/vision_transformer/17.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/17.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/18.yaml b/workspace/example_designs/layer_shapes/vision_transformer/18.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/18.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/19.yaml b/workspace/example_designs/layer_shapes/vision_transformer/19.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/19.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/20.yaml b/workspace/example_designs/layer_shapes/vision_transformer/20.yaml new file mode 100755 index 00000000..e96235ba --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/20.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/21.yaml b/workspace/example_designs/layer_shapes/vision_transformer/21.yaml new file mode 100755 index 00000000..6725ff9b --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/21.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 197, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/22.yaml b/workspace/example_designs/layer_shapes/vision_transformer/22.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/22.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/23.yaml b/workspace/example_designs/layer_shapes/vision_transformer/23.yaml new file mode 100755 index 00000000..1a29c457 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/23.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 3072, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/24.yaml b/workspace/example_designs/layer_shapes/vision_transformer/24.yaml new file mode 100755 index 00000000..989076d3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/24.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3072, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/25.yaml b/workspace/example_designs/layer_shapes/vision_transformer/25.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/25.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/26.yaml b/workspace/example_designs/layer_shapes/vision_transformer/26.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/26.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/27.yaml b/workspace/example_designs/layer_shapes/vision_transformer/27.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/27.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/28.yaml b/workspace/example_designs/layer_shapes/vision_transformer/28.yaml new file mode 100755 index 00000000..e96235ba --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/28.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/29.yaml b/workspace/example_designs/layer_shapes/vision_transformer/29.yaml new file mode 100755 index 00000000..6725ff9b --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/29.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 197, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/30.yaml b/workspace/example_designs/layer_shapes/vision_transformer/30.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/30.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/31.yaml b/workspace/example_designs/layer_shapes/vision_transformer/31.yaml new file mode 100755 index 00000000..1a29c457 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/31.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 3072, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/32.yaml b/workspace/example_designs/layer_shapes/vision_transformer/32.yaml new file mode 100755 index 00000000..989076d3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/32.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3072, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/33.yaml b/workspace/example_designs/layer_shapes/vision_transformer/33.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/33.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/34.yaml b/workspace/example_designs/layer_shapes/vision_transformer/34.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/34.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/35.yaml b/workspace/example_designs/layer_shapes/vision_transformer/35.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/35.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/36.yaml b/workspace/example_designs/layer_shapes/vision_transformer/36.yaml new file mode 100755 index 00000000..e96235ba --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/36.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/37.yaml b/workspace/example_designs/layer_shapes/vision_transformer/37.yaml new file mode 100755 index 00000000..6725ff9b --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/37.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 197, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/38.yaml b/workspace/example_designs/layer_shapes/vision_transformer/38.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/38.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/39.yaml b/workspace/example_designs/layer_shapes/vision_transformer/39.yaml new file mode 100755 index 00000000..1a29c457 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/39.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 3072, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/40.yaml b/workspace/example_designs/layer_shapes/vision_transformer/40.yaml new file mode 100755 index 00000000..989076d3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/40.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3072, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/41.yaml b/workspace/example_designs/layer_shapes/vision_transformer/41.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/41.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/42.yaml b/workspace/example_designs/layer_shapes/vision_transformer/42.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/42.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/43.yaml b/workspace/example_designs/layer_shapes/vision_transformer/43.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/43.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/44.yaml b/workspace/example_designs/layer_shapes/vision_transformer/44.yaml new file mode 100755 index 00000000..e96235ba --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/44.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/45.yaml b/workspace/example_designs/layer_shapes/vision_transformer/45.yaml new file mode 100755 index 00000000..6725ff9b --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/45.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 197, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/46.yaml b/workspace/example_designs/layer_shapes/vision_transformer/46.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/46.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/47.yaml b/workspace/example_designs/layer_shapes/vision_transformer/47.yaml new file mode 100755 index 00000000..1a29c457 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/47.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 3072, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/48.yaml b/workspace/example_designs/layer_shapes/vision_transformer/48.yaml new file mode 100755 index 00000000..989076d3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/48.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3072, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/49.yaml b/workspace/example_designs/layer_shapes/vision_transformer/49.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/49.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/50.yaml b/workspace/example_designs/layer_shapes/vision_transformer/50.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/50.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/51.yaml b/workspace/example_designs/layer_shapes/vision_transformer/51.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/51.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/52.yaml b/workspace/example_designs/layer_shapes/vision_transformer/52.yaml new file mode 100755 index 00000000..e96235ba --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/52.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/53.yaml b/workspace/example_designs/layer_shapes/vision_transformer/53.yaml new file mode 100755 index 00000000..6725ff9b --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/53.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 197, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/54.yaml b/workspace/example_designs/layer_shapes/vision_transformer/54.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/54.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/55.yaml b/workspace/example_designs/layer_shapes/vision_transformer/55.yaml new file mode 100755 index 00000000..1a29c457 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/55.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 3072, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/56.yaml b/workspace/example_designs/layer_shapes/vision_transformer/56.yaml new file mode 100755 index 00000000..989076d3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/56.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3072, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/57.yaml b/workspace/example_designs/layer_shapes/vision_transformer/57.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/57.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/58.yaml b/workspace/example_designs/layer_shapes/vision_transformer/58.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/58.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/59.yaml b/workspace/example_designs/layer_shapes/vision_transformer/59.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/59.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/60.yaml b/workspace/example_designs/layer_shapes/vision_transformer/60.yaml new file mode 100755 index 00000000..e96235ba --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/60.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/61.yaml b/workspace/example_designs/layer_shapes/vision_transformer/61.yaml new file mode 100755 index 00000000..6725ff9b --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/61.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 197, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/62.yaml b/workspace/example_designs/layer_shapes/vision_transformer/62.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/62.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/63.yaml b/workspace/example_designs/layer_shapes/vision_transformer/63.yaml new file mode 100755 index 00000000..1a29c457 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/63.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 3072, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/64.yaml b/workspace/example_designs/layer_shapes/vision_transformer/64.yaml new file mode 100755 index 00000000..989076d3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/64.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3072, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/65.yaml b/workspace/example_designs/layer_shapes/vision_transformer/65.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/65.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/66.yaml b/workspace/example_designs/layer_shapes/vision_transformer/66.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/66.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/67.yaml b/workspace/example_designs/layer_shapes/vision_transformer/67.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/67.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/68.yaml b/workspace/example_designs/layer_shapes/vision_transformer/68.yaml new file mode 100755 index 00000000..e96235ba --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/68.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/69.yaml b/workspace/example_designs/layer_shapes/vision_transformer/69.yaml new file mode 100755 index 00000000..6725ff9b --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/69.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 197, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/70.yaml b/workspace/example_designs/layer_shapes/vision_transformer/70.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/70.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/71.yaml b/workspace/example_designs/layer_shapes/vision_transformer/71.yaml new file mode 100755 index 00000000..1a29c457 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/71.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 3072, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/72.yaml b/workspace/example_designs/layer_shapes/vision_transformer/72.yaml new file mode 100755 index 00000000..989076d3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/72.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3072, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/73.yaml b/workspace/example_designs/layer_shapes/vision_transformer/73.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/73.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/74.yaml b/workspace/example_designs/layer_shapes/vision_transformer/74.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/74.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/75.yaml b/workspace/example_designs/layer_shapes/vision_transformer/75.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/75.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/76.yaml b/workspace/example_designs/layer_shapes/vision_transformer/76.yaml new file mode 100755 index 00000000..e96235ba --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/76.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/77.yaml b/workspace/example_designs/layer_shapes/vision_transformer/77.yaml new file mode 100755 index 00000000..6725ff9b --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/77.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 197, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/78.yaml b/workspace/example_designs/layer_shapes/vision_transformer/78.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/78.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/79.yaml b/workspace/example_designs/layer_shapes/vision_transformer/79.yaml new file mode 100755 index 00000000..1a29c457 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/79.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 3072, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/80.yaml b/workspace/example_designs/layer_shapes/vision_transformer/80.yaml new file mode 100755 index 00000000..989076d3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/80.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3072, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/81.yaml b/workspace/example_designs/layer_shapes/vision_transformer/81.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/81.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/82.yaml b/workspace/example_designs/layer_shapes/vision_transformer/82.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/82.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/83.yaml b/workspace/example_designs/layer_shapes/vision_transformer/83.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/83.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/84.yaml b/workspace/example_designs/layer_shapes/vision_transformer/84.yaml new file mode 100755 index 00000000..e96235ba --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/84.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/85.yaml b/workspace/example_designs/layer_shapes/vision_transformer/85.yaml new file mode 100755 index 00000000..6725ff9b --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/85.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 197, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/86.yaml b/workspace/example_designs/layer_shapes/vision_transformer/86.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/86.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/87.yaml b/workspace/example_designs/layer_shapes/vision_transformer/87.yaml new file mode 100755 index 00000000..1a29c457 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/87.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 3072, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/88.yaml b/workspace/example_designs/layer_shapes/vision_transformer/88.yaml new file mode 100755 index 00000000..989076d3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/88.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3072, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/89.yaml b/workspace/example_designs/layer_shapes/vision_transformer/89.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/89.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/90.yaml b/workspace/example_designs/layer_shapes/vision_transformer/90.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/90.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/91.yaml b/workspace/example_designs/layer_shapes/vision_transformer/91.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/91.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/92.yaml b/workspace/example_designs/layer_shapes/vision_transformer/92.yaml new file mode 100755 index 00000000..e96235ba --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/92.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 64, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/93.yaml b/workspace/example_designs/layer_shapes/vision_transformer/93.yaml new file mode 100755 index 00000000..6725ff9b --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/93.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {M: 197, C: 197, P: 12} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/94.yaml b/workspace/example_designs/layer_shapes/vision_transformer/94.yaml new file mode 100755 index 00000000..2c580652 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/94.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/95.yaml b/workspace/example_designs/layer_shapes/vision_transformer/95.yaml new file mode 100755 index 00000000..1a29c457 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/95.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 3072, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/96.yaml b/workspace/example_designs/layer_shapes/vision_transformer/96.yaml new file mode 100755 index 00000000..989076d3 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/96.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 3072, M: 768, P: 197} + + \ No newline at end of file diff --git a/workspace/example_designs/layer_shapes/vision_transformer/97.yaml b/workspace/example_designs/layer_shapes/vision_transformer/97.yaml new file mode 100755 index 00000000..911199f4 --- /dev/null +++ b/workspace/example_designs/layer_shapes/vision_transformer/97.yaml @@ -0,0 +1,6 @@ +{{include_text('../problem_base.yaml')}} +problem: + <<<: *problem_base + instance: {C: 768, M: 1000} + + \ No newline at end of file diff --git a/workspace/example_designs/run_example_designs.py b/workspace/example_designs/run_example_designs.py new file mode 100644 index 00000000..b314fd59 --- /dev/null +++ b/workspace/example_designs/run_example_designs.py @@ -0,0 +1,110 @@ +from typing import Optional +import os +import threading +import pytimeloop.timeloopfe.v4 as tl +from util_functions import * +import joblib + +Specification = tl.Specification +THIS_SCRIPT_DIR = os.path.abspath(os.path.dirname(os.path.realpath(__file__))) +EXAMPLE_DIR = os.path.join(THIS_SCRIPT_DIR, "example_designs") +TOP_JINJA_PATH = os.path.join(EXAMPLE_DIR, "top.yaml.jinja2") + + +def get_architecture_targets(): + targets = [] + for root, dirs, files in os.walk(EXAMPLE_DIR): + if "arch.yaml" in files: + c = open(os.path.join(root, "arch.yaml")).read() + if "version: 0.4" not in c: + continue + targets.append(os.path.relpath(root, EXAMPLE_DIR)) + return sorted(targets) + + +def run_mapper( + arch_target, + problem: Optional[str] = None, + generate_ref_outputs: Optional[bool] = False, + remove_sparse_opts: Optional[bool] = False, +): + # This data will be supplied when rendering the top jinja2 template + jinja_parse_data = {"architecture": arch_target} + + if problem is None: + problem_name = "default_problem" + else: + problem_name = os.path.basename(problem).split(".")[0] + jinja_parse_data["problem"] = problem + + # Set up output directory + if generate_ref_outputs: + output_dir = f"{EXAMPLE_DIR}/{arch_target}/ref_outputs/{problem_name}" + else: + output_dir = f"{EXAMPLE_DIR}/{arch_target}/outputs/{problem_name}" + + print(f"\n\nRunning mapper for target {arch_target} in {output_dir}...") + + # Set up output directory + if os.path.exists(output_dir): + os.system(f"rm -rf {output_dir}") + os.makedirs(output_dir, exist_ok=True) + + spec = tl.Specification.from_yaml_files( + TOP_JINJA_PATH, jinja_parse_data=jinja_parse_data + ) + + # Used for some Sparseloop tutorials to test with/without sparse optimizations + if remove_sparse_opts: + remove_sparse_optimizations(spec) + tl.call_mapper(spec, output_dir=output_dir, dump_intermediate_to=output_dir) + assert os.path.exists(f"{output_dir}/timeloop-mapper.stats.txt"), ( + f"Mapper did not generate expected output for {arch_target}. " + f"Please check the logs for more details." + ) + + +if __name__ == "__main__": + args = get_arguments() + arch_targets = get_architecture_targets() + + if args.clear_outputs: + os.system(f"rm -rf {EXAMPLE_DIR}/*/outputs") + os.system(f"rm -rf {EXAMPLE_DIR}/*/ref_outputs") + os.system(f"rm -rf {EXAMPLE_DIR}/*/*/outputs") + os.system(f"rm -rf {EXAMPLE_DIR}/*/*/ref_outputs") + exit(0) + + arch = args.architecture + + # Default to the first architecture if none is specified + if arch is None or not arch: + arch = arch_targets[0] + # If arch is "all", run all architectures + if str(arch).lower() == "all": + arch = arch_targets + + # If arch is a string, make it a list + arch = [arch] if isinstance(arch, str) else arch + + # Put togher the list of problems to run + problems = [None] + if args.problem: + problem = os.path.join(THIS_SCRIPT_DIR, "layer_shapes", args.problem) + if os.path.isdir(problem): + problems = [ + os.path.join(problem, f) + for f in os.listdir(problem) + if f.endswith(".yaml") + ] + else: + problems = [problem] + + # Run parallel processes for all architectures and problems + joblib.Parallel(n_jobs=args.n_jobs)( + joblib.delayed(run_mapper)( + a, p, args.generate_ref_outputs, args.remove_sparse_opts + ) + for a in arch + for p in sorted(problems) + ) diff --git a/workspace/example_designs/util_functions.py b/workspace/example_designs/util_functions.py new file mode 100644 index 00000000..7fa5d4f4 --- /dev/null +++ b/workspace/example_designs/util_functions.py @@ -0,0 +1,57 @@ +import argparse +import pytimeloop.timeloopfe.v4 as tl + + +def get_arguments(): + argparser = argparse.ArgumentParser() + argparser.add_argument( + "--clear-outputs", + default=False, + action="store_true", + help="Clear all generated outputs", + ) + argparser.add_argument( + "--architecture", + type=str, + default="eyeriss_like", + help="Architecture to run in the example_designs directory. " + "If 'all' is given, all architectures will be run.", + ) + argparser.add_argument( + "--generate-ref-outputs", + default=False, + action="store_true", + help="Generate reference outputs instead of outputs", + ) + argparser.add_argument( + "--problem", + type=str, + default=None, + help="Problem to run in the layer_shapes directory. If a directory is " + "specified, all problems in the directory will be run. If not specified, " + "the default problem will be run.", + ) + argparser.add_argument( + "--n_jobs", type=int, default=None, help="Number of jobs to run in parallel" + ) + argparser.add_argument( + "--remove-sparse-opts", + default=False, + action="store_true", + help="Remove sparse optimizations", + ) + return argparser.parse_args() + + +def remove_sparse_optimizations(spec: tl.Specification): + """This function is used by some Sparseloop tutorials to test with/without + sparse optimizations""" + for s in spec.get_nodes_of_type( + ( + tl.sparse_optimizations.ActionOptimizationList, + tl.sparse_optimizations.RepresentationFormat, + tl.sparse_optimizations.ComputeOptimization, + ) + ): + s.clear() + return spec diff --git a/workspace/scripts/generate_refs.sh b/workspace/scripts/generate_refs.sh new file mode 100755 index 00000000..68209482 --- /dev/null +++ b/workspace/scripts/generate_refs.sh @@ -0,0 +1,17 @@ +#!/bin/bash +python3 generate_timeloop_spec.py + + +cd .. + +cd example_designs +python3 run_example_designs.py --clear-outputs +python3 run_example_designs.py --architecture all --generate-ref-output + +cd ../tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop +python3 run_example.py --clear-outputs +python3 run_example.py all --generate-ref-output + +cd ../timeloop+accelergy +python3 run_example.py --clear-outputs +python3 run_example.py all --generate-ref-output \ No newline at end of file diff --git a/workspace/scripts/generate_timeloop_spec.py b/workspace/scripts/generate_timeloop_spec.py new file mode 100644 index 00000000..34884168 --- /dev/null +++ b/workspace/scripts/generate_timeloop_spec.py @@ -0,0 +1,11 @@ +if __name__ == "__main__": + import pytimeloop.timeloopfe.v4 as tl + import os + + THIS_SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) + TOP_PATH = f"{THIS_SCRIPT_DIR}/../tutorial_exercises/02_interface_and_design_space_exploration_2024/top.yaml.jinja" + TARGET_FILE = f"{THIS_SCRIPT_DIR}/../timeloop_spec.yaml" + spec = tl.Specification.from_yaml_files(TOP_PATH) + with open(TARGET_FILE, "w") as f: + f.write(tl.doc.get_property_yaml(spec)) + print(f"Timeloop specification written to {TARGET_FILE}") diff --git a/workspace/scripts/remove_yaml.sh b/workspace/scripts/remove_yaml.sh new file mode 100755 index 00000000..cf73a85d --- /dev/null +++ b/workspace/scripts/remove_yaml.sh @@ -0,0 +1,62 @@ +#!/bin/bash + +# 检查是否提供了文件路径 +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi + +input_file="$1" + +# 检查文件是否存在 +if [ ! -f "$input_file" ]; then + echo "Error: File not found at '$input_file'" + exit 1 +fi + +# 使用 awk 来删除 constraints 块 +awk ' +BEGIN { + in_constraints = 0; # 标志,表示当前是否在 constraints 块内部 + constraints_indent = -1; # 记录 constraints: 所在行的缩进级别 +} + +{ + # 获取当前行的缩进 + match($0, /^[[:space:]]*/); + current_indent = RLENGTH; # RLENGTH 是匹配到的空白字符的长度 + + # 检查是否进入 constraints 块 + if ($0 ~ /^[[:space:]]*constraints:/) { + in_constraints = 1; + constraints_indent = current_indent; + next; # 跳过当前这一行 (constraints: 这一行) + } + + # 如果在 constraints 块内部 + if (in_constraints) { + # 如果当前行的缩进小于等于 constraints 块的缩进, + # 则表示 constraints 块结束了,并且当前行是下一个有效行 + if (current_indent <= constraints_indent && current_indent != 0) { # 检查 current_indent != 0 排除顶层块 + in_constraints = 0; # 退出 constraints 模式 + constraints_indent = -1; + print; # 打印当前行 + } else if (current_indent == 0 && $0 !~ /^[[:space:]]*$/ && in_constraints){ # 处理顶层 + in_constraints = 0; # 退出 constraints 模式 + constraints_indent = -1; + print; # 打印当前行 + } else if ($0 ~ /^[[:space:]]*$/ && current_indent <= constraints_indent) { # 处理空行,如果空行缩进小于等于constraints缩进,也结束。 + in_constraints = 0; + constraints_indent = -1; + print; # 打印空行,因为它标志着块的结束 + } + # 如果仍然在 constraints 块内部(缩进更大),则不打印当前行,跳过 + else { + next; + } + } else { + # 如果不在 constraints 块内部,则正常打印行 + print; + } +} +' "$input_file" diff --git a/workspace/scripts/test_notebooks.sh b/workspace/scripts/test_notebooks.sh new file mode 100755 index 00000000..2bdc8962 --- /dev/null +++ b/workspace/scripts/test_notebooks.sh @@ -0,0 +1,20 @@ +#!/bin/bash +pip3 install jupyter_contrib_nbextensions notebook==6.4.12 +pip3 install notebook==6.4.12 + +for f in $(find ../tutorial_exercises -name "*.ipynb"); do + if [[ $f == *"nbconvert"* ]]; then + continue + fi + echo "Testing notebook: $f" + # Capture the output and only print it if the notebook fails + jupyter nbconvert --to notebook --execute $f > /tmp/nbtest.log 2>&1 + if [ $? -ne 0 ]; then + echo "Failed: $f" + cat /tmp/nbtest.log + echo "Failed: $f" + find ../tutorial_exercises -name "*.nbconvert.ipynb" -exec rm {} \; + exit 1 + fi +done +find ../tutorial_exercises -name "*.nbconvert.ipynb" -exec rm {} \; \ No newline at end of file diff --git a/workspace/scripts/trans_yaml.sh b/workspace/scripts/trans_yaml.sh new file mode 100755 index 00000000..1b8ecb5d --- /dev/null +++ b/workspace/scripts/trans_yaml.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +# 检查是否提供了文件路径 +if [ -z "$1" ]; then + echo "用法: $0 " + exit 1 +fi + +input_file="$1" + +# 检查文件是否存在 +if [ ! -f "$input_file" ]; then + echo "错误: 文件未找到: '$input_file'" + exit 1 +fi + +# 使用 awk 进行所有转换 +awk ' +{ + # 任务1: 将 "type: datatype" 替换为 "type: dataspace" + if ($0 ~ /type:[[:space:]]*datatype/) { + sub(/type:[[:space:]]*datatype/, "type: dataspace"); + } + + # 任务2: 将 factors: C4 M4... 转换为 factors: C=4 M=4... + if ($0 ~ /factors:/) { + # 创建当前行的副本,用于操作 factors 字符串 + line_copy = $0; + + # 移除 "factors:" 及其前面的所有内容和后面的空格 + sub(/^.*factors:[[:space:]]*/, "", line_copy); + + # 构建新的 factors 字符串 + new_factors_str = ""; + # 按一个或多个空格分割字符串 + split(line_copy, arr, /[[:space:]]+/); + + for (i in arr) { + # 检查是否符合 "大写字母+数字" 的模式 (例如 C4, M8) + if (arr[i] ~ /^[A-Z][0-9]+$/) { + # 提取变量 (第一个字符) 和值 (其余部分) + var = substr(arr[i], 1, 1); + val = substr(arr[i], 2); + if (new_factors_str != "") { + new_factors_str = new_factors_str " "; + } + new_factors_str = new_factors_str var "=" val; + } else { + # 如果不符合预期模式,则保持不变 + if (new_factors_str != "") { + new_factors_str = new_factors_str " "; + } + new_factors_str = new_factors_str arr[i]; + } + } + # 将原始行中的 factors 部分替换为新字符串 + sub(/factors:[[:space:]]*(.*)/, "factors: " new_factors_str); + } + + # 任务3: 将 "inter_PE_spatial" 替换为 "PE" + # 注意:这里使用 sub,因为它只需要替换当前行的内容。 + # 如果一行中可能出现多次 inter_PE_spatial 且都需要替换,则使用 gsub + gsub(/inter_PE_spatial/, "PE"); + + # 任务4: 将 "inter_PE_column_spatial" 替换为 "PE_column" + gsub(/inter_PE_column_spatial/, "PE_column"); + + print; # 打印(可能已修改的)行 +} +' "$input_file" diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/README.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/README.md new file mode 100644 index 00000000..79daeccd --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/README.md @@ -0,0 +1,13 @@ +Timeloop/Accelergy Tutorial +=========================== + +This exercises/ directory contains a set of exercises to explore both Timeloop and Accelergy. + +- To open terminal in Jupyter Notebook: at the base page (root folder), click the `New` button (near the upper right corner), and select terminal. + +- To try out a simple example do the following: + +``` + cd timeloop/ + python3 run_example.py 00 +``` diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/README.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/README.md new file mode 100644 index 00000000..f8936002 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/README.md @@ -0,0 +1,41 @@ +Exercise 1 +========== + +## Overview + +This exercise runs a energy reference table (ERT) generation on a simple architecture +that is described by primitive components. + +## Steps + +To run the exercise, we need to provide 1 input to the Accelergy: +- An architecture. + + +We have provided the `.yaml` file in the input folder. To run this exercise, type: + +``` + accelergy input/ -o output/ +``` + +This generates the following output in folder `output/` +- The received input files and the important generation progress are reported on `stdout`. +- the ERTs (pJ/action) for the primitive components in the design are saved in `ERT.yaml`. +- A summary of the ERTs are saved in `ERT_summary.yaml`. +- The area reference tables (ERTs) (umm^2/component) for the components in the architecture `ART.yaml`(note that the DRAM area is a place holder as it is not on-chip). +- The area reference table summary for the components in the architecture `ART_summary.yaml`. +- A summary of the parsed architecture is saved in `flattened_arch.yaml`. + +## Observations + +- The `input/architecture.yaml` file contains a top-level key `architecture` that is important + for Accelergy to identify the file content. +- The `output/flattned_architecture.yaml` file contains interpreted information for each component in the design. + Note that all the default attributes that are not specified in the architecture description is added. This file can + be used to check if Accelergy correctly understands the architecture description. +- The `output/ERT.yaml` file contains the detailed ERTs for all the components in the design. For each action, if the + action has runtime arguments, the energy is reported for each (set of) possible argument value(s). How does the arguments + affect energy/action values? Is it important to have fine-grained action types? +- The `output/ERT_summary.yaml` file contains the a summarized ERT of the components in the design. For each action of + a component, if the action has run time arguments, it summarizes the min, max, and average of the action energy; + otherwise, it reports the energy of the action. \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/input/architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/input/architecture.yaml new file mode 100644 index 00000000..b0de6819 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/input/architecture.yaml @@ -0,0 +1,36 @@ +architecture: +# ============================================================ +# Architecture Description +# ============================================================ + version: 0.3 + subtree: + - name: simple_primitive # top-level name key has the value as your design name, there can be only one component is the top level list, whic is the design + attributes: # shared attributes for all subcomponents in design + technology: 45nm + voltage: 1V + latency: 5ns + local: # list of components in the design + - name: GLB + class: SRAM + attributes: # hardware attributes (the ones same as default attributes can be ommitted) + width: 32 + depth: 1024 + n_rd_ports: 0 + n_wr_ports: 0 + n_rdwr_ports: 2 + n_banks: 1 + subtree: # abstract hierarchy in the architecture + - name: PE + attributes: + datawidth: 16 + local: + - name: MAC # component under the PE + class: intmac + attributes: + num_pipeline_stages: 1 + width: 8 + - name: buffer # local storage under the PE + class: regfile + attributes: + width: 16 + depth: 24 \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/output/.gitkeep b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/output/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/ref-output/ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/ref-output/ART.yaml new file mode 100644 index 00000000..106e88f5 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/ref-output/ART.yaml @@ -0,0 +1,9 @@ +ART: + version: 0.3 + tables: + - name: simple_primitive.PE.MAC + area: 1239.5 + - name: simple_primitive.PE.buffer + area: 358.18 + - name: simple_primitive.GLB + area: 29133.3 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/ref-output/ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/ref-output/ART_summary.yaml new file mode 100644 index 00000000..84e6ae58 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/ref-output/ART_summary.yaml @@ -0,0 +1,12 @@ +ART_summary: + version: 0.3 + table_summary: + - name: simple_primitive.PE.MAC + area: 1239.5 + primitive_estimations: Aladdin_table + - name: simple_primitive.PE.buffer + area: 358.18 + primitive_estimations: Aladdin_table + - name: simple_primitive.GLB + area: 29133.3 + primitive_estimations: Cacti diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/ref-output/ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/ref-output/ERT.yaml new file mode 100644 index 00000000..676ee5e7 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/ref-output/ERT.yaml @@ -0,0 +1,107 @@ +ERT: + version: 0.3 + tables: + - name: simple_primitive.PE.MAC + actions: + - name: mac_random + arguments: null + energy: 2.2 + - name: mac_reused + arguments: null + energy: 1.877 + - name: mac_gated + arguments: null + energy: 0.103 + - name: idle + arguments: null + energy: 0.066 + - name: simple_primitive.PE.buffer + actions: + - name: read + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.006 + - name: read + arguments: + address_delta: 0 + data_delta: 1 + energy: 0.144 + - name: read + arguments: + address_delta: 1 + data_delta: 0 + energy: 0.115 + - name: read + arguments: + address_delta: 1 + data_delta: 1 + energy: 0.253 + - name: write + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.006 + - name: write + arguments: + address_delta: 0 + data_delta: 1 + energy: 0.144 + - name: write + arguments: + address_delta: 1 + data_delta: 0 + energy: 0.115 + - name: write + arguments: + address_delta: 1 + data_delta: 1 + energy: 0.253 + - name: idle + arguments: null + energy: 0.006 + - name: simple_primitive.GLB + actions: + - name: read + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.0 + - name: read + arguments: + address_delta: 0 + data_delta: 1 + energy: 3.374 + - name: read + arguments: + address_delta: 1 + data_delta: 0 + energy: 1.446 + - name: read + arguments: + address_delta: 1 + data_delta: 1 + energy: 4.82 + - name: write + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.0 + - name: write + arguments: + address_delta: 0 + data_delta: 1 + energy: 3.146 + - name: write + arguments: + address_delta: 1 + data_delta: 0 + energy: 1.348 + - name: write + arguments: + address_delta: 1 + data_delta: 1 + energy: 4.494 + - name: idle + arguments: null + energy: 0.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/ref-output/ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/ref-output/ERT_summary.yaml new file mode 100644 index 00000000..4c42e330 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/ref-output/ERT_summary.yaml @@ -0,0 +1,46 @@ +ERT_summary: + version: 0.3 + table_summary: + - name: simple_primitive.PE.MAC + actions: + - name: mac_random + energy: 2.2 + - name: mac_reused + energy: 1.877 + - name: mac_gated + energy: 0.103 + - name: idle + energy: 0.066 + primitive_estimation(s): + - name: simple_primitive.PE.MAC + estimator: Aladdin_table + - name: simple_primitive.PE.buffer + actions: + - name: read + average_energy: 0.13 + max_energy: 0.253 + min_energy: 0.006 + - name: write + average_energy: 0.13 + max_energy: 0.253 + min_energy: 0.006 + - name: idle + energy: 0.006 + primitive_estimation(s): + - name: simple_primitive.PE.buffer + estimator: Aladdin_table + - name: simple_primitive.GLB + actions: + - name: read + average_energy: 2.41 + max_energy: 4.82 + min_energy: 0.0 + - name: write + average_energy: 2.247 + max_energy: 4.494 + min_energy: 0.0 + - name: idle + energy: 0.0 + primitive_estimation(s): + - name: simple_primitive.GLB + estimator: Cacti diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/ref-output/flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/ref-output/flattened_architecture.yaml new file mode 100644 index 00000000..f8a23dd4 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/01_primitive_architecture_ERT/ref-output/flattened_architecture.yaml @@ -0,0 +1,32 @@ +architecture: + version: 0.3 + local: + - name: simple_primitive.PE.MAC + class: intmac + attributes: + width: 16 + latency: 5ns + num_pipeline_stages: 1 + technology: 45nm + voltage: 1V + - name: simple_primitive.PE.buffer + class: regfile + attributes: + datawidth: 16 + depth: 24 + latency: 5ns + n_ports: 2 + technology: 45nm + voltage: 1V + - name: simple_primitive.GLB + class: SRAM + attributes: + depth: 1024 + latency: 5ns + n_banks: 1 + n_rd_ports: 0 + n_rdwr_ports: 2 + n_wr_ports: 0 + technology: 45nm + voltage: 1V + width: 32 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/README.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/README.md new file mode 100644 index 00000000..dd710e73 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/README.md @@ -0,0 +1,40 @@ +Exercise 2 +========== + +## Overview + +This exercise runs a energy estimation on a simple architecture using the provided ERT and an action counts. + +## Steps + +To run the exercise, we need to provide 3 inputs to the Accelergy: +- An ERT. +- Action counts. +- A flattened architecture/ the original hierarchical architecture. + + +We have provided the `.yaml` files in the input folder. To run this exercise, type: + +``` + accelergy input/ -o output/ -f energy_estimation +``` + +This generates the following output in folder `output/` +- The received input files and the important evaluation progress are reported on `stdout`. +- The estimation (pJ) for the primitive components in the design are saved in `energy_estimation.yaml`. + + +## Observations + +- The `input/ERT.yaml` file contains a top-level key `ERT` that is important + for Accelergy to identify the file content. +- The `input/flattened_architecture.yaml` file contains a top-level key `flattened_architecture` that is important + for Accelergy to identify the file content. Try to change the component names in the action counts and rerun, + does Accelergy complain? Why is this check can sometimes be useful? + This file is optional and is used to check if the component names in the action counts are legal. +- The `output/estimation.yaml` file contains the energy estimations of all components specified in the action counts. +- Is this step faster than the energy reference table (ERT) generation step? Will this step be even faster if the design +is large and complicated? +- Try play with the counts of each action in the `input/action_counts.yaml`, do we need to regenerate the ERT after the +count is updated? Why is it useful to have energy calculator independent from ERT generator? + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/input/ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/input/ERT.yaml new file mode 100644 index 00000000..676ee5e7 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/input/ERT.yaml @@ -0,0 +1,107 @@ +ERT: + version: 0.3 + tables: + - name: simple_primitive.PE.MAC + actions: + - name: mac_random + arguments: null + energy: 2.2 + - name: mac_reused + arguments: null + energy: 1.877 + - name: mac_gated + arguments: null + energy: 0.103 + - name: idle + arguments: null + energy: 0.066 + - name: simple_primitive.PE.buffer + actions: + - name: read + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.006 + - name: read + arguments: + address_delta: 0 + data_delta: 1 + energy: 0.144 + - name: read + arguments: + address_delta: 1 + data_delta: 0 + energy: 0.115 + - name: read + arguments: + address_delta: 1 + data_delta: 1 + energy: 0.253 + - name: write + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.006 + - name: write + arguments: + address_delta: 0 + data_delta: 1 + energy: 0.144 + - name: write + arguments: + address_delta: 1 + data_delta: 0 + energy: 0.115 + - name: write + arguments: + address_delta: 1 + data_delta: 1 + energy: 0.253 + - name: idle + arguments: null + energy: 0.006 + - name: simple_primitive.GLB + actions: + - name: read + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.0 + - name: read + arguments: + address_delta: 0 + data_delta: 1 + energy: 3.374 + - name: read + arguments: + address_delta: 1 + data_delta: 0 + energy: 1.446 + - name: read + arguments: + address_delta: 1 + data_delta: 1 + energy: 4.82 + - name: write + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.0 + - name: write + arguments: + address_delta: 0 + data_delta: 1 + energy: 3.146 + - name: write + arguments: + address_delta: 1 + data_delta: 0 + energy: 1.348 + - name: write + arguments: + address_delta: 1 + data_delta: 1 + energy: 4.494 + - name: idle + arguments: null + energy: 0.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/input/action_counts.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/input/action_counts.yaml new file mode 100644 index 00000000..99a0c914 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/input/action_counts.yaml @@ -0,0 +1,41 @@ +action_counts: + # ================================================ + # Action Counts + # ================================================ + version: 0.3 + subtree: + - name: simple_primitive + local: + - name: GLB # leaf node (component) + action_counts: + - name: read + arguments: + data_delta: 1 + address_delta: 1 + counts: 20 + - name: write + arguments: + data_delta: 1 + address_delta: 1 + counts: 10 + subtree: + - name: PE + local: + - name: buffer + action_counts: + - name: read + arguments: + address_delta: 1 + data_delta: 0 + counts: 50 + - name: read + arguments: + address_delta: 1 + data_delta: 1 + counts: 20 + - name: MAC + action_counts: + - name: mac_random + counts: 30 + - name: mac_gated + counts: 15 \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/input/flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/input/flattened_architecture.yaml new file mode 100644 index 00000000..5bf491bc --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/input/flattened_architecture.yaml @@ -0,0 +1,33 @@ +architecture: + version: 0.3 + local: + - name: simple_primitive.PE.MAC + class: intmac + attributes: + datawidth: 16 + latency: 5ns + num_pipeline_stages: 1 + technology: 45nm + voltage: 1V + - name: simple_primitive.PE.buffer + class: regfile + attributes: + datawidth: 16 + depth: 24 + latency: 5ns + n_ports: 2 + technology: 45nm + voltage: 1V + width: 16 + - name: simple_primitive.GLB + class: SRAM + attributes: + depth: 1024 + latency: 5ns + n_banks: 1 + n_rd_ports: 0 + n_rdwr_ports: 2 + n_wr_ports: 0 + technology: 45nm + voltage: 1V + width: 32 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/output/.gitkeep b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/output/.gitkeep new file mode 100644 index 00000000..8d1c8b69 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/output/.gitkeep @@ -0,0 +1 @@ + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/output/energy_estimation.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/output/energy_estimation.yaml new file mode 100644 index 00000000..1159cc56 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/output/energy_estimation.yaml @@ -0,0 +1,10 @@ +energy_estimation: + version: '0.4' + components: + - name: simple_primitive.GLB + energy: 141.34 + - name: simple_primitive.PE.buffer + energy: 10.81 + - name: simple_primitive.PE.MAC + energy: 67.545 + Total: 219.695 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/ref-output/energy_estimation.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/ref-output/energy_estimation.yaml new file mode 100644 index 00000000..f88b0dd0 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/02_primitive_architecture_energy/ref-output/energy_estimation.yaml @@ -0,0 +1,10 @@ +energy_estimation: + version: 0.3 + components: + - name: simple_primitive.GLB + energy: 141.34 + - name: simple_primitive.PE.buffer + energy: 10.81 + - name: simple_primitive.PE.MAC + energy: 67.545 + Total: 219.695 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/README.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/README.md new file mode 100644 index 00000000..871f5c96 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/README.md @@ -0,0 +1,47 @@ +Exercise 3 +========== + +## Overview + +This exercise runs a energy estimation on an architecture +that is described with user-defined compound components. +## Steps + +To run the exercise, we need to provide 3 inputs to the Accelergy: +- An architecture description. +- A compound component description. +- An action counts. + + +We have provided the `.yaml` files in the input folder. To run this exercise, type: + +``` + accelergy input/ -o output/ +``` + +This generates the following output in folder `output/` +- The received input files and the important evaluation progress are reported on `stdout`. +- The energy reference tables (ERTs) (pJ/action) for the components in the architecture `ERT.yaml`. +- The energy reference table summary for the components in the architecture `ERT_summary.yaml`. +- The area reference tables (ERTs) (umm^2/component) for the components in the architecture `ART.yaml`(note that the DRAM area is a place holder as it is not on-chip). +- The area reference table summary for the components in the architecture `ART_summary.yaml`. +- The flattened architecture that describes the class and attributes of the components in +the architecture is saved to `flattened_architecture.yaml`. +- The estimation (pJ) for the primitive components in the design are saved in `estimation.yaml`. + + +## Observations + +- Note that the `input/compound_component.yaml` contains an `includedir` keyword that indcludes all the files in the `component` subfolder. +- The compound components can be specified separately to avoid long and tedious compound component descriptions. Examine the files, what are the subcomponents of the compound components? How are the compound actions defined? +- Are the components in the architecture description compound components or primitive components? +- Are the actions counts in terms of compound action or primitive components? If we change the definitions of the compound components in the compound component description files, do we need to generate a new set of action counts? +- According to the compound description, try describe the architecture with primitive components, would it be tedious? If we change add a fifo to store the output data from a local buffer, what do we need to change in the architecture description? What do we need to change in the action counts file? + + +## Takeaways +- We can define our own compound components and use them to define the architecture. +- Modeling the design using compound components + - Reduces the architecture description and action counts complexity + - Makes architecture redesigns much faster as no new action counts need to be + generated. diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/input/action_counts.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/input/action_counts.yaml new file mode 100644 index 00000000..3b625f8d --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/input/action_counts.yaml @@ -0,0 +1,54 @@ +action_counts: + # ================================================ + # Action Counts + # ================================================ + version: 0.2 + local: + - name: simple_compound.GLB + action_counts: + - name: read + arguments: + data_delta: 1 + address_delta: 1 + counts: 20 + - name: write + arguments: + data_delta: 1 + address_delta: 1 + counts: 10 + - name: simple_compound.PE[0].buffer + action_counts: + - name: read + arguments: + address_delta: 1 + data_delta: 0 + counts: 50 + - name: read + arguments: + address_delta: 1 + data_delta: 1 + counts: 20 + - name: simple_compound.PE[0].MAC + action_counts: + - name: mac_random + counts: 30 + - name: mac_gated + counts: 15 + - name: simple_compound.PE[1].buffer + action_counts: + - name: read + arguments: + address_delta: 1 + data_delta: 0 + counts: 40 + - name: read + arguments: + address_delta: 1 + data_delta: 1 + counts: 30 + - name: simple_compound.PE[1].MAC + action_counts: + - name: mac_random + counts: 30 + - name: mac_gated + counts: 15 \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/input/architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/input/architecture.yaml new file mode 100644 index 00000000..3fd90a0b --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/input/architecture.yaml @@ -0,0 +1,33 @@ +architecture: +# ============================================================ +# Architecture Description +# ============================================================ + version: 0.3 + subtree: + - name: simple_compound + attributes: + technology: 45nm + voltage: 1V + latency: 5ns + local: # list of components in the design + - name: GLB + class: smartbuffer_SRAM + attributes: # hardware attributes (the ones same as default attributes can be ommitted) + memory_depth: 1024 + memory_width: 32 + n_banks: 4 + subtree: # abstract hierarchy in the architecture + - name: PE[0..4] + attributes: + datawidth: 16 + local: + - name: MAC # component under the PE + class: mac_fifo + attributes: + num_pipeline_stages: 1 + - name: buffer # local storage under the PE + class: smartbuffer_RF + attributes: + memory_width: 16 + memory_depth: 24 + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/input/components/mac_fifo.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/input/components/mac_fifo.yaml new file mode 100644 index 00000000..188856bf --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/input/components/mac_fifo.yaml @@ -0,0 +1,62 @@ +compound_components: + version: 0.3 + classes: + - name: mac_fifo + attributes: + technology: 40nm + datawidth: 16 + fifo_depth: 2 + num_pipeline_stages: 1 + subcomponents: + - name: mac + class: intmac + attributes: + technology: technology + width: datawidth + num_pipeline_stages: num_pipeline_stages + - name: output_fifo + class: FIFO + attributes: + technology: technology + depth: fifo_depth + width: datawidth * 2 + datawidth: datawidth * 2 + actions: + - name: mac_random + subcomponents: + - name: mac + actions: + - name: mac_random + - name: output_fifo + actions: + - name: push + - name: pop # accounting for the future pop of the data + - name: mac_reused + subcomponents: + - name: mac + actions: + - name: mac_reused + - name: output_fifo + actions: + - name: push + - name: pop # accounting for the future pop of the data + - name: mac_gated + subcomponents: + - name: mac + actions: + - name: mac_gated + - name: output_fifo + actions: + - name: idle + - name: idle + subcomponents: + - name: mac + actions: + - name: idle + - name: output_fifo + actions: + - name: idle + + + + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/input/components/smartbuffer_RF.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/input/components/smartbuffer_RF.yaml new file mode 100644 index 00000000..b202f10e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/input/components/smartbuffer_RF.yaml @@ -0,0 +1,68 @@ +compound_components: + version: 0.3 + classes: + - name: smartbuffer_RF + attributes: + technology: 45nm + memory_depth: 12 + memory_width: 16 + n_rdwr_ports: 2 + n_banks: 1 + n_buffets: 1 + subcomponents: + - name: storage + class: regfile + attributes: + technology: technology + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + n_banks: n_banks + - name: address_generators[0..1] + class: intadder + attributes: + technology: technology + width: log(memory_depth) + actions: + - name: write + arguments: + data_delta: 0..1 + address_delta: 0..n_banks + subcomponents: + - name: storage + actions: + - name: write + arguments: + data_delta: data_delta + address_delta: address_delta + - name: address_generators[0] + actions: + - name: add + - name: address_generators[1] + actions: + - name: idle + - name: read + arguments: + data_delta: 0..1 + address_delta: 0..n_banks + subcomponents: + - name: storage + actions: + - name: read + arguments: + data_delta: data_delta + address_delta: address_delta + - name: address_generators[1] + actions: + - name: add + - name: address_generators[0] + actions: + - name: idle + - name: idle + subcomponents: + - name: storage + actions: + - name: idle + - name: address_generators[0..1] + actions: + - name: idle diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/input/components/smartbuffer_SRAM.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/input/components/smartbuffer_SRAM.yaml new file mode 100644 index 00000000..aaba7a41 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/input/components/smartbuffer_SRAM.yaml @@ -0,0 +1,68 @@ +compound_components: + version: 0.3 + classes: + - name: smartbuffer_SRAM + attributes: + technology: 45nm + memory_depth: 12 + memory_width: 16 + n_rdwr_ports: 2 + n_banks: 1 + n_buffets: 1 + subcomponents: + - name: storage + class: SRAM + attributes: + technology: technology + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + n_banks: n_banks + - name: address_generators[0..1] + class: intadder + attributes: + technology: technology + width: log(memory_depth) + actions: + - name: write + arguments: + data_delta: 0..1 + address_delta: 0..n_banks + subcomponents: + - name: storage + actions: + - name: write + arguments: + data_delta: data_delta + address_delta: address_delta + - name: address_generators[0] + actions: + - name: count + - name: address_generators[1] + actions: + - name: idle + - name: read + arguments: + data_delta: 0..1 + address_delta: 0..n_banks + subcomponents: + - name: storage + actions: + - name: read + arguments: + data_delta: data_delta + address_delta: address_delta + - name: address_generators[1] + actions: + - name: add + - name: address_generators[0] + actions: + - name: idle + - name: idle + subcomponents: + - name: storage + actions: + - name: idle + - name: address_generators[0..1] + actions: + - name: idle diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/.gitkeep b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/.gitkeep new file mode 100644 index 00000000..8d1c8b69 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/.gitkeep @@ -0,0 +1 @@ + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/ART.yaml new file mode 100644 index 00000000..3f92667c --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/ART.yaml @@ -0,0 +1,9 @@ +ART: + version: '0.4' + tables: + - name: simple_compound.PE[0..4].MAC + area: 1433.0475 + - name: simple_compound.PE[0..4].buffer + area: 393.734477 + - name: simple_compound.GLB + area: 39527.545841 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/ART_summary.yaml new file mode 100644 index 00000000..0dcfb4b3 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/ART_summary.yaml @@ -0,0 +1,24 @@ +ART_summary: + version: '0.4' + table_summary: + - name: simple_compound.PE[0..4].MAC + area: 1433.0475 + primitive_estimations: + - name: mac + estimator: Aladdin_table + - name: output_fifo + estimator: Aladdin_table + - name: simple_compound.PE[0..4].buffer + area: 393.734477 + primitive_estimations: + - name: storage + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: simple_compound.GLB + area: 39527.545841 + primitive_estimations: + - name: storage + estimator: CACTI + - name: address_generators[0..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/ERT.yaml new file mode 100644 index 00000000..47fd1229 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/ERT.yaml @@ -0,0 +1,167 @@ +ERT: + version: '0.4' + tables: + - name: simple_compound.PE[0..4].MAC + actions: + - name: mac_random + arguments: {} + energy: 3.0 + - name: mac_reused + arguments: {} + energy: 3.0 + - name: mac_gated + arguments: {} + energy: 2.0 + - name: idle + arguments: {} + energy: 2.0 + - name: simple_compound.PE[0..4].buffer + actions: + - name: write + arguments: + data_delta: 0 + address_delta: 0 + energy: 3.0 + - name: write + arguments: + data_delta: 1 + address_delta: 0 + energy: 3.0 + - name: write + arguments: + data_delta: 0 + address_delta: 1 + energy: 3.0 + - name: write + arguments: + data_delta: 1 + address_delta: 1 + energy: 3.0 + - name: read + arguments: + data_delta: 0 + address_delta: 0 + energy: 3.0 + - name: read + arguments: + data_delta: 1 + address_delta: 0 + energy: 3.0 + - name: read + arguments: + data_delta: 0 + address_delta: 1 + energy: 3.0 + - name: read + arguments: + data_delta: 1 + address_delta: 1 + energy: 3.0 + - name: idle + arguments: {} + energy: 3.0 + - name: simple_compound.GLB + actions: + - name: write + arguments: + data_delta: 0 + address_delta: 0 + energy: 2.0 + - name: write + arguments: + data_delta: 1 + address_delta: 0 + energy: 6.728626 + - name: write + arguments: + data_delta: 0 + address_delta: 1 + energy: 2.506639 + - name: write + arguments: + data_delta: 1 + address_delta: 1 + energy: 7.235264 + - name: write + arguments: + data_delta: 0 + address_delta: 2 + energy: 3.013277 + - name: write + arguments: + data_delta: 1 + address_delta: 2 + energy: 7.741903 + - name: write + arguments: + data_delta: 0 + address_delta: 3 + energy: 3.519915 + - name: write + arguments: + data_delta: 1 + address_delta: 3 + energy: 8.248541 + - name: write + arguments: + data_delta: 0 + address_delta: 4 + energy: 4.026554 + - name: write + arguments: + data_delta: 1 + address_delta: 4 + energy: 8.75518 + - name: read + arguments: + data_delta: 0 + address_delta: 0 + energy: 2.0 + - name: read + arguments: + data_delta: 1 + address_delta: 0 + energy: 6.052727 + - name: read + arguments: + data_delta: 0 + address_delta: 1 + energy: 2.434221 + - name: read + arguments: + data_delta: 1 + address_delta: 1 + energy: 6.486948 + - name: read + arguments: + data_delta: 0 + address_delta: 2 + energy: 2.868441 + - name: read + arguments: + data_delta: 1 + address_delta: 2 + energy: 6.921168 + - name: read + arguments: + data_delta: 0 + address_delta: 3 + energy: 3.302662 + - name: read + arguments: + data_delta: 1 + address_delta: 3 + energy: 7.355389 + - name: read + arguments: + data_delta: 0 + address_delta: 4 + energy: 3.736883 + - name: read + arguments: + data_delta: 1 + address_delta: 4 + energy: 7.78961 + - name: idle + arguments: {} + energy: 2.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/ERT_summary.yaml new file mode 100644 index 00000000..eae9458c --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/ERT_summary.yaml @@ -0,0 +1,60 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: simple_compound.PE[0..4].MAC + actions: + - name: mac_random + energy: 3.0 + - name: mac_reused + energy: 3.0 + - name: mac_gated + energy: 2.0 + - name: idle + energy: 2.0 + primitive_estimation(s): + - name: mac + estimator: dummy_table + - name: output_fifo + estimator: dummy_table + - name: simple_compound.PE[0..4].buffer + actions: + - name: write + average_energy: 3.0 + max_energy: 3.0 + min_energy: 3.0 + - name: read + average_energy: 3.0 + max_energy: 3.0 + min_energy: 3.0 + - name: idle + energy: 3.0 + primitive_estimation(s): + - name: storage + estimator: dummy_table + - name: address_generators[0] + estimator: dummy_table + - name: address_generators[1] + estimator: dummy_table + - name: address_generators[0..1] + estimator: dummy_table + - name: simple_compound.GLB + actions: + - name: write + average_energy: 5.37759 + max_energy: 8.75518 + min_energy: 2.0 + - name: read + average_energy: 4.894805 + max_energy: 7.78961 + min_energy: 2.0 + - name: idle + energy: 2.0 + primitive_estimation(s): + - name: storage + estimator: CACTI + - name: address_generators[0] + estimator: dummy_table + - name: address_generators[1] + estimator: dummy_table + - name: address_generators[0..1] + estimator: dummy_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/energy_estimation.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/energy_estimation.yaml new file mode 100644 index 00000000..19096ad5 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/energy_estimation.yaml @@ -0,0 +1,14 @@ +energy_estimation: + version: '0.4' + components: + - name: simple_compound.GLB + energy: 202.09159999999997 + - name: simple_compound.PE[0].buffer + energy: 210.0 + - name: simple_compound.PE[0].MAC + energy: 120.0 + - name: simple_compound.PE[1].buffer + energy: 210.0 + - name: simple_compound.PE[1].MAC + energy: 120.0 + Total: 862.0916 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/flattened_architecture.yaml new file mode 100644 index 00000000..0d669262 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/output/flattened_architecture.yaml @@ -0,0 +1,38 @@ +architecture: + version: '0.4' + local: + - name: simple_compound.PE[0..4].MAC + class: mac_fifo + attributes: + num_pipeline_stages: 1 + technology: 45nm + voltage: 1V + latency: 5ns + global_cycle_seconds: 5e-09 + datawidth: 16 + fifo_depth: 2 + - name: simple_compound.PE[0..4].buffer + class: smartbuffer_RF + attributes: + memory_width: 16 + memory_depth: 24 + technology: 45nm + voltage: 1V + latency: 5ns + global_cycle_seconds: 5e-09 + datawidth: 16 + n_rdwr_ports: 2 + n_banks: 1 + n_buffets: 1 + - name: simple_compound.GLB + class: smartbuffer_SRAM + attributes: + memory_depth: 1024 + memory_width: 32 + n_banks: 4 + technology: 45nm + voltage: 1V + latency: 5ns + global_cycle_seconds: 5e-09 + n_rdwr_ports: 2 + n_buffets: 1 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/ART.yaml new file mode 100644 index 00000000..206c9e09 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/ART.yaml @@ -0,0 +1,9 @@ +ART: + version: 0.3 + tables: + - name: simple_compound.PE[0..4].MAC + area: 1433.048 + - name: simple_compound.PE[0..4].buffer + area: 537.18 + - name: simple_compound.GLB + area: 39629.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/ART_summary.yaml new file mode 100644 index 00000000..584db9d2 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/ART_summary.yaml @@ -0,0 +1,24 @@ +ART_summary: + version: 0.3 + table_summary: + - name: simple_compound.PE[0..4].MAC + area: 1433.048 + primitive_estimations: + - name: mac + estimator: Aladdin_table + - name: output_fifo + estimator: Aladdin_table + - name: simple_compound.PE[0..4].buffer + area: 537.18 + primitive_estimations: + - name: storage + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: simple_compound.GLB + area: 39629.0 + primitive_estimations: + - name: storage + estimator: Cacti + - name: address_generators[0..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/ERT.yaml new file mode 100644 index 00000000..8e4fc11d --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/ERT.yaml @@ -0,0 +1,167 @@ +ERT: + version: 0.3 + tables: + - name: simple_compound.PE[0..4].MAC + actions: + - name: mac_random + arguments: null + energy: 2.778 + - name: mac_reused + arguments: null + energy: 2.455 + - name: mac_gated + arguments: null + energy: 0.115 + - name: idle + arguments: null + energy: 0.078 + - name: simple_compound.PE[0..4].buffer + actions: + - name: write + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.055 + - name: write + arguments: + address_delta: 0 + data_delta: 1 + energy: 0.193 + - name: write + arguments: + address_delta: 1 + data_delta: 0 + energy: 0.164 + - name: write + arguments: + address_delta: 1 + data_delta: 1 + energy: 0.302 + - name: read + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.055 + - name: read + arguments: + address_delta: 0 + data_delta: 1 + energy: 0.193 + - name: read + arguments: + address_delta: 1 + data_delta: 0 + energy: 0.164 + - name: read + arguments: + address_delta: 1 + data_delta: 1 + energy: 0.302 + - name: idle + arguments: null + energy: 0.018 + - name: simple_compound.GLB + actions: + - name: write + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.049 + - name: write + arguments: + address_delta: 0 + data_delta: 1 + energy: 4.778 + - name: write + arguments: + address_delta: 1 + data_delta: 0 + energy: 0.556 + - name: write + arguments: + address_delta: 1 + data_delta: 1 + energy: 5.284 + - name: write + arguments: + address_delta: 2 + data_delta: 0 + energy: 1.062 + - name: write + arguments: + address_delta: 2 + data_delta: 1 + energy: 5.791 + - name: write + arguments: + address_delta: 3 + data_delta: 0 + energy: 1.569 + - name: write + arguments: + address_delta: 3 + data_delta: 1 + energy: 6.298 + - name: write + arguments: + address_delta: 4 + data_delta: 0 + energy: 2.076 + - name: write + arguments: + address_delta: 4 + data_delta: 1 + energy: 6.804 + - name: read + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.049 + - name: read + arguments: + address_delta: 0 + data_delta: 1 + energy: 4.102 + - name: read + arguments: + address_delta: 1 + data_delta: 0 + energy: 0.483 + - name: read + arguments: + address_delta: 1 + data_delta: 1 + energy: 4.536 + - name: read + arguments: + address_delta: 2 + data_delta: 0 + energy: 0.918 + - name: read + arguments: + address_delta: 2 + data_delta: 1 + energy: 4.97 + - name: read + arguments: + address_delta: 3 + data_delta: 0 + energy: 1.352 + - name: read + arguments: + address_delta: 3 + data_delta: 1 + energy: 5.404 + - name: read + arguments: + address_delta: 4 + data_delta: 0 + energy: 1.786 + - name: read + arguments: + address_delta: 4 + data_delta: 1 + energy: 5.839 + - name: idle + arguments: null + energy: 0.012 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/ERT_summary.yaml new file mode 100644 index 00000000..b17cbf70 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/ERT_summary.yaml @@ -0,0 +1,60 @@ +ERT_summary: + version: 0.3 + table_summary: + - name: simple_compound.PE[0..4].MAC + actions: + - name: mac_random + energy: 2.778 + - name: mac_reused + energy: 2.455 + - name: mac_gated + energy: 0.115 + - name: idle + energy: 0.078 + primitive_estimation(s): + - name: mac + estimator: Aladdin_table + - name: output_fifo + estimator: Aladdin_table + - name: simple_compound.PE[0..4].buffer + actions: + - name: write + average_energy: 0.178 + max_energy: 0.302 + min_energy: 0.055 + - name: read + average_energy: 0.178 + max_energy: 0.302 + min_energy: 0.055 + - name: idle + energy: 0.018 + primitive_estimation(s): + - name: storage + estimator: Aladdin_table + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: simple_compound.GLB + actions: + - name: write + average_energy: 3.427 + max_energy: 6.804 + min_energy: 0.049 + - name: read + average_energy: 2.944 + max_energy: 5.839 + min_energy: 0.049 + - name: idle + energy: 0.012 + primitive_estimation(s): + - name: storage + estimator: Cacti + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/energy_estimation.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/energy_estimation.yaml new file mode 100644 index 00000000..334ee525 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/energy_estimation.yaml @@ -0,0 +1,14 @@ +energy_estimation: + version: 0.3 + components: + - name: simple_compound.GLB + energy: 143.56 + - name: simple_compound.PE[0].buffer + energy: 14.240000000000002 + - name: simple_compound.PE[0].MAC + energy: 85.065 + - name: simple_compound.PE[1].buffer + energy: 15.620000000000001 + - name: simple_compound.PE[1].MAC + energy: 85.065 + Total: 343.55 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/flattened_architecture.yaml new file mode 100644 index 00000000..85ee964a --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/03_compound_architecture/ref-output/flattened_architecture.yaml @@ -0,0 +1,35 @@ +architecture: + version: 0.3 + local: + - name: simple_compound.PE[0..4].MAC + class: mac_fifo + attributes: + datawidth: 16 + fifo_depth: 2 + latency: 5ns + num_pipeline_stages: 1 + technology: 45nm + voltage: 1V + - name: simple_compound.PE[0..4].buffer + class: smartbuffer_RF + attributes: + datawidth: 16 + latency: 5ns + memory_depth: 24 + memory_width: 16 + n_banks: 1 + n_buffets: 1 + n_rdwr_ports: 2 + technology: 45nm + voltage: 1V + - name: simple_compound.GLB + class: smartbuffer_SRAM + attributes: + latency: 5ns + memory_depth: 1024 + memory_width: 32 + n_banks: 4 + n_buffets: 1 + n_rdwr_ports: 2 + technology: 45nm + voltage: 1V diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/README.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/README.md new file mode 100644 index 00000000..530995a6 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/README.md @@ -0,0 +1,49 @@ +Exercise 4 +========== + +## Overview + +This exercise runs a energy estimation on an eyeriss-like architecture +that is described with user-defined compound components. +## Steps + +To run the exercise, we need to provide 3 inputs to the Accelergy: +- An architecture description. +- A compound component description. +- An action counts. + + +We have provided the `.yaml` files in the input folder. To run this exercise, type: + +``` + accelergy input/ -o output/ +``` + +This generates the following output in folder `output/` +- The received input files and the important evaluation progress are reported on `stdout`. +- The energy reference tables (ERTs) (pJ/action) for the components in the architecture `ERT.yaml`. +- The energy reference table summary for the components in the architecture `ERT_summary.yaml`. +- The area reference tables (ERTs) (umm^2/component) for the components in the architecture `ART.yaml`(note that the DRAM area is a place holder as it is not on-chip). +- The area reference table summary for the components in the architecture `ART_summary.yaml`. +- The flattened architecture that describes the class and attributes of the components in +the architecture is saved to `flattened_architectue.yaml`. +- The estimation (pJ) for the primitive components in the design are saved in `energy_stimation.yaml`. + + +## Observations + +- Note that the `input/architecture.yaml` is much more complicated than the previous examples. The architecture contains three main parts, 2 global buffers, 4 NoCs for different data types, and the 168 PEs, each contain 3 local buffers and a MAC unit. +- The compound components can be specified separately to avoid long and tedious compound component descriptions. Examine the files, what is the relationship between different compound components? Are they dependent or independent? +- What will the architecture description look like if we use primitive components to describe the architecture? +- Examine the `input/action_counts.yaml`, which action is specific to zero-gating? Can you tell which PE processes the most sparse data? +- What will the action_counts look like if we use record the runtime activity of each ptimitive component in the design? +- Examine the `output/estimation.yaml`, do you see the PE processing the most sparse data have the least energy consumption? Can you tell which components are most relevent to the zero-gating optimization? + + +## Takeaways +- We can define our own compound components and use them to define the architecture. +- Modeling the design using compound components + - Reduces the architecture description and action counts complexity + - Makes architecture redesigns much faster as no new action counts need to be + generated. +- Design-specific optimizations can be very well reflected using the fine-grained action types. diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/input/action_counts.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/input/action_counts.yaml new file mode 100644 index 00000000..e417dd9c --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/input/action_counts.yaml @@ -0,0 +1,13822 @@ +action_counts: + local: + - action_counts: + - counts: 31306 + name: idle + - arguments: + address_delta: 2 + data_delta: 1 + counts: 1152 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 1150 + name: read + - arguments: + address_delta: 2 + data_delta: 1 + counts: 2 + name: read + name: eyeriss_like.weights_glb + - action_counts: + - counts: 37 + name: idle + - arguments: + address_delta: 2 + data_delta: 1 + counts: 1259 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 10820 + name: read + - arguments: + address_delta: 22 + data_delta: 1 + counts: 10809 + name: write + - arguments: + address_delta: 2 + data_delta: 0 + counts: 541 + name: write + - arguments: + address_delta: 2 + data_delta: 1 + counts: 1796 + name: read + - arguments: + address_delta: 22 + data_delta: 1 + counts: 10816 + name: write + - arguments: + address_delta: 22 + data_delta: 0 + counts: 7 + name: write + - arguments: + address_delta: 22 + data_delta: 1 + counts: 10816 + name: read + name: eyeriss_like.shared_glb + - action_counts: + - counts: 31308 + name: idle + - arguments: + n_cols_per_row: 13 + n_rows: 1 + counts: 1152 + name: transfer_random + name: eyeriss_like.weights_NoC + - action_counts: + - counts: 25260 + name: idle + - arguments: + n_cols_per_row: 4 + n_rows: 1 + counts: 240 + name: transfer_random + - arguments: + n_cols_per_row: 4 + n_rows: 1 + counts: 720 + name: transfer_repeated + - arguments: + n_cols_per_row: 8 + n_rows: 1 + counts: 624 + name: transfer_random + - arguments: + n_cols_per_row: 8 + n_rows: 1 + counts: 336 + name: transfer_repeated + - arguments: + n_cols_per_row: 12 + n_rows: 1 + counts: 3355 + name: transfer_random + - arguments: + n_cols_per_row: 12 + n_rows: 1 + counts: 1925 + name: transfer_repeated + name: eyeriss_like.ifmap_NoC + - action_counts: + - counts: 10828 + name: idle + - arguments: + n_cols_per_row: 1 + n_rows: 1 + counts: 21632 + name: transfer_random + name: eyeriss_like.psum_write_NoC + - action_counts: + - counts: 10828 + name: idle + - arguments: + n_cols_per_row: 1 + n_rows: 1 + counts: 21632 + name: transfer_random + name: eyeriss_like.psum_read_NoC + - action_counts: + - counts: 30923 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1156 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 380 + name: read + name: eyeriss_like.PE[0].weights_spad + - action_counts: + - counts: 12489 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 479 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[0].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1663 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 16640 + name: write + name: eyeriss_like.PE[0].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 19968 + name: mac_gated + name: eyeriss_like.PE[0].mac + - action_counts: + - counts: 24038 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8060 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 356 + name: read + name: eyeriss_like.PE[1].weights_spad + - action_counts: + - counts: 12490 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18729 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1239 + name: read + name: eyeriss_like.PE[1].ifmap_spad + - action_counts: + - counts: 12832 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 813 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 851 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1822 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14818 + name: write + name: eyeriss_like.PE[1].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12592 + name: mac_gated + - counts: 461 + name: mac_random + - counts: 6915 + name: mac_reused + name: eyeriss_like.PE[1].mac + - action_counts: + - counts: 25597 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6536 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + name: eyeriss_like.PE[2].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 220 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 260 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[2].ifmap_spad + - action_counts: + - counts: 12843 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 766 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 898 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4450 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12190 + name: write + name: eyeriss_like.PE[2].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 14208 + name: mac_gated + - counts: 360 + name: mac_random + - counts: 5400 + name: mac_reused + name: eyeriss_like.PE[2].mac + - action_counts: + - counts: 24961 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7220 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 252 + name: read + name: eyeriss_like.PE[3].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 237 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 243 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[3].ifmap_spad + - action_counts: + - counts: 12857 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 745 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 919 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3118 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13522 + name: write + name: eyeriss_like.PE[3].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13488 + name: mac_gated + - counts: 405 + name: mac_random + - counts: 6075 + name: mac_reused + name: eyeriss_like.PE[3].mac + - action_counts: + - counts: 23289 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8924 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 212 + name: read + name: eyeriss_like.PE[4].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 280 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 200 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[4].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 956 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 708 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2389 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14251 + name: write + name: eyeriss_like.PE[4].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11904 + name: mac_gated + - counts: 504 + name: mac_random + - counts: 7560 + name: mac_reused + name: eyeriss_like.PE[4].mac + - action_counts: + - counts: 23365 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8864 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[5].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[5].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 887 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 777 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2587 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14053 + name: write + name: eyeriss_like.PE[5].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12032 + name: mac_gated + - counts: 496 + name: mac_random + - counts: 7440 + name: mac_reused + name: eyeriss_like.PE[5].mac + - action_counts: + - counts: 23137 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9088 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[6].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 282 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 198 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[6].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 947 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 717 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2624 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14016 + name: write + name: eyeriss_like.PE[6].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11808 + name: mac_gated + - counts: 510 + name: mac_random + - counts: 7650 + name: mac_reused + name: eyeriss_like.PE[6].mac + - action_counts: + - counts: 23565 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8656 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[7].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 268 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 212 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[7].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 870 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 794 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2752 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13888 + name: write + name: eyeriss_like.PE[7].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12304 + name: mac_gated + - counts: 479 + name: mac_random + - counts: 7185 + name: mac_reused + name: eyeriss_like.PE[7].mac + - action_counts: + - counts: 22953 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9264 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[8].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 281 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 199 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[8].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 996 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 668 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2464 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14176 + name: write + name: eyeriss_like.PE[8].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11648 + name: mac_gated + - counts: 520 + name: mac_random + - counts: 7800 + name: mac_reused + name: eyeriss_like.PE[8].mac + - action_counts: + - counts: 22613 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9600 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[9].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 277 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 203 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[9].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 987 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 677 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2655 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13985 + name: write + name: eyeriss_like.PE[9].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11328 + name: mac_gated + - counts: 540 + name: mac_random + - counts: 8100 + name: mac_reused + name: eyeriss_like.PE[9].mac + - action_counts: + - counts: 23393 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8816 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[10].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 269 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 211 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[10].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 875 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 789 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2731 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13909 + name: write + name: eyeriss_like.PE[10].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12096 + name: mac_gated + - counts: 492 + name: mac_random + - counts: 7380 + name: mac_reused + name: eyeriss_like.PE[10].mac + - action_counts: + - counts: 24541 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7664 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[11].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 234 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 246 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[11].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 832 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 832 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4043 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12597 + name: write + name: eyeriss_like.PE[11].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13184 + name: mac_gated + - counts: 424 + name: mac_random + - counts: 6360 + name: mac_reused + name: eyeriss_like.PE[11].mac + - action_counts: + - counts: 25081 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7120 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[12].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 226 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 254 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[12].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 753 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 911 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3847 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12793 + name: write + name: eyeriss_like.PE[12].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13792 + name: mac_gated + - counts: 386 + name: mac_random + - counts: 5790 + name: mac_reused + name: eyeriss_like.PE[12].mac + - action_counts: + - counts: 24044 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8032 + name: read + name: eyeriss_like.PE[14].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[14].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 812 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 852 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1733 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14907 + name: write + name: eyeriss_like.PE[14].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12592 + name: mac_gated + - counts: 461 + name: mac_random + - counts: 6915 + name: mac_reused + name: eyeriss_like.PE[14].mac + - action_counts: + - counts: 25612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6464 + name: read + name: eyeriss_like.PE[15].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 220 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 260 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[15].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 766 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 898 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4382 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12258 + name: write + name: eyeriss_like.PE[15].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 14208 + name: mac_gated + - counts: 360 + name: mac_random + - counts: 5400 + name: mac_reused + name: eyeriss_like.PE[15].mac + - action_counts: + - counts: 24988 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7088 + name: read + name: eyeriss_like.PE[16].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 237 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 243 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[16].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 754 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 910 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3089 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13551 + name: write + name: eyeriss_like.PE[16].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13488 + name: mac_gated + - counts: 405 + name: mac_random + - counts: 6075 + name: mac_reused + name: eyeriss_like.PE[16].mac + - action_counts: + - counts: 23324 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8752 + name: read + name: eyeriss_like.PE[17].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 280 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 200 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[17].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 967 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 697 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2380 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14260 + name: write + name: eyeriss_like.PE[17].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11904 + name: mac_gated + - counts: 504 + name: mac_random + - counts: 7560 + name: mac_reused + name: eyeriss_like.PE[17].mac + - action_counts: + - counts: 23404 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8672 + name: read + name: eyeriss_like.PE[18].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[18].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 890 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 774 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2558 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14082 + name: write + name: eyeriss_like.PE[18].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12032 + name: mac_gated + - counts: 496 + name: mac_random + - counts: 7440 + name: mac_reused + name: eyeriss_like.PE[18].mac + - action_counts: + - counts: 23180 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8896 + name: read + name: eyeriss_like.PE[19].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 282 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 198 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[19].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 951 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 713 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2634 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14006 + name: write + name: eyeriss_like.PE[19].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11808 + name: mac_gated + - counts: 510 + name: mac_random + - counts: 7650 + name: mac_reused + name: eyeriss_like.PE[19].mac + - action_counts: + - counts: 23612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8464 + name: read + name: eyeriss_like.PE[20].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 268 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 212 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[20].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 874 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 790 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2759 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13881 + name: write + name: eyeriss_like.PE[20].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12304 + name: mac_gated + - counts: 479 + name: mac_random + - counts: 7185 + name: mac_reused + name: eyeriss_like.PE[20].mac + - action_counts: + - counts: 23004 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9072 + name: read + name: eyeriss_like.PE[21].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 281 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 199 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[21].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1000 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 664 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2447 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14193 + name: write + name: eyeriss_like.PE[21].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11648 + name: mac_gated + - counts: 520 + name: mac_random + - counts: 7800 + name: mac_reused + name: eyeriss_like.PE[21].mac + - action_counts: + - counts: 22668 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9408 + name: read + name: eyeriss_like.PE[22].weights_spad + - action_counts: + - counts: 12485 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 277 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 203 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[22].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 993 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 671 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2638 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14002 + name: write + name: eyeriss_like.PE[22].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11328 + name: mac_gated + - counts: 540 + name: mac_random + - counts: 8100 + name: mac_reused + name: eyeriss_like.PE[22].mac + - action_counts: + - counts: 23452 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8624 + name: read + name: eyeriss_like.PE[23].weights_spad + - action_counts: + - counts: 12485 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 269 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 211 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[23].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 882 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 782 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2750 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13890 + name: write + name: eyeriss_like.PE[23].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12096 + name: mac_gated + - counts: 492 + name: mac_random + - counts: 7380 + name: mac_reused + name: eyeriss_like.PE[23].mac + - action_counts: + - counts: 24604 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7472 + name: read + name: eyeriss_like.PE[24].weights_spad + - action_counts: + - counts: 12485 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 234 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 246 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[24].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 843 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 821 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4019 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12621 + name: write + name: eyeriss_like.PE[24].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13184 + name: mac_gated + - counts: 424 + name: mac_random + - counts: 6360 + name: mac_reused + name: eyeriss_like.PE[24].mac + - action_counts: + - counts: 25148 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6928 + name: read + name: eyeriss_like.PE[25].weights_spad + - action_counts: + - counts: 12485 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 226 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 254 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[25].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 755 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 909 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3873 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12767 + name: write + name: eyeriss_like.PE[25].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13792 + name: mac_gated + - counts: 386 + name: mac_random + - counts: 5790 + name: mac_reused + name: eyeriss_like.PE[25].mac + - action_counts: + - counts: 23692 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8384 + name: read + name: eyeriss_like.PE[26].weights_spad + - action_counts: + - counts: 12485 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 276 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 204 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[26].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 890 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 774 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2855 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13785 + name: write + name: eyeriss_like.PE[26].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12176 + name: mac_gated + - counts: 487 + name: mac_random + - counts: 7305 + name: mac_reused + name: eyeriss_like.PE[26].mac + - action_counts: + - counts: 25612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6464 + name: read + name: eyeriss_like.PE[28].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 220 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 260 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[28].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 741 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 923 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4421 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12219 + name: write + name: eyeriss_like.PE[28].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 14208 + name: mac_gated + - counts: 360 + name: mac_random + - counts: 5400 + name: mac_reused + name: eyeriss_like.PE[28].mac + - action_counts: + - counts: 24988 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7088 + name: read + name: eyeriss_like.PE[29].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 237 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 243 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[29].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 732 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 932 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3110 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13530 + name: write + name: eyeriss_like.PE[29].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13488 + name: mac_gated + - counts: 405 + name: mac_random + - counts: 6075 + name: mac_reused + name: eyeriss_like.PE[29].mac + - action_counts: + - counts: 23324 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8752 + name: read + name: eyeriss_like.PE[30].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 280 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 200 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[30].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 931 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 733 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2399 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14241 + name: write + name: eyeriss_like.PE[30].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11904 + name: mac_gated + - counts: 504 + name: mac_random + - counts: 7560 + name: mac_reused + name: eyeriss_like.PE[30].mac + - action_counts: + - counts: 23404 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8672 + name: read + name: eyeriss_like.PE[31].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[31].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 867 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 797 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2572 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14068 + name: write + name: eyeriss_like.PE[31].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12032 + name: mac_gated + - counts: 496 + name: mac_random + - counts: 7440 + name: mac_reused + name: eyeriss_like.PE[31].mac + - action_counts: + - counts: 23180 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8896 + name: read + name: eyeriss_like.PE[32].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 282 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 198 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[32].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 917 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 747 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2617 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14023 + name: write + name: eyeriss_like.PE[32].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11808 + name: mac_gated + - counts: 510 + name: mac_random + - counts: 7650 + name: mac_reused + name: eyeriss_like.PE[32].mac + - action_counts: + - counts: 23612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8464 + name: read + name: eyeriss_like.PE[33].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 268 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 212 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[33].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 850 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 814 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2768 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13872 + name: write + name: eyeriss_like.PE[33].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12304 + name: mac_gated + - counts: 479 + name: mac_random + - counts: 7185 + name: mac_reused + name: eyeriss_like.PE[33].mac + - action_counts: + - counts: 23004 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9072 + name: read + name: eyeriss_like.PE[34].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 281 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 199 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[34].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 964 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 700 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2428 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14212 + name: write + name: eyeriss_like.PE[34].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11648 + name: mac_gated + - counts: 520 + name: mac_random + - counts: 7800 + name: mac_reused + name: eyeriss_like.PE[34].mac + - action_counts: + - counts: 22668 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9408 + name: read + name: eyeriss_like.PE[35].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 277 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 203 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[35].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 958 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 706 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2635 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14005 + name: write + name: eyeriss_like.PE[35].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11328 + name: mac_gated + - counts: 540 + name: mac_random + - counts: 8100 + name: mac_reused + name: eyeriss_like.PE[35].mac + - action_counts: + - counts: 23452 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8624 + name: read + name: eyeriss_like.PE[36].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 269 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 211 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[36].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 851 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 813 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2815 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13825 + name: write + name: eyeriss_like.PE[36].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12096 + name: mac_gated + - counts: 492 + name: mac_random + - counts: 7380 + name: mac_reused + name: eyeriss_like.PE[36].mac + - action_counts: + - counts: 24604 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7472 + name: read + name: eyeriss_like.PE[37].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 234 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 246 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[37].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 814 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 850 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4024 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12616 + name: write + name: eyeriss_like.PE[37].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13184 + name: mac_gated + - counts: 424 + name: mac_random + - counts: 6360 + name: mac_reused + name: eyeriss_like.PE[37].mac + - action_counts: + - counts: 25148 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6928 + name: read + name: eyeriss_like.PE[38].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 226 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 254 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[38].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 743 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 921 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3784 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12856 + name: write + name: eyeriss_like.PE[38].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13792 + name: mac_gated + - counts: 386 + name: mac_random + - counts: 5790 + name: mac_reused + name: eyeriss_like.PE[38].mac + - action_counts: + - counts: 23692 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8384 + name: read + name: eyeriss_like.PE[39].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 276 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 204 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[39].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 860 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 804 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2854 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13786 + name: write + name: eyeriss_like.PE[39].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12176 + name: mac_gated + - counts: 487 + name: mac_random + - counts: 7305 + name: mac_reused + name: eyeriss_like.PE[39].mac + - action_counts: + - counts: 30924 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1152 + name: read + name: eyeriss_like.PE[40].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 479 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[40].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1663 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 16640 + name: write + name: eyeriss_like.PE[40].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 19968 + name: mac_gated + name: eyeriss_like.PE[40].mac + - action_counts: + - counts: 30924 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1152 + name: read + name: eyeriss_like.PE[42].weights_spad + - action_counts: + - counts: 12488 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 479 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[42].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1663 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 16640 + name: write + name: eyeriss_like.PE[42].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 19968 + name: mac_gated + name: eyeriss_like.PE[42].mac + - action_counts: + - counts: 24042 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8040 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 376 + name: read + name: eyeriss_like.PE[43].weights_spad + - action_counts: + - counts: 12489 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[43].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 775 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 889 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1781 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14859 + name: write + name: eyeriss_like.PE[43].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12592 + name: mac_gated + - counts: 461 + name: mac_random + - counts: 6915 + name: mac_reused + name: eyeriss_like.PE[43].mac + - action_counts: + - counts: 25604 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6500 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 348 + name: read + name: eyeriss_like.PE[44].weights_spad + - action_counts: + - counts: 12490 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 220 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18729 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 260 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1239 + name: read + name: eyeriss_like.PE[44].ifmap_spad + - action_counts: + - counts: 12834 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 728 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 936 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4374 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12266 + name: write + name: eyeriss_like.PE[44].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 14208 + name: mac_gated + - counts: 360 + name: mac_random + - counts: 5400 + name: mac_reused + name: eyeriss_like.PE[44].mac + - action_counts: + - counts: 24970 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7172 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 300 + name: read + name: eyeriss_like.PE[45].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 237 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 243 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[45].ifmap_spad + - action_counts: + - counts: 12846 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 720 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 944 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3101 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13539 + name: write + name: eyeriss_like.PE[45].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13488 + name: mac_gated + - counts: 405 + name: mac_random + - counts: 6075 + name: mac_reused + name: eyeriss_like.PE[45].mac + - action_counts: + - counts: 23295 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8892 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 244 + name: read + name: eyeriss_like.PE[46].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 280 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 200 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[46].ifmap_spad + - action_counts: + - counts: 12859 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 926 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 738 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2368 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14272 + name: write + name: eyeriss_like.PE[46].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11904 + name: mac_gated + - counts: 504 + name: mac_random + - counts: 7560 + name: mac_reused + name: eyeriss_like.PE[46].mac + - action_counts: + - counts: 23368 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8848 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 208 + name: read + name: eyeriss_like.PE[47].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[47].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 864 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 800 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2536 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14104 + name: write + name: eyeriss_like.PE[47].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12032 + name: mac_gated + - counts: 496 + name: mac_random + - counts: 7440 + name: mac_reused + name: eyeriss_like.PE[47].mac + - action_counts: + - counts: 23140 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9088 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[48].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 282 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 198 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[48].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 913 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 751 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2660 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13980 + name: write + name: eyeriss_like.PE[48].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11808 + name: mac_gated + - counts: 510 + name: mac_random + - counts: 7650 + name: mac_reused + name: eyeriss_like.PE[48].mac + - action_counts: + - counts: 23568 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8656 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[49].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 268 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 212 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[49].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 835 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 829 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2781 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13859 + name: write + name: eyeriss_like.PE[49].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12304 + name: mac_gated + - counts: 479 + name: mac_random + - counts: 7185 + name: mac_reused + name: eyeriss_like.PE[49].mac + - action_counts: + - counts: 22956 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9264 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[50].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 281 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 199 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[50].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 953 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 711 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2453 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14187 + name: write + name: eyeriss_like.PE[50].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11648 + name: mac_gated + - counts: 520 + name: mac_random + - counts: 7800 + name: mac_reused + name: eyeriss_like.PE[50].mac + - action_counts: + - counts: 22616 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9600 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[51].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 277 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 203 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[51].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 953 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 711 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2692 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13948 + name: write + name: eyeriss_like.PE[51].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11328 + name: mac_gated + - counts: 540 + name: mac_random + - counts: 8100 + name: mac_reused + name: eyeriss_like.PE[51].mac + - action_counts: + - counts: 23396 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8816 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[52].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 269 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 211 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[52].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 854 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 810 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2739 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13901 + name: write + name: eyeriss_like.PE[52].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12096 + name: mac_gated + - counts: 492 + name: mac_random + - counts: 7380 + name: mac_reused + name: eyeriss_like.PE[52].mac + - action_counts: + - counts: 24544 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7664 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[53].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 234 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 246 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[53].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 818 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 846 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4016 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12624 + name: write + name: eyeriss_like.PE[53].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13184 + name: mac_gated + - counts: 424 + name: mac_random + - counts: 6360 + name: mac_reused + name: eyeriss_like.PE[53].mac + - action_counts: + - counts: 25084 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7120 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[54].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 226 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 254 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[54].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 735 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 929 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3771 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12869 + name: write + name: eyeriss_like.PE[54].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13792 + name: mac_gated + - counts: 386 + name: mac_random + - counts: 5790 + name: mac_reused + name: eyeriss_like.PE[54].mac + - action_counts: + - counts: 24044 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8032 + name: read + name: eyeriss_like.PE[56].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[56].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 815 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 849 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1656 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14984 + name: write + name: eyeriss_like.PE[56].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12592 + name: mac_gated + - counts: 461 + name: mac_random + - counts: 6915 + name: mac_reused + name: eyeriss_like.PE[56].mac + - action_counts: + - counts: 25612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6464 + name: read + name: eyeriss_like.PE[57].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 220 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 260 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[57].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 773 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 891 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4287 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12353 + name: write + name: eyeriss_like.PE[57].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 14208 + name: mac_gated + - counts: 360 + name: mac_random + - counts: 5400 + name: mac_reused + name: eyeriss_like.PE[57].mac + - action_counts: + - counts: 24988 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7088 + name: read + name: eyeriss_like.PE[58].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 237 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 243 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[58].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 751 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 913 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3076 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13564 + name: write + name: eyeriss_like.PE[58].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13488 + name: mac_gated + - counts: 405 + name: mac_random + - counts: 6075 + name: mac_reused + name: eyeriss_like.PE[58].mac + - action_counts: + - counts: 23324 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8752 + name: read + name: eyeriss_like.PE[59].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 280 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 200 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[59].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 964 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 700 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2282 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14358 + name: write + name: eyeriss_like.PE[59].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11904 + name: mac_gated + - counts: 504 + name: mac_random + - counts: 7560 + name: mac_reused + name: eyeriss_like.PE[59].mac + - action_counts: + - counts: 23404 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8672 + name: read + name: eyeriss_like.PE[60].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[60].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 892 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 772 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2469 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14171 + name: write + name: eyeriss_like.PE[60].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12032 + name: mac_gated + - counts: 496 + name: mac_random + - counts: 7440 + name: mac_reused + name: eyeriss_like.PE[60].mac + - action_counts: + - counts: 23180 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8896 + name: read + name: eyeriss_like.PE[61].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 282 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 198 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[61].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 955 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 709 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2576 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14064 + name: write + name: eyeriss_like.PE[61].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11808 + name: mac_gated + - counts: 510 + name: mac_random + - counts: 7650 + name: mac_reused + name: eyeriss_like.PE[61].mac + - action_counts: + - counts: 23612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8464 + name: read + name: eyeriss_like.PE[62].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 268 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 212 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[62].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 876 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 788 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2704 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13936 + name: write + name: eyeriss_like.PE[62].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12304 + name: mac_gated + - counts: 479 + name: mac_random + - counts: 7185 + name: mac_reused + name: eyeriss_like.PE[62].mac + - action_counts: + - counts: 23004 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9072 + name: read + name: eyeriss_like.PE[63].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 281 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 199 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[63].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 990 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 674 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2418 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14222 + name: write + name: eyeriss_like.PE[63].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11648 + name: mac_gated + - counts: 520 + name: mac_random + - counts: 7800 + name: mac_reused + name: eyeriss_like.PE[63].mac + - action_counts: + - counts: 22668 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9408 + name: read + name: eyeriss_like.PE[64].weights_spad + - action_counts: + - counts: 12483 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 277 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 203 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[64].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 986 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 678 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2639 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14001 + name: write + name: eyeriss_like.PE[64].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11328 + name: mac_gated + - counts: 540 + name: mac_random + - counts: 8100 + name: mac_reused + name: eyeriss_like.PE[64].mac + - action_counts: + - counts: 23452 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8624 + name: read + name: eyeriss_like.PE[65].weights_spad + - action_counts: + - counts: 12485 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 269 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 211 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[65].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 883 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 781 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2737 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13903 + name: write + name: eyeriss_like.PE[65].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12096 + name: mac_gated + - counts: 492 + name: mac_random + - counts: 7380 + name: mac_reused + name: eyeriss_like.PE[65].mac + - action_counts: + - counts: 24604 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7472 + name: read + name: eyeriss_like.PE[66].weights_spad + - action_counts: + - counts: 12485 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 234 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 246 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[66].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 844 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 820 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3953 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12687 + name: write + name: eyeriss_like.PE[66].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13184 + name: mac_gated + - counts: 424 + name: mac_random + - counts: 6360 + name: mac_reused + name: eyeriss_like.PE[66].mac + - action_counts: + - counts: 25148 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6928 + name: read + name: eyeriss_like.PE[67].weights_spad + - action_counts: + - counts: 12485 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 226 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 254 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[67].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 755 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 909 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3761 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12879 + name: write + name: eyeriss_like.PE[67].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13792 + name: mac_gated + - counts: 386 + name: mac_random + - counts: 5790 + name: mac_reused + name: eyeriss_like.PE[67].mac + - action_counts: + - counts: 23692 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 382 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8384 + name: read + name: eyeriss_like.PE[68].weights_spad + - action_counts: + - counts: 12485 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 276 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 204 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[68].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 878 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 786 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2779 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13861 + name: write + name: eyeriss_like.PE[68].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12176 + name: mac_gated + - counts: 487 + name: mac_random + - counts: 7305 + name: mac_reused + name: eyeriss_like.PE[68].mac + - action_counts: + - counts: 25612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6464 + name: read + name: eyeriss_like.PE[70].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 220 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 260 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[70].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 743 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 921 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4356 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12284 + name: write + name: eyeriss_like.PE[70].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 14208 + name: mac_gated + - counts: 360 + name: mac_random + - counts: 5400 + name: mac_reused + name: eyeriss_like.PE[70].mac + - action_counts: + - counts: 24988 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7088 + name: read + name: eyeriss_like.PE[71].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 237 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 243 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[71].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 743 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 921 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3116 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13524 + name: write + name: eyeriss_like.PE[71].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13488 + name: mac_gated + - counts: 405 + name: mac_random + - counts: 6075 + name: mac_reused + name: eyeriss_like.PE[71].mac + - action_counts: + - counts: 23324 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8752 + name: read + name: eyeriss_like.PE[72].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 280 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 200 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[72].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 949 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 715 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2360 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14280 + name: write + name: eyeriss_like.PE[72].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11904 + name: mac_gated + - counts: 504 + name: mac_random + - counts: 7560 + name: mac_reused + name: eyeriss_like.PE[72].mac + - action_counts: + - counts: 23404 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8672 + name: read + name: eyeriss_like.PE[73].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[73].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 880 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 784 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2571 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14069 + name: write + name: eyeriss_like.PE[73].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12032 + name: mac_gated + - counts: 496 + name: mac_random + - counts: 7440 + name: mac_reused + name: eyeriss_like.PE[73].mac + - action_counts: + - counts: 23180 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8896 + name: read + name: eyeriss_like.PE[74].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 282 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 198 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[74].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 939 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 725 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2615 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14025 + name: write + name: eyeriss_like.PE[74].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11808 + name: mac_gated + - counts: 510 + name: mac_random + - counts: 7650 + name: mac_reused + name: eyeriss_like.PE[74].mac + - action_counts: + - counts: 23612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8464 + name: read + name: eyeriss_like.PE[75].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 268 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 212 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[75].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 866 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 798 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2747 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13893 + name: write + name: eyeriss_like.PE[75].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12304 + name: mac_gated + - counts: 479 + name: mac_random + - counts: 7185 + name: mac_reused + name: eyeriss_like.PE[75].mac + - action_counts: + - counts: 23004 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9072 + name: read + name: eyeriss_like.PE[76].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 281 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 199 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[76].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 984 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 680 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2441 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14199 + name: write + name: eyeriss_like.PE[76].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11648 + name: mac_gated + - counts: 520 + name: mac_random + - counts: 7800 + name: mac_reused + name: eyeriss_like.PE[76].mac + - action_counts: + - counts: 22668 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9408 + name: read + name: eyeriss_like.PE[77].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 277 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 203 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[77].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 970 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 694 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2673 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13967 + name: write + name: eyeriss_like.PE[77].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11328 + name: mac_gated + - counts: 540 + name: mac_random + - counts: 8100 + name: mac_reused + name: eyeriss_like.PE[77].mac + - action_counts: + - counts: 23452 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8624 + name: read + name: eyeriss_like.PE[78].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 269 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 211 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[78].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 860 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 804 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2857 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13783 + name: write + name: eyeriss_like.PE[78].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12096 + name: mac_gated + - counts: 492 + name: mac_random + - counts: 7380 + name: mac_reused + name: eyeriss_like.PE[78].mac + - action_counts: + - counts: 24604 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7472 + name: read + name: eyeriss_like.PE[79].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 234 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 246 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[79].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 828 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 836 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4010 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12630 + name: write + name: eyeriss_like.PE[79].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13184 + name: mac_gated + - counts: 424 + name: mac_random + - counts: 6360 + name: mac_reused + name: eyeriss_like.PE[79].mac + - action_counts: + - counts: 25148 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6928 + name: read + name: eyeriss_like.PE[80].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 226 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 254 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[80].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 745 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 919 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3759 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12881 + name: write + name: eyeriss_like.PE[80].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13792 + name: mac_gated + - counts: 386 + name: mac_random + - counts: 5790 + name: mac_reused + name: eyeriss_like.PE[80].mac + - action_counts: + - counts: 23692 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8384 + name: read + name: eyeriss_like.PE[81].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 276 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 204 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[81].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 870 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 794 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2813 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13827 + name: write + name: eyeriss_like.PE[81].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12176 + name: mac_gated + - counts: 487 + name: mac_random + - counts: 7305 + name: mac_reused + name: eyeriss_like.PE[81].mac + - action_counts: + - counts: 30924 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1152 + name: read + name: eyeriss_like.PE[82].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 479 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[82].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1663 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 16640 + name: write + name: eyeriss_like.PE[82].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 19968 + name: mac_gated + name: eyeriss_like.PE[82].mac + - action_counts: + - counts: 30924 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1152 + name: read + name: eyeriss_like.PE[84].weights_spad + - action_counts: + - counts: 12490 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 479 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[84].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1663 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 16640 + name: write + name: eyeriss_like.PE[84].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 19968 + name: mac_gated + name: eyeriss_like.PE[84].mac + - action_counts: + - counts: 24044 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8032 + name: read + name: eyeriss_like.PE[85].weights_spad + - action_counts: + - counts: 12490 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[85].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 789 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 875 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1713 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14927 + name: write + name: eyeriss_like.PE[85].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12592 + name: mac_gated + - counts: 461 + name: mac_random + - counts: 6915 + name: mac_reused + name: eyeriss_like.PE[85].mac + - action_counts: + - counts: 25609 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6476 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 372 + name: read + name: eyeriss_like.PE[86].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 220 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 260 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[86].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 740 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 924 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4327 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12313 + name: write + name: eyeriss_like.PE[86].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 14208 + name: mac_gated + - counts: 360 + name: mac_random + - counts: 5400 + name: mac_reused + name: eyeriss_like.PE[86].mac + - action_counts: + - counts: 24978 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7132 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 340 + name: read + name: eyeriss_like.PE[87].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 237 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18729 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 243 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1239 + name: read + name: eyeriss_like.PE[87].ifmap_spad + - action_counts: + - counts: 12836 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 723 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 941 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3144 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13496 + name: write + name: eyeriss_like.PE[87].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13488 + name: mac_gated + - counts: 405 + name: mac_random + - counts: 6075 + name: mac_reused + name: eyeriss_like.PE[87].mac + - action_counts: + - counts: 23303 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8848 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 288 + name: read + name: eyeriss_like.PE[88].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 280 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 200 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[88].ifmap_spad + - action_counts: + - counts: 12849 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 933 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 731 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2395 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14245 + name: write + name: eyeriss_like.PE[88].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11904 + name: mac_gated + - counts: 504 + name: mac_random + - counts: 7560 + name: mac_reused + name: eyeriss_like.PE[88].mac + - action_counts: + - counts: 23373 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8820 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 236 + name: read + name: eyeriss_like.PE[89].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[89].ifmap_spad + - action_counts: + - counts: 12861 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 870 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 794 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2521 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14119 + name: write + name: eyeriss_like.PE[89].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12032 + name: mac_gated + - counts: 496 + name: mac_random + - counts: 7440 + name: mac_reused + name: eyeriss_like.PE[89].mac + - action_counts: + - counts: 23143 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9076 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 204 + name: read + name: eyeriss_like.PE[90].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 282 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 198 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[90].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 931 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 733 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2612 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14028 + name: write + name: eyeriss_like.PE[90].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11808 + name: mac_gated + - counts: 510 + name: mac_random + - counts: 7650 + name: mac_reused + name: eyeriss_like.PE[90].mac + - action_counts: + - counts: 23571 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8656 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[91].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 268 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 212 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[91].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 849 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 815 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2768 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13872 + name: write + name: eyeriss_like.PE[91].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12304 + name: mac_gated + - counts: 479 + name: mac_random + - counts: 7185 + name: mac_reused + name: eyeriss_like.PE[91].mac + - action_counts: + - counts: 22959 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9264 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[92].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 281 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 199 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[92].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 961 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 703 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2451 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14189 + name: write + name: eyeriss_like.PE[92].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11648 + name: mac_gated + - counts: 520 + name: mac_random + - counts: 7800 + name: mac_reused + name: eyeriss_like.PE[92].mac + - action_counts: + - counts: 22619 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9600 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[93].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 277 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 203 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[93].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 962 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 702 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2691 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13949 + name: write + name: eyeriss_like.PE[93].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11328 + name: mac_gated + - counts: 540 + name: mac_random + - counts: 8100 + name: mac_reused + name: eyeriss_like.PE[93].mac + - action_counts: + - counts: 23399 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8816 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[94].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 269 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 211 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[94].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 850 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 814 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2778 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13862 + name: write + name: eyeriss_like.PE[94].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12096 + name: mac_gated + - counts: 492 + name: mac_random + - counts: 7380 + name: mac_reused + name: eyeriss_like.PE[94].mac + - action_counts: + - counts: 24547 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7664 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[95].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 234 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 246 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[95].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 817 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 847 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4032 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12608 + name: write + name: eyeriss_like.PE[95].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13184 + name: mac_gated + - counts: 424 + name: mac_random + - counts: 6360 + name: mac_reused + name: eyeriss_like.PE[95].mac + - action_counts: + - counts: 25087 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7120 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[96].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 226 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 254 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[96].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 742 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 922 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3755 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12885 + name: write + name: eyeriss_like.PE[96].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13792 + name: mac_gated + - counts: 386 + name: mac_random + - counts: 5790 + name: mac_reused + name: eyeriss_like.PE[96].mac + - action_counts: + - counts: 24044 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8032 + name: read + name: eyeriss_like.PE[98].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[98].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 816 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 848 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1697 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14943 + name: write + name: eyeriss_like.PE[98].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12592 + name: mac_gated + - counts: 461 + name: mac_random + - counts: 6915 + name: mac_reused + name: eyeriss_like.PE[98].mac + - action_counts: + - counts: 25612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6464 + name: read + name: eyeriss_like.PE[99].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 220 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 260 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[99].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 775 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 889 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4303 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12337 + name: write + name: eyeriss_like.PE[99].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 14208 + name: mac_gated + - counts: 360 + name: mac_random + - counts: 5400 + name: mac_reused + name: eyeriss_like.PE[99].mac + - action_counts: + - counts: 24988 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7088 + name: read + name: eyeriss_like.PE[100].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 237 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 243 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[100].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 756 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 908 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3047 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13593 + name: write + name: eyeriss_like.PE[100].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13488 + name: mac_gated + - counts: 405 + name: mac_random + - counts: 6075 + name: mac_reused + name: eyeriss_like.PE[100].mac + - action_counts: + - counts: 23324 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8752 + name: read + name: eyeriss_like.PE[101].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 280 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 200 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[101].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 969 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 695 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2306 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14334 + name: write + name: eyeriss_like.PE[101].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11904 + name: mac_gated + - counts: 504 + name: mac_random + - counts: 7560 + name: mac_reused + name: eyeriss_like.PE[101].mac + - action_counts: + - counts: 23404 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8672 + name: read + name: eyeriss_like.PE[102].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[102].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 895 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 769 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2539 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14101 + name: write + name: eyeriss_like.PE[102].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12032 + name: mac_gated + - counts: 496 + name: mac_random + - counts: 7440 + name: mac_reused + name: eyeriss_like.PE[102].mac + - action_counts: + - counts: 23180 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8896 + name: read + name: eyeriss_like.PE[103].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 282 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 198 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[103].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 957 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 707 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2521 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14119 + name: write + name: eyeriss_like.PE[103].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11808 + name: mac_gated + - counts: 510 + name: mac_random + - counts: 7650 + name: mac_reused + name: eyeriss_like.PE[103].mac + - action_counts: + - counts: 23612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8464 + name: read + name: eyeriss_like.PE[104].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 268 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 212 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[104].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 881 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 783 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2662 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13978 + name: write + name: eyeriss_like.PE[104].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12304 + name: mac_gated + - counts: 479 + name: mac_random + - counts: 7185 + name: mac_reused + name: eyeriss_like.PE[104].mac + - action_counts: + - counts: 23004 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9072 + name: read + name: eyeriss_like.PE[105].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 281 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 199 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[105].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1002 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 662 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2367 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14273 + name: write + name: eyeriss_like.PE[105].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11648 + name: mac_gated + - counts: 520 + name: mac_random + - counts: 7800 + name: mac_reused + name: eyeriss_like.PE[105].mac + - action_counts: + - counts: 22668 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9408 + name: read + name: eyeriss_like.PE[106].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 277 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 203 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[106].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 992 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 672 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2613 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14027 + name: write + name: eyeriss_like.PE[106].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11328 + name: mac_gated + - counts: 540 + name: mac_random + - counts: 8100 + name: mac_reused + name: eyeriss_like.PE[106].mac + - action_counts: + - counts: 23452 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8624 + name: read + name: eyeriss_like.PE[107].weights_spad + - action_counts: + - counts: 12484 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 269 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 211 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[107].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 882 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 782 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2755 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13885 + name: write + name: eyeriss_like.PE[107].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12096 + name: mac_gated + - counts: 492 + name: mac_random + - counts: 7380 + name: mac_reused + name: eyeriss_like.PE[107].mac + - action_counts: + - counts: 24604 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7472 + name: read + name: eyeriss_like.PE[108].weights_spad + - action_counts: + - counts: 12485 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 234 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 246 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[108].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 845 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 819 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3982 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12658 + name: write + name: eyeriss_like.PE[108].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13184 + name: mac_gated + - counts: 424 + name: mac_random + - counts: 6360 + name: mac_reused + name: eyeriss_like.PE[108].mac + - action_counts: + - counts: 25148 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6928 + name: read + name: eyeriss_like.PE[109].weights_spad + - action_counts: + - counts: 12485 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 226 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 254 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[109].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 761 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 903 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3725 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12915 + name: write + name: eyeriss_like.PE[109].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13792 + name: mac_gated + - counts: 386 + name: mac_random + - counts: 5790 + name: mac_reused + name: eyeriss_like.PE[109].mac + - action_counts: + - counts: 23692 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8384 + name: read + name: eyeriss_like.PE[110].weights_spad + - action_counts: + - counts: 12485 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 276 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 204 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[110].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 888 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 776 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2792 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13848 + name: write + name: eyeriss_like.PE[110].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12176 + name: mac_gated + - counts: 487 + name: mac_random + - counts: 7305 + name: mac_reused + name: eyeriss_like.PE[110].mac + - action_counts: + - counts: 25612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 383 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6464 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1 + name: write + name: eyeriss_like.PE[112].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 220 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 260 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[112].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 770 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 894 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4329 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12311 + name: write + name: eyeriss_like.PE[112].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 14208 + name: mac_gated + - counts: 360 + name: mac_random + - counts: 5400 + name: mac_reused + name: eyeriss_like.PE[112].mac + - action_counts: + - counts: 24988 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 383 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7088 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1 + name: write + name: eyeriss_like.PE[113].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 237 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 243 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[113].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 753 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 911 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3143 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13497 + name: write + name: eyeriss_like.PE[113].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13488 + name: mac_gated + - counts: 405 + name: mac_random + - counts: 6075 + name: mac_reused + name: eyeriss_like.PE[113].mac + - action_counts: + - counts: 23324 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 383 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8752 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1 + name: write + name: eyeriss_like.PE[114].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 280 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 200 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[114].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 964 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 700 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2318 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14322 + name: write + name: eyeriss_like.PE[114].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11904 + name: mac_gated + - counts: 504 + name: mac_random + - counts: 7560 + name: mac_reused + name: eyeriss_like.PE[114].mac + - action_counts: + - counts: 23404 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 383 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8672 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1 + name: write + name: eyeriss_like.PE[115].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[115].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 893 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 771 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2543 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14097 + name: write + name: eyeriss_like.PE[115].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12032 + name: mac_gated + - counts: 496 + name: mac_random + - counts: 7440 + name: mac_reused + name: eyeriss_like.PE[115].mac + - action_counts: + - counts: 23180 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 383 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8896 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1 + name: write + name: eyeriss_like.PE[116].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 282 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 198 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[116].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 957 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 707 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2537 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14103 + name: write + name: eyeriss_like.PE[116].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11808 + name: mac_gated + - counts: 510 + name: mac_random + - counts: 7650 + name: mac_reused + name: eyeriss_like.PE[116].mac + - action_counts: + - counts: 23612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 383 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8464 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1 + name: write + name: eyeriss_like.PE[117].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 268 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 212 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[117].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 879 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 785 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2720 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13920 + name: write + name: eyeriss_like.PE[117].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12304 + name: mac_gated + - counts: 479 + name: mac_random + - counts: 7185 + name: mac_reused + name: eyeriss_like.PE[117].mac + - action_counts: + - counts: 23004 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 383 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9072 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1 + name: write + name: eyeriss_like.PE[118].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 281 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 199 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[118].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1003 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 661 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2471 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14169 + name: write + name: eyeriss_like.PE[118].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11648 + name: mac_gated + - counts: 520 + name: mac_random + - counts: 7800 + name: mac_reused + name: eyeriss_like.PE[118].mac + - action_counts: + - counts: 22668 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 383 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9408 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1 + name: write + name: eyeriss_like.PE[119].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 277 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 203 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[119].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 992 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 672 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2678 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13962 + name: write + name: eyeriss_like.PE[119].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11328 + name: mac_gated + - counts: 540 + name: mac_random + - counts: 8100 + name: mac_reused + name: eyeriss_like.PE[119].mac + - action_counts: + - counts: 23452 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 383 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8624 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1 + name: write + name: eyeriss_like.PE[120].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 269 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 211 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[120].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 879 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 785 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2765 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13875 + name: write + name: eyeriss_like.PE[120].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12096 + name: mac_gated + - counts: 492 + name: mac_random + - counts: 7380 + name: mac_reused + name: eyeriss_like.PE[120].mac + - action_counts: + - counts: 24604 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 383 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7472 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1 + name: write + name: eyeriss_like.PE[121].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 234 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 246 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[121].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 848 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 816 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3971 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12669 + name: write + name: eyeriss_like.PE[121].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13184 + name: mac_gated + - counts: 424 + name: mac_random + - counts: 6360 + name: mac_reused + name: eyeriss_like.PE[121].mac + - action_counts: + - counts: 25148 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 383 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6928 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1 + name: write + name: eyeriss_like.PE[122].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 226 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 254 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[122].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 764 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 900 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3739 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12901 + name: write + name: eyeriss_like.PE[122].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13792 + name: mac_gated + - counts: 386 + name: mac_random + - counts: 5790 + name: mac_reused + name: eyeriss_like.PE[122].mac + - action_counts: + - counts: 23692 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 383 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8384 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1 + name: write + name: eyeriss_like.PE[123].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 276 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 204 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[123].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 887 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 777 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2831 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13809 + name: write + name: eyeriss_like.PE[123].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12176 + name: mac_gated + - counts: 487 + name: mac_random + - counts: 7305 + name: mac_reused + name: eyeriss_like.PE[123].mac + - action_counts: + - counts: 30924 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 383 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1152 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1 + name: write + name: eyeriss_like.PE[124].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 479 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[124].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1663 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 16640 + name: write + name: eyeriss_like.PE[124].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 19968 + name: mac_gated + name: eyeriss_like.PE[124].mac + - action_counts: + - counts: 30924 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1152 + name: read + name: eyeriss_like.PE[126].weights_spad + - action_counts: + - counts: 12488 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 479 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[126].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1663 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 16640 + name: write + name: eyeriss_like.PE[126].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 19968 + name: mac_gated + name: eyeriss_like.PE[126].mac + - action_counts: + - counts: 24044 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8032 + name: read + name: eyeriss_like.PE[127].weights_spad + - action_counts: + - counts: 12488 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[127].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 814 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 850 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1669 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14971 + name: write + name: eyeriss_like.PE[127].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12592 + name: mac_gated + - counts: 461 + name: mac_random + - counts: 6915 + name: mac_reused + name: eyeriss_like.PE[127].mac + - action_counts: + - counts: 25612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6464 + name: read + name: eyeriss_like.PE[128].weights_spad + - action_counts: + - counts: 12488 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 220 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 260 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[128].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 758 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 906 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4341 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12299 + name: write + name: eyeriss_like.PE[128].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 14208 + name: mac_gated + - counts: 360 + name: mac_random + - counts: 5400 + name: mac_reused + name: eyeriss_like.PE[128].mac + - action_counts: + - counts: 24984 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7104 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 368 + name: read + name: eyeriss_like.PE[129].weights_spad + - action_counts: + - counts: 12489 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 237 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18729 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 243 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1239 + name: read + name: eyeriss_like.PE[129].ifmap_spad + - action_counts: + - counts: 12829 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 753 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 911 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3100 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13540 + name: write + name: eyeriss_like.PE[129].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13488 + name: mac_gated + - counts: 405 + name: mac_random + - counts: 6075 + name: mac_reused + name: eyeriss_like.PE[129].mac + - action_counts: + - counts: 23312 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8804 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 332 + name: read + name: eyeriss_like.PE[130].weights_spad + - action_counts: + - counts: 12490 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 280 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 200 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[130].ifmap_spad + - action_counts: + - counts: 12838 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 959 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 705 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2346 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14294 + name: write + name: eyeriss_like.PE[130].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11904 + name: mac_gated + - counts: 504 + name: mac_random + - counts: 7560 + name: mac_reused + name: eyeriss_like.PE[130].mac + - action_counts: + - counts: 23380 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8780 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 276 + name: read + name: eyeriss_like.PE[131].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[131].ifmap_spad + - action_counts: + - counts: 12852 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 886 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 778 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2547 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14093 + name: write + name: eyeriss_like.PE[131].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12032 + name: mac_gated + - counts: 496 + name: mac_random + - counts: 7440 + name: mac_reused + name: eyeriss_like.PE[131].mac + - action_counts: + - counts: 23147 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9052 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 228 + name: read + name: eyeriss_like.PE[132].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 282 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 198 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[132].ifmap_spad + - action_counts: + - counts: 12863 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 948 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 716 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2575 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14065 + name: write + name: eyeriss_like.PE[132].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11808 + name: mac_gated + - counts: 510 + name: mac_random + - counts: 7650 + name: mac_reused + name: eyeriss_like.PE[132].mac + - action_counts: + - counts: 23574 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8648 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 200 + name: read + name: eyeriss_like.PE[133].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 268 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 212 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[133].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 876 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 788 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2751 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13889 + name: write + name: eyeriss_like.PE[133].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12304 + name: mac_gated + - counts: 479 + name: mac_random + - counts: 7185 + name: mac_reused + name: eyeriss_like.PE[133].mac + - action_counts: + - counts: 22962 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9264 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[134].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 281 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 199 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[134].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 994 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 670 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2406 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14234 + name: write + name: eyeriss_like.PE[134].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11648 + name: mac_gated + - counts: 520 + name: mac_random + - counts: 7800 + name: mac_reused + name: eyeriss_like.PE[134].mac + - action_counts: + - counts: 22622 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9600 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[135].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 277 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 203 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[135].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 983 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 681 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2619 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14021 + name: write + name: eyeriss_like.PE[135].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11328 + name: mac_gated + - counts: 540 + name: mac_random + - counts: 8100 + name: mac_reused + name: eyeriss_like.PE[135].mac + - action_counts: + - counts: 23402 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8816 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[136].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 269 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 211 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[136].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 870 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 794 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2748 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13892 + name: write + name: eyeriss_like.PE[136].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12096 + name: mac_gated + - counts: 492 + name: mac_random + - counts: 7380 + name: mac_reused + name: eyeriss_like.PE[136].mac + - action_counts: + - counts: 24550 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7664 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[137].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 234 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 246 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[137].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 838 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 826 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3988 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12652 + name: write + name: eyeriss_like.PE[137].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13184 + name: mac_gated + - counts: 424 + name: mac_random + - counts: 6360 + name: mac_reused + name: eyeriss_like.PE[137].mac + - action_counts: + - counts: 25090 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7120 + name: read + - arguments: + address_delta: 0 + data_delta: 0 + counts: 192 + name: read + name: eyeriss_like.PE[138].weights_spad + - action_counts: + - counts: 12491 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 226 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18730 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 254 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1238 + name: read + name: eyeriss_like.PE[138].ifmap_spad + - action_counts: + - counts: 12866 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 756 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 908 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3696 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12944 + name: write + name: eyeriss_like.PE[138].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13792 + name: mac_gated + - counts: 386 + name: mac_random + - counts: 5790 + name: mac_reused + name: eyeriss_like.PE[138].mac + - action_counts: + - counts: 24044 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8032 + name: read + name: eyeriss_like.PE[140].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[140].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 789 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 875 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1704 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14936 + name: write + name: eyeriss_like.PE[140].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12592 + name: mac_gated + - counts: 461 + name: mac_random + - counts: 6915 + name: mac_reused + name: eyeriss_like.PE[140].mac + - action_counts: + - counts: 25612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6464 + name: read + name: eyeriss_like.PE[141].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 220 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 260 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[141].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 732 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 932 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4396 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12244 + name: write + name: eyeriss_like.PE[141].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 14208 + name: mac_gated + - counts: 360 + name: mac_random + - counts: 5400 + name: mac_reused + name: eyeriss_like.PE[141].mac + - action_counts: + - counts: 24988 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7088 + name: read + name: eyeriss_like.PE[142].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 237 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 243 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[142].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 724 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 940 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3077 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13563 + name: write + name: eyeriss_like.PE[142].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13488 + name: mac_gated + - counts: 405 + name: mac_random + - counts: 6075 + name: mac_reused + name: eyeriss_like.PE[142].mac + - action_counts: + - counts: 23324 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8752 + name: read + name: eyeriss_like.PE[143].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 280 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 200 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[143].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 943 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 721 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2330 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14310 + name: write + name: eyeriss_like.PE[143].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11904 + name: mac_gated + - counts: 504 + name: mac_random + - counts: 7560 + name: mac_reused + name: eyeriss_like.PE[143].mac + - action_counts: + - counts: 23404 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8672 + name: read + name: eyeriss_like.PE[144].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[144].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 881 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 783 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2506 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14134 + name: write + name: eyeriss_like.PE[144].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12032 + name: mac_gated + - counts: 496 + name: mac_random + - counts: 7440 + name: mac_reused + name: eyeriss_like.PE[144].mac + - action_counts: + - counts: 23180 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8896 + name: read + name: eyeriss_like.PE[145].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 282 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 198 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[145].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 928 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 736 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2554 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14086 + name: write + name: eyeriss_like.PE[145].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11808 + name: mac_gated + - counts: 510 + name: mac_random + - counts: 7650 + name: mac_reused + name: eyeriss_like.PE[145].mac + - action_counts: + - counts: 23612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8464 + name: read + name: eyeriss_like.PE[146].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 268 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 212 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[146].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 847 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 817 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2730 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13910 + name: write + name: eyeriss_like.PE[146].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12304 + name: mac_gated + - counts: 479 + name: mac_random + - counts: 7185 + name: mac_reused + name: eyeriss_like.PE[146].mac + - action_counts: + - counts: 23004 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9072 + name: read + name: eyeriss_like.PE[147].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 281 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 199 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[147].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 966 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 698 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2414 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14226 + name: write + name: eyeriss_like.PE[147].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11648 + name: mac_gated + - counts: 520 + name: mac_random + - counts: 7800 + name: mac_reused + name: eyeriss_like.PE[147].mac + - action_counts: + - counts: 22668 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9408 + name: read + name: eyeriss_like.PE[148].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 277 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 203 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[148].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 964 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 700 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2661 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13979 + name: write + name: eyeriss_like.PE[148].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11328 + name: mac_gated + - counts: 540 + name: mac_random + - counts: 8100 + name: mac_reused + name: eyeriss_like.PE[148].mac + - action_counts: + - counts: 23452 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8624 + name: read + name: eyeriss_like.PE[149].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 269 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 211 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[149].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 860 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 804 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2802 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13838 + name: write + name: eyeriss_like.PE[149].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12096 + name: mac_gated + - counts: 492 + name: mac_random + - counts: 7380 + name: mac_reused + name: eyeriss_like.PE[149].mac + - action_counts: + - counts: 24604 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7472 + name: read + name: eyeriss_like.PE[150].weights_spad + - action_counts: + - counts: 12485 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 234 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 246 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[150].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 823 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 841 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4037 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12603 + name: write + name: eyeriss_like.PE[150].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13184 + name: mac_gated + - counts: 424 + name: mac_random + - counts: 6360 + name: mac_reused + name: eyeriss_like.PE[150].mac + - action_counts: + - counts: 25148 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6928 + name: read + name: eyeriss_like.PE[151].weights_spad + - action_counts: + - counts: 12485 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 226 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 254 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[151].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 745 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 919 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3657 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12983 + name: write + name: eyeriss_like.PE[151].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13792 + name: mac_gated + - counts: 386 + name: mac_random + - counts: 5790 + name: mac_reused + name: eyeriss_like.PE[151].mac + - action_counts: + - counts: 23692 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8384 + name: read + name: eyeriss_like.PE[152].weights_spad + - action_counts: + - counts: 12485 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 276 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 204 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[152].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 855 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 809 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2828 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13812 + name: write + name: eyeriss_like.PE[152].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12176 + name: mac_gated + - counts: 487 + name: mac_random + - counts: 7305 + name: mac_reused + name: eyeriss_like.PE[152].mac + - action_counts: + - counts: 25612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6464 + name: read + name: eyeriss_like.PE[154].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 220 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 260 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[154].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 761 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 903 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 4348 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12292 + name: write + name: eyeriss_like.PE[154].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 14208 + name: mac_gated + - counts: 360 + name: mac_random + - counts: 5400 + name: mac_reused + name: eyeriss_like.PE[154].mac + - action_counts: + - counts: 24988 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7088 + name: read + name: eyeriss_like.PE[155].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 237 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 243 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[155].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 752 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 912 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3042 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13598 + name: write + name: eyeriss_like.PE[155].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13488 + name: mac_gated + - counts: 405 + name: mac_random + - counts: 6075 + name: mac_reused + name: eyeriss_like.PE[155].mac + - action_counts: + - counts: 23324 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8752 + name: read + name: eyeriss_like.PE[156].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 280 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 200 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[156].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 957 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 707 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2300 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14340 + name: write + name: eyeriss_like.PE[156].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11904 + name: mac_gated + - counts: 504 + name: mac_random + - counts: 7560 + name: mac_reused + name: eyeriss_like.PE[156].mac + - action_counts: + - counts: 23404 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8672 + name: read + name: eyeriss_like.PE[157].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 273 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 207 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[157].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 889 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 775 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2529 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14111 + name: write + name: eyeriss_like.PE[157].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12032 + name: mac_gated + - counts: 496 + name: mac_random + - counts: 7440 + name: mac_reused + name: eyeriss_like.PE[157].mac + - action_counts: + - counts: 23180 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8896 + name: read + name: eyeriss_like.PE[158].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 282 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 198 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[158].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 948 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 716 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2560 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14080 + name: write + name: eyeriss_like.PE[158].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11808 + name: mac_gated + - counts: 510 + name: mac_random + - counts: 7650 + name: mac_reused + name: eyeriss_like.PE[158].mac + - action_counts: + - counts: 23612 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8464 + name: read + name: eyeriss_like.PE[159].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 268 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 212 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[159].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 879 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 785 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2681 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13959 + name: write + name: eyeriss_like.PE[159].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12304 + name: mac_gated + - counts: 479 + name: mac_random + - counts: 7185 + name: mac_reused + name: eyeriss_like.PE[159].mac + - action_counts: + - counts: 23004 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9072 + name: read + name: eyeriss_like.PE[160].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 281 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 199 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[160].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 992 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 672 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2403 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14237 + name: write + name: eyeriss_like.PE[160].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11648 + name: mac_gated + - counts: 520 + name: mac_random + - counts: 7800 + name: mac_reused + name: eyeriss_like.PE[160].mac + - action_counts: + - counts: 22668 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 9408 + name: read + name: eyeriss_like.PE[161].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 277 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 203 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[161].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 988 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 676 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2632 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 14008 + name: write + name: eyeriss_like.PE[161].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 11328 + name: mac_gated + - counts: 540 + name: mac_random + - counts: 8100 + name: mac_reused + name: eyeriss_like.PE[161].mac + - action_counts: + - counts: 23452 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8624 + name: read + name: eyeriss_like.PE[162].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 269 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 211 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[162].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 878 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 786 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2709 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13931 + name: write + name: eyeriss_like.PE[162].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12096 + name: mac_gated + - counts: 492 + name: mac_random + - counts: 7380 + name: mac_reused + name: eyeriss_like.PE[162].mac + - action_counts: + - counts: 24604 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 7472 + name: read + name: eyeriss_like.PE[163].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 234 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 246 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[163].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 843 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 821 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3943 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12697 + name: write + name: eyeriss_like.PE[163].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13184 + name: mac_gated + - counts: 424 + name: mac_random + - counts: 6360 + name: mac_reused + name: eyeriss_like.PE[163].mac + - action_counts: + - counts: 25148 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 6928 + name: read + name: eyeriss_like.PE[164].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 226 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 254 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[164].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 757 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 907 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 3707 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 12933 + name: write + name: eyeriss_like.PE[164].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 13792 + name: mac_gated + - counts: 386 + name: mac_random + - counts: 5790 + name: mac_reused + name: eyeriss_like.PE[164].mac + - action_counts: + - counts: 23692 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 8384 + name: read + name: eyeriss_like.PE[165].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 276 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 204 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[165].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 881 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 783 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 2880 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 13760 + name: write + name: eyeriss_like.PE[165].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 12176 + name: mac_gated + - counts: 487 + name: mac_random + - counts: 7305 + name: mac_reused + name: eyeriss_like.PE[165].mac + - action_counts: + - counts: 30924 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 384 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 384 + name: read + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1152 + name: read + name: eyeriss_like.PE[166].weights_spad + - action_counts: + - counts: 12482 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 18728 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 479 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1240 + name: read + name: eyeriss_like.PE[166].ifmap_spad + - action_counts: + - counts: 12828 + name: idle + - arguments: + address_delta: 1 + data_delta: 1 + counts: 1 + name: write + - arguments: + address_delta: 0 + data_delta: 0 + counts: 312 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 1663 + name: write + - arguments: + address_delta: 1 + data_delta: 1 + counts: 17992 + name: read + - arguments: + address_delta: 1 + data_delta: 0 + counts: 16640 + name: write + name: eyeriss_like.PE[166].psum_spad + - action_counts: + - counts: 12492 + name: idle + - counts: 19968 + name: mac_gated + name: eyeriss_like.PE[166].mac + version: 0.2 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/input/architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/input/architecture.yaml new file mode 100644 index 00000000..41450e9c --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/input/architecture.yaml @@ -0,0 +1,66 @@ +architecture: + # ============================================================ + # Architecture Description + # ============================================================ + version: 0.2 + subtree: + - name: eyeriss_like + attributes: + technology: 45nm + local: + - name: weights_glb + class: smartbuffer_SRAM + attributes: + memory_width: 64 + memory_depth: 1024 + n_banks: 2 + - name: shared_glb + class: smartbuffer_SRAM + attributes: + memory_width: 64 + n_banks: 25 + bank_depth: 512 + memory_depth: bank_depth * n_banks + n_buffets: 2 + update_fifo_depth: 2 + - name: ifmap_NoC + class: XY_NoC + attributes: + datawidth: 16 + col_id_width: 5 + - name: weights_NoC + class: XY_NoC + attributes: + datawidth: 64 + - name: psum_write_NoC + class: XY_NoC + attributes: + datawidth: 64 + - name: psum_read_NoC + class: XY_NoC + attributes: + datawidth: 64 + Y_X_wire_avg_length: 4mm + subtree: + - name: PE[0..167] + local: + - name: ifmap_spad + class: smartbuffer_RF + attributes: + memory_depth: 12 + memory_width: 16 + - name: weights_spad + class: smartbuffer_RF + attributes: + memory_depth: 192 + memory_width: 16 + - name: psum_spad + class: smartbuffer_RF + attributes: + memory_depth: 16 + memory_width: 16 + - name: mac + class: intmac + attributes: + width: 16 + meshX : 14 \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/input/components/XY_NoC.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/input/components/XY_NoC.yaml new file mode 100644 index 00000000..dd2bab25 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/input/components/XY_NoC.yaml @@ -0,0 +1,75 @@ +compound_components: + version: 0.3 + classes: + - name: XY_NoC + attributes: + technology: 40nm + Y_comparator_width: 4 # compare rowID + X_comparator_width: 4 # compare colID + n_PE_rows: 12 + n_PE_cols: 14 + total_PEs: n_PE_cols * n_PE_rows + datawidth: 64 + Y_X_wire_avg_length: 2mm + subcomponents: + - name: Y_memory_controller[0..n_PE_rows-1] + class: comparator + attributes: + technology: technology + datawidth: Y_comparator_width + - name: X_memory_controller[0..total_PEs-1] + class: comparator + attributes: + technology: technology + datawidth: X_comparator_width + - name: Y_X_wire + class: wire + attributes: + technology: technology + datawidth: datawidth + X_comparator_width + length: Y_X_wire_avg_length + actions: + - name: transfer_random + arguments: + n_rows: 1..n_PE_rows + n_cols_per_row: 1..n_PE_cols + subcomponents: + - name: Y_memory_controller[0..n_rows-1] + actions: + - name: transfer_random + - name: X_memory_controller[0] + actions: + - name: transfer_random + repeat: n_cols_per_row * n_rows # alternative representation of repetitive actions of identical components + - name: Y_X_wire + actions: + - name: transfer_random + + - name: transfer_repeated + arguments: + n_rows: 1..n_PE_rows + n_cols_per_row: 1..n_PE_cols + subcomponents: + - name: Y_memory_controller[0..n_rows-1] + actions: + - name: transfer_repeated + - name: X_memory_controller[0] + actions: + - name: transfer_repeated + repeat: n_cols_per_row * n_rows + - name: Y_X_wire + actions: + - name: idle + + + - name: idle + subcomponents: + - name: Y_memory_controller[0..n_PE_rows-1] + actions: + - name: idle + - name: X_memory_controller[0..total_PEs-1] + actions: + - name: idle + - name: Y_X_wire + actions: + - name: idle \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/input/components/smartbuffer_RF.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/input/components/smartbuffer_RF.yaml new file mode 100644 index 00000000..b202f10e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/input/components/smartbuffer_RF.yaml @@ -0,0 +1,68 @@ +compound_components: + version: 0.3 + classes: + - name: smartbuffer_RF + attributes: + technology: 45nm + memory_depth: 12 + memory_width: 16 + n_rdwr_ports: 2 + n_banks: 1 + n_buffets: 1 + subcomponents: + - name: storage + class: regfile + attributes: + technology: technology + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + n_banks: n_banks + - name: address_generators[0..1] + class: intadder + attributes: + technology: technology + width: log(memory_depth) + actions: + - name: write + arguments: + data_delta: 0..1 + address_delta: 0..n_banks + subcomponents: + - name: storage + actions: + - name: write + arguments: + data_delta: data_delta + address_delta: address_delta + - name: address_generators[0] + actions: + - name: add + - name: address_generators[1] + actions: + - name: idle + - name: read + arguments: + data_delta: 0..1 + address_delta: 0..n_banks + subcomponents: + - name: storage + actions: + - name: read + arguments: + data_delta: data_delta + address_delta: address_delta + - name: address_generators[1] + actions: + - name: add + - name: address_generators[0] + actions: + - name: idle + - name: idle + subcomponents: + - name: storage + actions: + - name: idle + - name: address_generators[0..1] + actions: + - name: idle diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/input/components/smartbuffer_SRAM.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/input/components/smartbuffer_SRAM.yaml new file mode 100644 index 00000000..aaba7a41 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/input/components/smartbuffer_SRAM.yaml @@ -0,0 +1,68 @@ +compound_components: + version: 0.3 + classes: + - name: smartbuffer_SRAM + attributes: + technology: 45nm + memory_depth: 12 + memory_width: 16 + n_rdwr_ports: 2 + n_banks: 1 + n_buffets: 1 + subcomponents: + - name: storage + class: SRAM + attributes: + technology: technology + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + n_banks: n_banks + - name: address_generators[0..1] + class: intadder + attributes: + technology: technology + width: log(memory_depth) + actions: + - name: write + arguments: + data_delta: 0..1 + address_delta: 0..n_banks + subcomponents: + - name: storage + actions: + - name: write + arguments: + data_delta: data_delta + address_delta: address_delta + - name: address_generators[0] + actions: + - name: count + - name: address_generators[1] + actions: + - name: idle + - name: read + arguments: + data_delta: 0..1 + address_delta: 0..n_banks + subcomponents: + - name: storage + actions: + - name: read + arguments: + data_delta: data_delta + address_delta: address_delta + - name: address_generators[1] + actions: + - name: add + - name: address_generators[0] + actions: + - name: idle + - name: idle + subcomponents: + - name: storage + actions: + - name: idle + - name: address_generators[0..1] + actions: + - name: idle diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/.gitkeep b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/.gitkeep new file mode 100644 index 00000000..8d1c8b69 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/.gitkeep @@ -0,0 +1 @@ + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/ART.yaml new file mode 100644 index 00000000..fbde6363 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/ART.yaml @@ -0,0 +1,23 @@ +ART: + version: '0.4' + tables: + - name: eyeriss_like.PE[0..167].mac + area: 1239.5 + - name: eyeriss_like.PE[0..167].ifmap_spad + area: 228.479893 + - name: eyeriss_like.PE[0..167].weights_spad + area: 3514.498229 + - name: eyeriss_like.PE[0..167].psum_spad + area: 266.698336 + - name: eyeriss_like.weights_glb + area: 76991.745841 + - name: eyeriss_like.shared_glb + area: 979303.80243 + - name: eyeriss_like.ifmap_NoC + area: 1575.0 + - name: eyeriss_like.weights_NoC + area: 1575.0 + - name: eyeriss_like.psum_write_NoC + area: 1575.0 + - name: eyeriss_like.psum_read_NoC + area: 1575.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/ART_summary.yaml new file mode 100644 index 00000000..350e07ae --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/ART_summary.yaml @@ -0,0 +1,77 @@ +ART_summary: + version: '0.4' + table_summary: + - name: eyeriss_like.PE[0..167].mac + area: 1239.5 + primitive_estimations: Aladdin_table + - name: eyeriss_like.PE[0..167].ifmap_spad + area: 228.479893 + primitive_estimations: + - name: storage + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_like.PE[0..167].weights_spad + area: 3514.498229 + primitive_estimations: + - name: storage + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_like.PE[0..167].psum_spad + area: 266.698336 + primitive_estimations: + - name: storage + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_like.weights_glb + area: 76991.745841 + primitive_estimations: + - name: storage + estimator: CACTI + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_like.shared_glb + area: 979303.80243 + primitive_estimations: + - name: storage + estimator: CACTI + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_like.ifmap_NoC + area: 1575.0 + primitive_estimations: + - name: Y_memory_controller[0..11] + estimator: Aladdin_table + - name: X_memory_controller[0..167] + estimator: Aladdin_table + - name: Y_X_wire + estimator: Aladdin_table + - name: eyeriss_like.weights_NoC + area: 1575.0 + primitive_estimations: + - name: Y_memory_controller[0..11] + estimator: Aladdin_table + - name: X_memory_controller[0..167] + estimator: Aladdin_table + - name: Y_X_wire + estimator: Aladdin_table + - name: eyeriss_like.psum_write_NoC + area: 1575.0 + primitive_estimations: + - name: Y_memory_controller[0..11] + estimator: Aladdin_table + - name: X_memory_controller[0..167] + estimator: Aladdin_table + - name: Y_X_wire + estimator: Aladdin_table + - name: eyeriss_like.psum_read_NoC + area: 1575.0 + primitive_estimations: + - name: Y_memory_controller[0..11] + estimator: Aladdin_table + - name: X_memory_controller[0..167] + estimator: Aladdin_table + - name: Y_X_wire + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/ERT.yaml new file mode 100644 index 00000000..51636d56 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/ERT.yaml @@ -0,0 +1,7486 @@ +ERT: + version: '0.4' + tables: + - name: eyeriss_like.PE[0..167].mac + actions: + - name: mac_random + arguments: + global_cycle_seconds: 1e-09 + energy: 1.0 + - name: mac_reused + arguments: + global_cycle_seconds: 1e-09 + energy: 1.0 + - name: mac_gated + arguments: + global_cycle_seconds: 1e-09 + energy: 1.0 + - name: idle + arguments: + global_cycle_seconds: 1e-09 + energy: 1.0 + - name: eyeriss_like.PE[0..167].ifmap_spad + actions: + - name: write + arguments: + data_delta: 0 + address_delta: 0 + energy: 3.0 + - name: write + arguments: + data_delta: 1 + address_delta: 0 + energy: 3.0 + - name: write + arguments: + data_delta: 0 + address_delta: 1 + energy: 3.0 + - name: write + arguments: + data_delta: 1 + address_delta: 1 + energy: 3.0 + - name: read + arguments: + data_delta: 0 + address_delta: 0 + energy: 3.0 + - name: read + arguments: + data_delta: 1 + address_delta: 0 + energy: 3.0 + - name: read + arguments: + data_delta: 0 + address_delta: 1 + energy: 3.0 + - name: read + arguments: + data_delta: 1 + address_delta: 1 + energy: 3.0 + - name: idle + arguments: {} + energy: 3.0 + - name: eyeriss_like.PE[0..167].weights_spad + actions: + - name: write + arguments: + data_delta: 0 + address_delta: 0 + energy: 3.0 + - name: write + arguments: + data_delta: 1 + address_delta: 0 + energy: 3.0 + - name: write + arguments: + data_delta: 0 + address_delta: 1 + energy: 3.0 + - name: write + arguments: + data_delta: 1 + address_delta: 1 + energy: 3.0 + - name: read + arguments: + data_delta: 0 + address_delta: 0 + energy: 3.0 + - name: read + arguments: + data_delta: 1 + address_delta: 0 + energy: 3.0 + - name: read + arguments: + data_delta: 0 + address_delta: 1 + energy: 3.0 + - name: read + arguments: + data_delta: 1 + address_delta: 1 + energy: 3.0 + - name: idle + arguments: {} + energy: 3.0 + - name: eyeriss_like.PE[0..167].psum_spad + actions: + - name: write + arguments: + data_delta: 0 + address_delta: 0 + energy: 3.0 + - name: write + arguments: + data_delta: 1 + address_delta: 0 + energy: 3.0 + - name: write + arguments: + data_delta: 0 + address_delta: 1 + energy: 3.0 + - name: write + arguments: + data_delta: 1 + address_delta: 1 + energy: 3.0 + - name: read + arguments: + data_delta: 0 + address_delta: 0 + energy: 3.0 + - name: read + arguments: + data_delta: 1 + address_delta: 0 + energy: 3.0 + - name: read + arguments: + data_delta: 0 + address_delta: 1 + energy: 3.0 + - name: read + arguments: + data_delta: 1 + address_delta: 1 + energy: 3.0 + - name: idle + arguments: {} + energy: 3.0 + - name: eyeriss_like.weights_glb + actions: + - name: write + arguments: + data_delta: 0 + address_delta: 0 + energy: 2.0 + - name: write + arguments: + data_delta: 1 + address_delta: 0 + energy: 9.90349 + - name: write + arguments: + data_delta: 0 + address_delta: 1 + energy: 3.693605 + - name: write + arguments: + data_delta: 1 + address_delta: 1 + energy: 11.597095 + - name: write + arguments: + data_delta: 0 + address_delta: 2 + energy: 5.38721 + - name: write + arguments: + data_delta: 1 + address_delta: 2 + energy: 13.2907 + - name: read + arguments: + data_delta: 0 + address_delta: 0 + energy: 2.0 + - name: read + arguments: + data_delta: 1 + address_delta: 0 + energy: 9.15407 + - name: read + arguments: + data_delta: 0 + address_delta: 1 + energy: 3.533015 + - name: read + arguments: + data_delta: 1 + address_delta: 1 + energy: 10.687085 + - name: read + arguments: + data_delta: 0 + address_delta: 2 + energy: 5.06603 + - name: read + arguments: + data_delta: 1 + address_delta: 2 + energy: 12.2201 + - name: idle + arguments: {} + energy: 2.0 + - name: eyeriss_like.shared_glb + actions: + - name: write + arguments: + data_delta: 0 + address_delta: 0 + energy: 2.0 + - name: write + arguments: + data_delta: 1 + address_delta: 0 + energy: 50.09168 + - name: write + arguments: + data_delta: 0 + address_delta: 1 + energy: 2.824429 + - name: write + arguments: + data_delta: 1 + address_delta: 1 + energy: 50.916109 + - name: write + arguments: + data_delta: 0 + address_delta: 2 + energy: 3.648858 + - name: write + arguments: + data_delta: 1 + address_delta: 2 + energy: 51.740538 + - name: write + arguments: + data_delta: 0 + address_delta: 3 + energy: 4.473286 + - name: write + arguments: + data_delta: 1 + address_delta: 3 + energy: 52.564966 + - name: write + arguments: + data_delta: 0 + address_delta: 4 + energy: 5.297715 + - name: write + arguments: + data_delta: 1 + address_delta: 4 + energy: 53.389395 + - name: write + arguments: + data_delta: 0 + address_delta: 5 + energy: 6.122144 + - name: write + arguments: + data_delta: 1 + address_delta: 5 + energy: 54.213824 + - name: write + arguments: + data_delta: 0 + address_delta: 6 + energy: 6.946573 + - name: write + arguments: + data_delta: 1 + address_delta: 6 + energy: 55.038253 + - name: write + arguments: + data_delta: 0 + address_delta: 7 + energy: 7.771002 + - name: write + arguments: + data_delta: 1 + address_delta: 7 + energy: 55.862682 + - name: write + arguments: + data_delta: 0 + address_delta: 8 + energy: 8.59543 + - name: write + arguments: + data_delta: 1 + address_delta: 8 + energy: 56.68711 + - name: write + arguments: + data_delta: 0 + address_delta: 9 + energy: 9.419859 + - name: write + arguments: + data_delta: 1 + address_delta: 9 + energy: 57.511539 + - name: write + arguments: + data_delta: 0 + address_delta: 10 + energy: 10.244288 + - name: write + arguments: + data_delta: 1 + address_delta: 10 + energy: 58.335968 + - name: write + arguments: + data_delta: 0 + address_delta: 11 + energy: 11.068717 + - name: write + arguments: + data_delta: 1 + address_delta: 11 + energy: 59.160397 + - name: write + arguments: + data_delta: 0 + address_delta: 12 + energy: 11.893146 + - name: write + arguments: + data_delta: 1 + address_delta: 12 + energy: 59.984826 + - name: write + arguments: + data_delta: 0 + address_delta: 13 + energy: 12.717574 + - name: write + arguments: + data_delta: 1 + address_delta: 13 + energy: 60.809254 + - name: write + arguments: + data_delta: 0 + address_delta: 14 + energy: 13.542003 + - name: write + arguments: + data_delta: 1 + address_delta: 14 + energy: 61.633683 + - name: write + arguments: + data_delta: 0 + address_delta: 15 + energy: 14.366432 + - name: write + arguments: + data_delta: 1 + address_delta: 15 + energy: 62.458112 + - name: write + arguments: + data_delta: 0 + address_delta: 16 + energy: 15.190861 + - name: write + arguments: + data_delta: 1 + address_delta: 16 + energy: 63.282541 + - name: write + arguments: + data_delta: 0 + address_delta: 17 + energy: 16.01529 + - name: write + arguments: + data_delta: 1 + address_delta: 17 + energy: 64.10697 + - name: write + arguments: + data_delta: 0 + address_delta: 18 + energy: 16.839718 + - name: write + arguments: + data_delta: 1 + address_delta: 18 + energy: 64.931398 + - name: write + arguments: + data_delta: 0 + address_delta: 19 + energy: 17.664147 + - name: write + arguments: + data_delta: 1 + address_delta: 19 + energy: 65.755827 + - name: write + arguments: + data_delta: 0 + address_delta: 20 + energy: 18.488576 + - name: write + arguments: + data_delta: 1 + address_delta: 20 + energy: 66.580256 + - name: write + arguments: + data_delta: 0 + address_delta: 21 + energy: 19.313005 + - name: write + arguments: + data_delta: 1 + address_delta: 21 + energy: 67.404685 + - name: write + arguments: + data_delta: 0 + address_delta: 22 + energy: 20.137434 + - name: write + arguments: + data_delta: 1 + address_delta: 22 + energy: 68.229114 + - name: write + arguments: + data_delta: 0 + address_delta: 23 + energy: 20.961862 + - name: write + arguments: + data_delta: 1 + address_delta: 23 + energy: 69.053542 + - name: write + arguments: + data_delta: 0 + address_delta: 24 + energy: 21.786291 + - name: write + arguments: + data_delta: 1 + address_delta: 24 + energy: 69.877971 + - name: write + arguments: + data_delta: 0 + address_delta: 25 + energy: 22.61072 + - name: write + arguments: + data_delta: 1 + address_delta: 25 + energy: 70.7024 + - name: read + arguments: + data_delta: 0 + address_delta: 0 + energy: 2.0 + - name: read + arguments: + data_delta: 1 + address_delta: 0 + energy: 49.52223 + - name: read + arguments: + data_delta: 0 + address_delta: 1 + energy: 2.814667 + - name: read + arguments: + data_delta: 1 + address_delta: 1 + energy: 50.336897 + - name: read + arguments: + data_delta: 0 + address_delta: 2 + energy: 3.629334 + - name: read + arguments: + data_delta: 1 + address_delta: 2 + energy: 51.151564 + - name: read + arguments: + data_delta: 0 + address_delta: 3 + energy: 4.444 + - name: read + arguments: + data_delta: 1 + address_delta: 3 + energy: 51.96623 + - name: read + arguments: + data_delta: 0 + address_delta: 4 + energy: 5.258667 + - name: read + arguments: + data_delta: 1 + address_delta: 4 + energy: 52.780897 + - name: read + arguments: + data_delta: 0 + address_delta: 5 + energy: 6.073334 + - name: read + arguments: + data_delta: 1 + address_delta: 5 + energy: 53.595564 + - name: read + arguments: + data_delta: 0 + address_delta: 6 + energy: 6.888001 + - name: read + arguments: + data_delta: 1 + address_delta: 6 + energy: 54.410231 + - name: read + arguments: + data_delta: 0 + address_delta: 7 + energy: 7.702668 + - name: read + arguments: + data_delta: 1 + address_delta: 7 + energy: 55.224898 + - name: read + arguments: + data_delta: 0 + address_delta: 8 + energy: 8.517334 + - name: read + arguments: + data_delta: 1 + address_delta: 8 + energy: 56.039564 + - name: read + arguments: + data_delta: 0 + address_delta: 9 + energy: 9.332001 + - name: read + arguments: + data_delta: 1 + address_delta: 9 + energy: 56.854231 + - name: read + arguments: + data_delta: 0 + address_delta: 10 + energy: 10.146668 + - name: read + arguments: + data_delta: 1 + address_delta: 10 + energy: 57.668898 + - name: read + arguments: + data_delta: 0 + address_delta: 11 + energy: 10.961335 + - name: read + arguments: + data_delta: 1 + address_delta: 11 + energy: 58.483565 + - name: read + arguments: + data_delta: 0 + address_delta: 12 + energy: 11.776002 + - name: read + arguments: + data_delta: 1 + address_delta: 12 + energy: 59.298232 + - name: read + arguments: + data_delta: 0 + address_delta: 13 + energy: 12.590668 + - name: read + arguments: + data_delta: 1 + address_delta: 13 + energy: 60.112898 + - name: read + arguments: + data_delta: 0 + address_delta: 14 + energy: 13.405335 + - name: read + arguments: + data_delta: 1 + address_delta: 14 + energy: 60.927565 + - name: read + arguments: + data_delta: 0 + address_delta: 15 + energy: 14.220002 + - name: read + arguments: + data_delta: 1 + address_delta: 15 + energy: 61.742232 + - name: read + arguments: + data_delta: 0 + address_delta: 16 + energy: 15.034669 + - name: read + arguments: + data_delta: 1 + address_delta: 16 + energy: 62.556899 + - name: read + arguments: + data_delta: 0 + address_delta: 17 + energy: 15.849336 + - name: read + arguments: + data_delta: 1 + address_delta: 17 + energy: 63.371566 + - name: read + arguments: + data_delta: 0 + address_delta: 18 + energy: 16.664002 + - name: read + arguments: + data_delta: 1 + address_delta: 18 + energy: 64.186232 + - name: read + arguments: + data_delta: 0 + address_delta: 19 + energy: 17.478669 + - name: read + arguments: + data_delta: 1 + address_delta: 19 + energy: 65.000899 + - name: read + arguments: + data_delta: 0 + address_delta: 20 + energy: 18.293336 + - name: read + arguments: + data_delta: 1 + address_delta: 20 + energy: 65.815566 + - name: read + arguments: + data_delta: 0 + address_delta: 21 + energy: 19.108003 + - name: read + arguments: + data_delta: 1 + address_delta: 21 + energy: 66.630233 + - name: read + arguments: + data_delta: 0 + address_delta: 22 + energy: 19.92267 + - name: read + arguments: + data_delta: 1 + address_delta: 22 + energy: 67.4449 + - name: read + arguments: + data_delta: 0 + address_delta: 23 + energy: 20.737336 + - name: read + arguments: + data_delta: 1 + address_delta: 23 + energy: 68.259566 + - name: read + arguments: + data_delta: 0 + address_delta: 24 + energy: 21.552003 + - name: read + arguments: + data_delta: 1 + address_delta: 24 + energy: 69.074233 + - name: read + arguments: + data_delta: 0 + address_delta: 25 + energy: 22.36667 + - name: read + arguments: + data_delta: 1 + address_delta: 25 + energy: 69.8889 + - name: idle + arguments: {} + energy: 2.0 + - name: eyeriss_like.ifmap_NoC + actions: + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 1 + energy: 15.016 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 1 + energy: 17.016 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 1 + energy: 19.016 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 1 + energy: 21.016 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 1 + energy: 23.016 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 1 + energy: 25.016 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 1 + energy: 27.016 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 1 + energy: 29.016 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 1 + energy: 31.016 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 1 + energy: 33.016 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 1 + energy: 35.016 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 1 + energy: 37.016 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 2 + energy: 16.016 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 2 + energy: 19.016 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 2 + energy: 22.016 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 2 + energy: 25.016 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 2 + energy: 28.016 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 2 + energy: 31.016 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 2 + energy: 34.016 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 2 + energy: 37.016 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 2 + energy: 40.016 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 2 + energy: 43.016 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 2 + energy: 46.016 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 2 + energy: 49.016 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 3 + energy: 17.016 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 3 + energy: 21.016 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 3 + energy: 25.016 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 3 + energy: 29.016 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 3 + energy: 33.016 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 3 + energy: 37.016 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 3 + energy: 41.016 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 3 + energy: 45.016 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 3 + energy: 49.016 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 3 + energy: 53.016 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 3 + energy: 57.016 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 3 + energy: 61.016 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 4 + energy: 18.016 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 4 + energy: 23.016 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 4 + energy: 28.016 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 4 + energy: 33.016 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 4 + energy: 38.016 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 4 + energy: 43.016 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 4 + energy: 48.016 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 4 + energy: 53.016 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 4 + energy: 58.016 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 4 + energy: 63.016 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 4 + energy: 68.016 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 4 + energy: 73.016 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 5 + energy: 19.016 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 5 + energy: 25.016 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 5 + energy: 31.016 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 5 + energy: 37.016 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 5 + energy: 43.016 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 5 + energy: 49.016 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 5 + energy: 55.016 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 5 + energy: 61.016 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 5 + energy: 67.016 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 5 + energy: 73.016 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 5 + energy: 79.016 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 5 + energy: 85.016 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 6 + energy: 20.016 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 6 + energy: 27.016 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 6 + energy: 34.016 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 6 + energy: 41.016 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 6 + energy: 48.016 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 6 + energy: 55.016 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 6 + energy: 62.016 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 6 + energy: 69.016 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 6 + energy: 76.016 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 6 + energy: 83.016 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 6 + energy: 90.016 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 6 + energy: 97.016 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 7 + energy: 21.016 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 7 + energy: 29.016 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 7 + energy: 37.016 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 7 + energy: 45.016 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 7 + energy: 53.016 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 7 + energy: 61.016 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 7 + energy: 69.016 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 7 + energy: 77.016 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 7 + energy: 85.016 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 7 + energy: 93.016 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 7 + energy: 101.016 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 7 + energy: 109.016 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 8 + energy: 22.016 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 8 + energy: 31.016 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 8 + energy: 40.016 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 8 + energy: 49.016 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 8 + energy: 58.016 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 8 + energy: 67.016 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 8 + energy: 76.016 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 8 + energy: 85.016 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 8 + energy: 94.016 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 8 + energy: 103.016 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 8 + energy: 112.016 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 8 + energy: 121.016 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 9 + energy: 23.016 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 9 + energy: 33.016 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 9 + energy: 43.016 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 9 + energy: 53.016 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 9 + energy: 63.016 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 9 + energy: 73.016 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 9 + energy: 83.016 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 9 + energy: 93.016 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 9 + energy: 103.016 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 9 + energy: 113.016 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 9 + energy: 123.016 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 9 + energy: 133.016 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 10 + energy: 24.016 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 10 + energy: 35.016 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 10 + energy: 46.016 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 10 + energy: 57.016 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 10 + energy: 68.016 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 10 + energy: 79.016 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 10 + energy: 90.016 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 10 + energy: 101.016 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 10 + energy: 112.016 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 10 + energy: 123.016 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 10 + energy: 134.016 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 10 + energy: 145.016 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 11 + energy: 25.016 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 11 + energy: 37.016 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 11 + energy: 49.016 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 11 + energy: 61.016 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 11 + energy: 73.016 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 11 + energy: 85.016 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 11 + energy: 97.016 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 11 + energy: 109.016 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 11 + energy: 121.016 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 11 + energy: 133.016 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 11 + energy: 145.016 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 11 + energy: 157.016 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 12 + energy: 26.016 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 12 + energy: 39.016 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 12 + energy: 52.016 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 12 + energy: 65.016 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 12 + energy: 78.016 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 12 + energy: 91.016 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 12 + energy: 104.016 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 12 + energy: 117.016 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 12 + energy: 130.016 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 12 + energy: 143.016 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 12 + energy: 156.016 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 12 + energy: 169.016 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 13 + energy: 27.016 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 13 + energy: 41.016 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 13 + energy: 55.016 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 13 + energy: 69.016 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 13 + energy: 83.016 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 13 + energy: 97.016 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 13 + energy: 111.016 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 13 + energy: 125.016 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 13 + energy: 139.016 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 13 + energy: 153.016 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 13 + energy: 167.016 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 13 + energy: 181.016 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 14 + energy: 28.016 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 14 + energy: 43.016 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 14 + energy: 58.016 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 14 + energy: 73.016 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 14 + energy: 88.016 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 14 + energy: 103.016 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 14 + energy: 118.016 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 14 + energy: 133.016 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 14 + energy: 148.016 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 14 + energy: 163.016 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 14 + energy: 178.016 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 14 + energy: 193.016 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 1 + energy: 2.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 1 + energy: 4.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 1 + energy: 6.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 1 + energy: 8.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 1 + energy: 10.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 1 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 1 + energy: 14.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 1 + energy: 16.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 1 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 1 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 1 + energy: 22.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 1 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 2 + energy: 3.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 2 + energy: 6.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 2 + energy: 9.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 2 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 2 + energy: 15.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 2 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 2 + energy: 21.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 2 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 2 + energy: 27.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 2 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 2 + energy: 33.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 2 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 3 + energy: 4.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 3 + energy: 8.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 3 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 3 + energy: 16.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 3 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 3 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 3 + energy: 28.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 3 + energy: 32.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 3 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 3 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 3 + energy: 44.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 3 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 4 + energy: 5.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 4 + energy: 10.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 4 + energy: 15.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 4 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 4 + energy: 25.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 4 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 4 + energy: 35.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 4 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 4 + energy: 45.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 4 + energy: 50.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 4 + energy: 55.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 4 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 5 + energy: 6.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 5 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 5 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 5 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 5 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 5 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 5 + energy: 42.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 5 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 5 + energy: 54.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 5 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 5 + energy: 66.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 5 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 6 + energy: 7.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 6 + energy: 14.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 6 + energy: 21.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 6 + energy: 28.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 6 + energy: 35.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 6 + energy: 42.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 6 + energy: 49.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 6 + energy: 56.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 6 + energy: 63.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 6 + energy: 70.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 6 + energy: 77.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 6 + energy: 84.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 7 + energy: 8.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 7 + energy: 16.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 7 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 7 + energy: 32.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 7 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 7 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 7 + energy: 56.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 7 + energy: 64.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 7 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 7 + energy: 80.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 7 + energy: 88.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 7 + energy: 96.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 8 + energy: 9.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 8 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 8 + energy: 27.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 8 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 8 + energy: 45.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 8 + energy: 54.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 8 + energy: 63.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 8 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 8 + energy: 81.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 8 + energy: 90.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 8 + energy: 99.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 8 + energy: 108.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 9 + energy: 10.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 9 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 9 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 9 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 9 + energy: 50.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 9 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 9 + energy: 70.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 9 + energy: 80.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 9 + energy: 90.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 9 + energy: 100.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 9 + energy: 110.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 9 + energy: 120.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 10 + energy: 11.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 10 + energy: 22.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 10 + energy: 33.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 10 + energy: 44.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 10 + energy: 55.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 10 + energy: 66.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 10 + energy: 77.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 10 + energy: 88.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 10 + energy: 99.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 10 + energy: 110.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 10 + energy: 121.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 10 + energy: 132.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 11 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 11 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 11 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 11 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 11 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 11 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 11 + energy: 84.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 11 + energy: 96.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 11 + energy: 108.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 11 + energy: 120.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 11 + energy: 132.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 11 + energy: 144.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 12 + energy: 13.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 12 + energy: 26.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 12 + energy: 39.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 12 + energy: 52.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 12 + energy: 65.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 12 + energy: 78.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 12 + energy: 91.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 12 + energy: 104.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 12 + energy: 117.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 12 + energy: 130.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 12 + energy: 143.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 12 + energy: 156.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 13 + energy: 14.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 13 + energy: 28.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 13 + energy: 42.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 13 + energy: 56.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 13 + energy: 70.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 13 + energy: 84.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 13 + energy: 98.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 13 + energy: 112.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 13 + energy: 126.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 13 + energy: 140.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 13 + energy: 154.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 13 + energy: 168.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 14 + energy: 15.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 14 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 14 + energy: 45.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 14 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 14 + energy: 75.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 14 + energy: 90.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 14 + energy: 105.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 14 + energy: 120.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 14 + energy: 135.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 14 + energy: 150.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 14 + energy: 165.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 14 + energy: 180.0 + - name: idle + arguments: {} + energy: 180.0 + - name: eyeriss_like.weights_NoC + actions: + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 1 + energy: 46.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 1 + energy: 48.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 1 + energy: 50.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 1 + energy: 52.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 1 + energy: 54.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 1 + energy: 56.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 1 + energy: 58.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 1 + energy: 60.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 1 + energy: 62.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 1 + energy: 64.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 1 + energy: 66.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 1 + energy: 68.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 2 + energy: 47.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 2 + energy: 50.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 2 + energy: 53.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 2 + energy: 56.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 2 + energy: 59.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 2 + energy: 62.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 2 + energy: 65.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 2 + energy: 68.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 2 + energy: 71.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 2 + energy: 74.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 2 + energy: 77.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 2 + energy: 80.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 3 + energy: 48.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 3 + energy: 52.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 3 + energy: 56.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 3 + energy: 60.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 3 + energy: 64.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 3 + energy: 68.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 3 + energy: 72.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 3 + energy: 76.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 3 + energy: 80.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 3 + energy: 84.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 3 + energy: 88.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 3 + energy: 92.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 4 + energy: 49.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 4 + energy: 54.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 4 + energy: 59.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 4 + energy: 64.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 4 + energy: 69.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 4 + energy: 74.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 4 + energy: 79.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 4 + energy: 84.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 4 + energy: 89.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 4 + energy: 94.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 4 + energy: 99.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 4 + energy: 104.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 5 + energy: 50.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 5 + energy: 56.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 5 + energy: 62.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 5 + energy: 68.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 5 + energy: 74.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 5 + energy: 80.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 5 + energy: 86.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 5 + energy: 92.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 5 + energy: 98.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 5 + energy: 104.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 5 + energy: 110.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 5 + energy: 116.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 6 + energy: 51.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 6 + energy: 58.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 6 + energy: 65.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 6 + energy: 72.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 6 + energy: 79.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 6 + energy: 86.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 6 + energy: 93.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 6 + energy: 100.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 6 + energy: 107.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 6 + energy: 114.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 6 + energy: 121.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 6 + energy: 128.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 7 + energy: 52.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 7 + energy: 60.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 7 + energy: 68.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 7 + energy: 76.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 7 + energy: 84.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 7 + energy: 92.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 7 + energy: 100.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 7 + energy: 108.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 7 + energy: 116.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 7 + energy: 124.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 7 + energy: 132.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 7 + energy: 140.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 8 + energy: 53.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 8 + energy: 62.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 8 + energy: 71.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 8 + energy: 80.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 8 + energy: 89.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 8 + energy: 98.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 8 + energy: 107.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 8 + energy: 116.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 8 + energy: 125.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 8 + energy: 134.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 8 + energy: 143.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 8 + energy: 152.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 9 + energy: 54.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 9 + energy: 64.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 9 + energy: 74.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 9 + energy: 84.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 9 + energy: 94.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 9 + energy: 104.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 9 + energy: 114.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 9 + energy: 124.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 9 + energy: 134.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 9 + energy: 144.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 9 + energy: 154.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 9 + energy: 164.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 10 + energy: 55.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 10 + energy: 66.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 10 + energy: 77.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 10 + energy: 88.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 10 + energy: 99.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 10 + energy: 110.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 10 + energy: 121.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 10 + energy: 132.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 10 + energy: 143.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 10 + energy: 154.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 10 + energy: 165.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 10 + energy: 176.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 11 + energy: 56.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 11 + energy: 68.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 11 + energy: 80.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 11 + energy: 92.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 11 + energy: 104.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 11 + energy: 116.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 11 + energy: 128.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 11 + energy: 140.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 11 + energy: 152.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 11 + energy: 164.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 11 + energy: 176.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 11 + energy: 188.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 12 + energy: 57.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 12 + energy: 70.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 12 + energy: 83.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 12 + energy: 96.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 12 + energy: 109.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 12 + energy: 122.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 12 + energy: 135.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 12 + energy: 148.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 12 + energy: 161.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 12 + energy: 174.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 12 + energy: 187.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 12 + energy: 200.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 13 + energy: 58.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 13 + energy: 72.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 13 + energy: 86.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 13 + energy: 100.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 13 + energy: 114.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 13 + energy: 128.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 13 + energy: 142.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 13 + energy: 156.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 13 + energy: 170.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 13 + energy: 184.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 13 + energy: 198.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 13 + energy: 212.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 14 + energy: 59.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 14 + energy: 74.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 14 + energy: 89.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 14 + energy: 104.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 14 + energy: 119.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 14 + energy: 134.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 14 + energy: 149.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 14 + energy: 164.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 14 + energy: 179.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 14 + energy: 194.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 14 + energy: 209.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 14 + energy: 224.2544 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 1 + energy: 2.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 1 + energy: 4.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 1 + energy: 6.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 1 + energy: 8.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 1 + energy: 10.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 1 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 1 + energy: 14.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 1 + energy: 16.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 1 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 1 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 1 + energy: 22.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 1 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 2 + energy: 3.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 2 + energy: 6.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 2 + energy: 9.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 2 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 2 + energy: 15.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 2 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 2 + energy: 21.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 2 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 2 + energy: 27.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 2 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 2 + energy: 33.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 2 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 3 + energy: 4.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 3 + energy: 8.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 3 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 3 + energy: 16.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 3 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 3 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 3 + energy: 28.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 3 + energy: 32.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 3 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 3 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 3 + energy: 44.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 3 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 4 + energy: 5.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 4 + energy: 10.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 4 + energy: 15.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 4 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 4 + energy: 25.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 4 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 4 + energy: 35.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 4 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 4 + energy: 45.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 4 + energy: 50.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 4 + energy: 55.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 4 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 5 + energy: 6.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 5 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 5 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 5 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 5 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 5 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 5 + energy: 42.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 5 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 5 + energy: 54.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 5 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 5 + energy: 66.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 5 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 6 + energy: 7.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 6 + energy: 14.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 6 + energy: 21.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 6 + energy: 28.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 6 + energy: 35.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 6 + energy: 42.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 6 + energy: 49.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 6 + energy: 56.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 6 + energy: 63.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 6 + energy: 70.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 6 + energy: 77.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 6 + energy: 84.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 7 + energy: 8.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 7 + energy: 16.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 7 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 7 + energy: 32.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 7 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 7 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 7 + energy: 56.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 7 + energy: 64.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 7 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 7 + energy: 80.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 7 + energy: 88.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 7 + energy: 96.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 8 + energy: 9.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 8 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 8 + energy: 27.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 8 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 8 + energy: 45.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 8 + energy: 54.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 8 + energy: 63.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 8 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 8 + energy: 81.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 8 + energy: 90.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 8 + energy: 99.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 8 + energy: 108.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 9 + energy: 10.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 9 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 9 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 9 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 9 + energy: 50.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 9 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 9 + energy: 70.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 9 + energy: 80.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 9 + energy: 90.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 9 + energy: 100.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 9 + energy: 110.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 9 + energy: 120.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 10 + energy: 11.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 10 + energy: 22.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 10 + energy: 33.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 10 + energy: 44.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 10 + energy: 55.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 10 + energy: 66.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 10 + energy: 77.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 10 + energy: 88.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 10 + energy: 99.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 10 + energy: 110.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 10 + energy: 121.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 10 + energy: 132.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 11 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 11 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 11 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 11 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 11 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 11 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 11 + energy: 84.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 11 + energy: 96.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 11 + energy: 108.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 11 + energy: 120.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 11 + energy: 132.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 11 + energy: 144.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 12 + energy: 13.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 12 + energy: 26.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 12 + energy: 39.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 12 + energy: 52.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 12 + energy: 65.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 12 + energy: 78.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 12 + energy: 91.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 12 + energy: 104.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 12 + energy: 117.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 12 + energy: 130.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 12 + energy: 143.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 12 + energy: 156.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 13 + energy: 14.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 13 + energy: 28.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 13 + energy: 42.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 13 + energy: 56.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 13 + energy: 70.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 13 + energy: 84.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 13 + energy: 98.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 13 + energy: 112.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 13 + energy: 126.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 13 + energy: 140.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 13 + energy: 154.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 13 + energy: 168.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 14 + energy: 15.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 14 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 14 + energy: 45.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 14 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 14 + energy: 75.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 14 + energy: 90.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 14 + energy: 105.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 14 + energy: 120.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 14 + energy: 135.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 14 + energy: 150.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 14 + energy: 165.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 14 + energy: 180.0 + - name: idle + arguments: {} + energy: 180.0 + - name: eyeriss_like.psum_write_NoC + actions: + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 1 + energy: 46.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 1 + energy: 48.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 1 + energy: 50.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 1 + energy: 52.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 1 + energy: 54.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 1 + energy: 56.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 1 + energy: 58.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 1 + energy: 60.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 1 + energy: 62.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 1 + energy: 64.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 1 + energy: 66.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 1 + energy: 68.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 2 + energy: 47.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 2 + energy: 50.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 2 + energy: 53.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 2 + energy: 56.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 2 + energy: 59.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 2 + energy: 62.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 2 + energy: 65.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 2 + energy: 68.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 2 + energy: 71.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 2 + energy: 74.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 2 + energy: 77.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 2 + energy: 80.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 3 + energy: 48.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 3 + energy: 52.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 3 + energy: 56.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 3 + energy: 60.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 3 + energy: 64.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 3 + energy: 68.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 3 + energy: 72.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 3 + energy: 76.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 3 + energy: 80.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 3 + energy: 84.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 3 + energy: 88.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 3 + energy: 92.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 4 + energy: 49.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 4 + energy: 54.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 4 + energy: 59.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 4 + energy: 64.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 4 + energy: 69.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 4 + energy: 74.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 4 + energy: 79.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 4 + energy: 84.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 4 + energy: 89.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 4 + energy: 94.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 4 + energy: 99.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 4 + energy: 104.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 5 + energy: 50.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 5 + energy: 56.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 5 + energy: 62.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 5 + energy: 68.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 5 + energy: 74.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 5 + energy: 80.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 5 + energy: 86.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 5 + energy: 92.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 5 + energy: 98.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 5 + energy: 104.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 5 + energy: 110.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 5 + energy: 116.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 6 + energy: 51.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 6 + energy: 58.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 6 + energy: 65.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 6 + energy: 72.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 6 + energy: 79.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 6 + energy: 86.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 6 + energy: 93.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 6 + energy: 100.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 6 + energy: 107.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 6 + energy: 114.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 6 + energy: 121.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 6 + energy: 128.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 7 + energy: 52.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 7 + energy: 60.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 7 + energy: 68.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 7 + energy: 76.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 7 + energy: 84.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 7 + energy: 92.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 7 + energy: 100.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 7 + energy: 108.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 7 + energy: 116.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 7 + energy: 124.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 7 + energy: 132.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 7 + energy: 140.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 8 + energy: 53.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 8 + energy: 62.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 8 + energy: 71.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 8 + energy: 80.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 8 + energy: 89.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 8 + energy: 98.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 8 + energy: 107.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 8 + energy: 116.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 8 + energy: 125.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 8 + energy: 134.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 8 + energy: 143.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 8 + energy: 152.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 9 + energy: 54.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 9 + energy: 64.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 9 + energy: 74.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 9 + energy: 84.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 9 + energy: 94.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 9 + energy: 104.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 9 + energy: 114.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 9 + energy: 124.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 9 + energy: 134.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 9 + energy: 144.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 9 + energy: 154.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 9 + energy: 164.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 10 + energy: 55.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 10 + energy: 66.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 10 + energy: 77.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 10 + energy: 88.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 10 + energy: 99.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 10 + energy: 110.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 10 + energy: 121.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 10 + energy: 132.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 10 + energy: 143.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 10 + energy: 154.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 10 + energy: 165.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 10 + energy: 176.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 11 + energy: 56.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 11 + energy: 68.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 11 + energy: 80.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 11 + energy: 92.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 11 + energy: 104.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 11 + energy: 116.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 11 + energy: 128.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 11 + energy: 140.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 11 + energy: 152.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 11 + energy: 164.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 11 + energy: 176.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 11 + energy: 188.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 12 + energy: 57.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 12 + energy: 70.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 12 + energy: 83.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 12 + energy: 96.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 12 + energy: 109.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 12 + energy: 122.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 12 + energy: 135.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 12 + energy: 148.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 12 + energy: 161.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 12 + energy: 174.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 12 + energy: 187.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 12 + energy: 200.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 13 + energy: 58.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 13 + energy: 72.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 13 + energy: 86.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 13 + energy: 100.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 13 + energy: 114.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 13 + energy: 128.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 13 + energy: 142.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 13 + energy: 156.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 13 + energy: 170.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 13 + energy: 184.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 13 + energy: 198.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 13 + energy: 212.2544 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 14 + energy: 59.2544 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 14 + energy: 74.2544 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 14 + energy: 89.2544 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 14 + energy: 104.2544 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 14 + energy: 119.2544 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 14 + energy: 134.2544 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 14 + energy: 149.2544 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 14 + energy: 164.2544 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 14 + energy: 179.2544 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 14 + energy: 194.2544 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 14 + energy: 209.2544 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 14 + energy: 224.2544 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 1 + energy: 2.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 1 + energy: 4.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 1 + energy: 6.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 1 + energy: 8.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 1 + energy: 10.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 1 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 1 + energy: 14.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 1 + energy: 16.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 1 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 1 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 1 + energy: 22.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 1 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 2 + energy: 3.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 2 + energy: 6.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 2 + energy: 9.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 2 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 2 + energy: 15.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 2 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 2 + energy: 21.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 2 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 2 + energy: 27.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 2 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 2 + energy: 33.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 2 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 3 + energy: 4.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 3 + energy: 8.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 3 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 3 + energy: 16.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 3 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 3 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 3 + energy: 28.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 3 + energy: 32.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 3 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 3 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 3 + energy: 44.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 3 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 4 + energy: 5.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 4 + energy: 10.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 4 + energy: 15.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 4 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 4 + energy: 25.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 4 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 4 + energy: 35.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 4 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 4 + energy: 45.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 4 + energy: 50.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 4 + energy: 55.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 4 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 5 + energy: 6.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 5 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 5 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 5 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 5 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 5 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 5 + energy: 42.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 5 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 5 + energy: 54.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 5 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 5 + energy: 66.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 5 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 6 + energy: 7.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 6 + energy: 14.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 6 + energy: 21.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 6 + energy: 28.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 6 + energy: 35.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 6 + energy: 42.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 6 + energy: 49.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 6 + energy: 56.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 6 + energy: 63.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 6 + energy: 70.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 6 + energy: 77.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 6 + energy: 84.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 7 + energy: 8.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 7 + energy: 16.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 7 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 7 + energy: 32.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 7 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 7 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 7 + energy: 56.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 7 + energy: 64.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 7 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 7 + energy: 80.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 7 + energy: 88.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 7 + energy: 96.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 8 + energy: 9.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 8 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 8 + energy: 27.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 8 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 8 + energy: 45.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 8 + energy: 54.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 8 + energy: 63.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 8 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 8 + energy: 81.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 8 + energy: 90.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 8 + energy: 99.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 8 + energy: 108.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 9 + energy: 10.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 9 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 9 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 9 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 9 + energy: 50.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 9 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 9 + energy: 70.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 9 + energy: 80.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 9 + energy: 90.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 9 + energy: 100.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 9 + energy: 110.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 9 + energy: 120.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 10 + energy: 11.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 10 + energy: 22.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 10 + energy: 33.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 10 + energy: 44.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 10 + energy: 55.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 10 + energy: 66.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 10 + energy: 77.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 10 + energy: 88.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 10 + energy: 99.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 10 + energy: 110.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 10 + energy: 121.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 10 + energy: 132.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 11 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 11 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 11 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 11 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 11 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 11 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 11 + energy: 84.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 11 + energy: 96.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 11 + energy: 108.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 11 + energy: 120.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 11 + energy: 132.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 11 + energy: 144.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 12 + energy: 13.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 12 + energy: 26.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 12 + energy: 39.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 12 + energy: 52.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 12 + energy: 65.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 12 + energy: 78.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 12 + energy: 91.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 12 + energy: 104.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 12 + energy: 117.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 12 + energy: 130.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 12 + energy: 143.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 12 + energy: 156.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 13 + energy: 14.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 13 + energy: 28.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 13 + energy: 42.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 13 + energy: 56.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 13 + energy: 70.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 13 + energy: 84.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 13 + energy: 98.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 13 + energy: 112.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 13 + energy: 126.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 13 + energy: 140.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 13 + energy: 154.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 13 + energy: 168.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 14 + energy: 15.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 14 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 14 + energy: 45.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 14 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 14 + energy: 75.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 14 + energy: 90.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 14 + energy: 105.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 14 + energy: 120.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 14 + energy: 135.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 14 + energy: 150.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 14 + energy: 165.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 14 + energy: 180.0 + - name: idle + arguments: {} + energy: 180.0 + - name: eyeriss_like.psum_read_NoC + actions: + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 1 + energy: 90.5088 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 1 + energy: 92.5088 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 1 + energy: 94.5088 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 1 + energy: 96.5088 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 1 + energy: 98.5088 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 1 + energy: 100.5088 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 1 + energy: 102.5088 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 1 + energy: 104.5088 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 1 + energy: 106.5088 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 1 + energy: 108.5088 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 1 + energy: 110.5088 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 1 + energy: 112.5088 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 2 + energy: 91.5088 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 2 + energy: 94.5088 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 2 + energy: 97.5088 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 2 + energy: 100.5088 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 2 + energy: 103.5088 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 2 + energy: 106.5088 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 2 + energy: 109.5088 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 2 + energy: 112.5088 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 2 + energy: 115.5088 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 2 + energy: 118.5088 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 2 + energy: 121.5088 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 2 + energy: 124.5088 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 3 + energy: 92.5088 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 3 + energy: 96.5088 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 3 + energy: 100.5088 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 3 + energy: 104.5088 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 3 + energy: 108.5088 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 3 + energy: 112.5088 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 3 + energy: 116.5088 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 3 + energy: 120.5088 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 3 + energy: 124.5088 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 3 + energy: 128.5088 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 3 + energy: 132.5088 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 3 + energy: 136.5088 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 4 + energy: 93.5088 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 4 + energy: 98.5088 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 4 + energy: 103.5088 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 4 + energy: 108.5088 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 4 + energy: 113.5088 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 4 + energy: 118.5088 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 4 + energy: 123.5088 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 4 + energy: 128.5088 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 4 + energy: 133.5088 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 4 + energy: 138.5088 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 4 + energy: 143.5088 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 4 + energy: 148.5088 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 5 + energy: 94.5088 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 5 + energy: 100.5088 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 5 + energy: 106.5088 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 5 + energy: 112.5088 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 5 + energy: 118.5088 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 5 + energy: 124.5088 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 5 + energy: 130.5088 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 5 + energy: 136.5088 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 5 + energy: 142.5088 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 5 + energy: 148.5088 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 5 + energy: 154.5088 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 5 + energy: 160.5088 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 6 + energy: 95.5088 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 6 + energy: 102.5088 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 6 + energy: 109.5088 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 6 + energy: 116.5088 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 6 + energy: 123.5088 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 6 + energy: 130.5088 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 6 + energy: 137.5088 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 6 + energy: 144.5088 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 6 + energy: 151.5088 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 6 + energy: 158.5088 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 6 + energy: 165.5088 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 6 + energy: 172.5088 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 7 + energy: 96.5088 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 7 + energy: 104.5088 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 7 + energy: 112.5088 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 7 + energy: 120.5088 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 7 + energy: 128.5088 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 7 + energy: 136.5088 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 7 + energy: 144.5088 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 7 + energy: 152.5088 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 7 + energy: 160.5088 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 7 + energy: 168.5088 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 7 + energy: 176.5088 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 7 + energy: 184.5088 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 8 + energy: 97.5088 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 8 + energy: 106.5088 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 8 + energy: 115.5088 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 8 + energy: 124.5088 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 8 + energy: 133.5088 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 8 + energy: 142.5088 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 8 + energy: 151.5088 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 8 + energy: 160.5088 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 8 + energy: 169.5088 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 8 + energy: 178.5088 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 8 + energy: 187.5088 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 8 + energy: 196.5088 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 9 + energy: 98.5088 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 9 + energy: 108.5088 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 9 + energy: 118.5088 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 9 + energy: 128.5088 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 9 + energy: 138.5088 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 9 + energy: 148.5088 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 9 + energy: 158.5088 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 9 + energy: 168.5088 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 9 + energy: 178.5088 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 9 + energy: 188.5088 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 9 + energy: 198.5088 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 9 + energy: 208.5088 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 10 + energy: 99.5088 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 10 + energy: 110.5088 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 10 + energy: 121.5088 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 10 + energy: 132.5088 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 10 + energy: 143.5088 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 10 + energy: 154.5088 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 10 + energy: 165.5088 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 10 + energy: 176.5088 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 10 + energy: 187.5088 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 10 + energy: 198.5088 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 10 + energy: 209.5088 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 10 + energy: 220.5088 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 11 + energy: 100.5088 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 11 + energy: 112.5088 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 11 + energy: 124.5088 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 11 + energy: 136.5088 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 11 + energy: 148.5088 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 11 + energy: 160.5088 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 11 + energy: 172.5088 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 11 + energy: 184.5088 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 11 + energy: 196.5088 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 11 + energy: 208.5088 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 11 + energy: 220.5088 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 11 + energy: 232.5088 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 12 + energy: 101.5088 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 12 + energy: 114.5088 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 12 + energy: 127.5088 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 12 + energy: 140.5088 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 12 + energy: 153.5088 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 12 + energy: 166.5088 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 12 + energy: 179.5088 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 12 + energy: 192.5088 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 12 + energy: 205.5088 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 12 + energy: 218.5088 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 12 + energy: 231.5088 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 12 + energy: 244.5088 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 13 + energy: 102.5088 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 13 + energy: 116.5088 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 13 + energy: 130.5088 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 13 + energy: 144.5088 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 13 + energy: 158.5088 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 13 + energy: 172.5088 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 13 + energy: 186.5088 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 13 + energy: 200.5088 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 13 + energy: 214.5088 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 13 + energy: 228.5088 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 13 + energy: 242.5088 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 13 + energy: 256.5088 + - name: transfer_random + arguments: + n_rows: 1 + n_cols_per_row: 14 + energy: 103.5088 + - name: transfer_random + arguments: + n_rows: 2 + n_cols_per_row: 14 + energy: 118.5088 + - name: transfer_random + arguments: + n_rows: 3 + n_cols_per_row: 14 + energy: 133.5088 + - name: transfer_random + arguments: + n_rows: 4 + n_cols_per_row: 14 + energy: 148.5088 + - name: transfer_random + arguments: + n_rows: 5 + n_cols_per_row: 14 + energy: 163.5088 + - name: transfer_random + arguments: + n_rows: 6 + n_cols_per_row: 14 + energy: 178.5088 + - name: transfer_random + arguments: + n_rows: 7 + n_cols_per_row: 14 + energy: 193.5088 + - name: transfer_random + arguments: + n_rows: 8 + n_cols_per_row: 14 + energy: 208.5088 + - name: transfer_random + arguments: + n_rows: 9 + n_cols_per_row: 14 + energy: 223.5088 + - name: transfer_random + arguments: + n_rows: 10 + n_cols_per_row: 14 + energy: 238.5088 + - name: transfer_random + arguments: + n_rows: 11 + n_cols_per_row: 14 + energy: 253.5088 + - name: transfer_random + arguments: + n_rows: 12 + n_cols_per_row: 14 + energy: 268.5088 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 1 + energy: 2.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 1 + energy: 4.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 1 + energy: 6.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 1 + energy: 8.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 1 + energy: 10.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 1 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 1 + energy: 14.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 1 + energy: 16.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 1 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 1 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 1 + energy: 22.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 1 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 2 + energy: 3.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 2 + energy: 6.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 2 + energy: 9.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 2 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 2 + energy: 15.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 2 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 2 + energy: 21.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 2 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 2 + energy: 27.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 2 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 2 + energy: 33.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 2 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 3 + energy: 4.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 3 + energy: 8.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 3 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 3 + energy: 16.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 3 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 3 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 3 + energy: 28.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 3 + energy: 32.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 3 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 3 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 3 + energy: 44.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 3 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 4 + energy: 5.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 4 + energy: 10.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 4 + energy: 15.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 4 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 4 + energy: 25.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 4 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 4 + energy: 35.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 4 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 4 + energy: 45.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 4 + energy: 50.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 4 + energy: 55.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 4 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 5 + energy: 6.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 5 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 5 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 5 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 5 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 5 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 5 + energy: 42.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 5 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 5 + energy: 54.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 5 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 5 + energy: 66.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 5 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 6 + energy: 7.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 6 + energy: 14.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 6 + energy: 21.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 6 + energy: 28.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 6 + energy: 35.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 6 + energy: 42.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 6 + energy: 49.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 6 + energy: 56.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 6 + energy: 63.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 6 + energy: 70.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 6 + energy: 77.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 6 + energy: 84.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 7 + energy: 8.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 7 + energy: 16.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 7 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 7 + energy: 32.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 7 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 7 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 7 + energy: 56.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 7 + energy: 64.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 7 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 7 + energy: 80.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 7 + energy: 88.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 7 + energy: 96.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 8 + energy: 9.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 8 + energy: 18.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 8 + energy: 27.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 8 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 8 + energy: 45.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 8 + energy: 54.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 8 + energy: 63.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 8 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 8 + energy: 81.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 8 + energy: 90.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 8 + energy: 99.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 8 + energy: 108.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 9 + energy: 10.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 9 + energy: 20.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 9 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 9 + energy: 40.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 9 + energy: 50.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 9 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 9 + energy: 70.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 9 + energy: 80.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 9 + energy: 90.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 9 + energy: 100.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 9 + energy: 110.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 9 + energy: 120.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 10 + energy: 11.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 10 + energy: 22.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 10 + energy: 33.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 10 + energy: 44.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 10 + energy: 55.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 10 + energy: 66.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 10 + energy: 77.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 10 + energy: 88.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 10 + energy: 99.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 10 + energy: 110.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 10 + energy: 121.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 10 + energy: 132.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 11 + energy: 12.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 11 + energy: 24.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 11 + energy: 36.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 11 + energy: 48.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 11 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 11 + energy: 72.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 11 + energy: 84.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 11 + energy: 96.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 11 + energy: 108.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 11 + energy: 120.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 11 + energy: 132.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 11 + energy: 144.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 12 + energy: 13.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 12 + energy: 26.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 12 + energy: 39.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 12 + energy: 52.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 12 + energy: 65.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 12 + energy: 78.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 12 + energy: 91.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 12 + energy: 104.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 12 + energy: 117.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 12 + energy: 130.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 12 + energy: 143.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 12 + energy: 156.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 13 + energy: 14.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 13 + energy: 28.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 13 + energy: 42.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 13 + energy: 56.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 13 + energy: 70.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 13 + energy: 84.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 13 + energy: 98.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 13 + energy: 112.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 13 + energy: 126.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 13 + energy: 140.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 13 + energy: 154.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 13 + energy: 168.0 + - name: transfer_repeated + arguments: + n_rows: 1 + n_cols_per_row: 14 + energy: 15.0 + - name: transfer_repeated + arguments: + n_rows: 2 + n_cols_per_row: 14 + energy: 30.0 + - name: transfer_repeated + arguments: + n_rows: 3 + n_cols_per_row: 14 + energy: 45.0 + - name: transfer_repeated + arguments: + n_rows: 4 + n_cols_per_row: 14 + energy: 60.0 + - name: transfer_repeated + arguments: + n_rows: 5 + n_cols_per_row: 14 + energy: 75.0 + - name: transfer_repeated + arguments: + n_rows: 6 + n_cols_per_row: 14 + energy: 90.0 + - name: transfer_repeated + arguments: + n_rows: 7 + n_cols_per_row: 14 + energy: 105.0 + - name: transfer_repeated + arguments: + n_rows: 8 + n_cols_per_row: 14 + energy: 120.0 + - name: transfer_repeated + arguments: + n_rows: 9 + n_cols_per_row: 14 + energy: 135.0 + - name: transfer_repeated + arguments: + n_rows: 10 + n_cols_per_row: 14 + energy: 150.0 + - name: transfer_repeated + arguments: + n_rows: 11 + n_cols_per_row: 14 + energy: 165.0 + - name: transfer_repeated + arguments: + n_rows: 12 + n_cols_per_row: 14 + energy: 180.0 + - name: idle + arguments: {} + energy: 180.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/ERT_summary.yaml new file mode 100644 index 00000000..ef393161 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/ERT_summary.yaml @@ -0,0 +1,293 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: eyeriss_like.PE[0..167].mac + actions: + - name: mac_random + energy: 1.0 + - name: mac_reused + energy: 1.0 + - name: mac_gated + energy: 1.0 + - name: idle + energy: 1.0 + primitive_estimation(s): + - name: eyeriss_like.PE[0..167].mac + estimator: dummy_table + - name: eyeriss_like.PE[0..167].ifmap_spad + actions: + - name: write + average_energy: 3.0 + max_energy: 3.0 + min_energy: 3.0 + - name: read + average_energy: 3.0 + max_energy: 3.0 + min_energy: 3.0 + - name: idle + energy: 3.0 + primitive_estimation(s): + - name: storage + estimator: dummy_table + - name: address_generators[0] + estimator: dummy_table + - name: address_generators[1] + estimator: dummy_table + - name: address_generators[0..1] + estimator: dummy_table + - name: eyeriss_like.PE[0..167].weights_spad + actions: + - name: write + average_energy: 3.0 + max_energy: 3.0 + min_energy: 3.0 + - name: read + average_energy: 3.0 + max_energy: 3.0 + min_energy: 3.0 + - name: idle + energy: 3.0 + primitive_estimation(s): + - name: storage + estimator: dummy_table + - name: address_generators[0] + estimator: dummy_table + - name: address_generators[1] + estimator: dummy_table + - name: address_generators[0..1] + estimator: dummy_table + - name: eyeriss_like.PE[0..167].psum_spad + actions: + - name: write + average_energy: 3.0 + max_energy: 3.0 + min_energy: 3.0 + - name: read + average_energy: 3.0 + max_energy: 3.0 + min_energy: 3.0 + - name: idle + energy: 3.0 + primitive_estimation(s): + - name: storage + estimator: dummy_table + - name: address_generators[0] + estimator: dummy_table + - name: address_generators[1] + estimator: dummy_table + - name: address_generators[0..1] + estimator: dummy_table + - name: eyeriss_like.weights_glb + actions: + - name: write + average_energy: 7.64535 + max_energy: 13.2907 + min_energy: 2.0 + - name: read + average_energy: 7.11005 + max_energy: 12.2201 + min_energy: 2.0 + - name: idle + energy: 2.0 + primitive_estimation(s): + - name: storage + estimator: CACTI + - name: address_generators[0] + estimator: dummy_table + - name: address_generators[1] + estimator: dummy_table + - name: address_generators[0..1] + estimator: dummy_table + - name: eyeriss_like.shared_glb + actions: + - name: write + average_energy: 36.3512 + max_energy: 70.7024 + min_energy: 2.0 + - name: read + average_energy: 35.94445 + max_energy: 69.8889 + min_energy: 2.0 + - name: idle + energy: 2.0 + primitive_estimation(s): + - name: storage + estimator: CACTI + - name: address_generators[0] + estimator: dummy_table + - name: address_generators[1] + estimator: dummy_table + - name: address_generators[0..1] + estimator: dummy_table + - name: eyeriss_like.ifmap_NoC + actions: + - name: transfer_random + average_energy: 68.266 + max_energy: 193.016 + min_energy: 15.016 + - name: transfer_repeated + average_energy: 55.25 + max_energy: 180.0 + min_energy: 2.0 + - name: idle + energy: 180.0 + primitive_estimation(s): + - name: Y_memory_controller[0..0] + estimator: dummy_table + - name: X_memory_controller[0] + estimator: dummy_table + - name: Y_X_wire + estimator: Aladdin_table + - name: Y_memory_controller[0..1] + estimator: dummy_table + - name: Y_memory_controller[0..2] + estimator: dummy_table + - name: Y_memory_controller[0..3] + estimator: dummy_table + - name: Y_memory_controller[0..4] + estimator: dummy_table + - name: Y_memory_controller[0..5] + estimator: dummy_table + - name: Y_memory_controller[0..6] + estimator: dummy_table + - name: Y_memory_controller[0..7] + estimator: dummy_table + - name: Y_memory_controller[0..8] + estimator: dummy_table + - name: Y_memory_controller[0..9] + estimator: dummy_table + - name: Y_memory_controller[0..10] + estimator: dummy_table + - name: Y_memory_controller[0..11] + estimator: dummy_table + - name: X_memory_controller[0..167] + estimator: dummy_table + - name: eyeriss_like.weights_NoC + actions: + - name: transfer_random + average_energy: 99.5044 + max_energy: 224.2544 + min_energy: 46.2544 + - name: transfer_repeated + average_energy: 55.25 + max_energy: 180.0 + min_energy: 2.0 + - name: idle + energy: 180.0 + primitive_estimation(s): + - name: Y_memory_controller[0..0] + estimator: dummy_table + - name: X_memory_controller[0] + estimator: dummy_table + - name: Y_X_wire + estimator: Aladdin_table + - name: Y_memory_controller[0..1] + estimator: dummy_table + - name: Y_memory_controller[0..2] + estimator: dummy_table + - name: Y_memory_controller[0..3] + estimator: dummy_table + - name: Y_memory_controller[0..4] + estimator: dummy_table + - name: Y_memory_controller[0..5] + estimator: dummy_table + - name: Y_memory_controller[0..6] + estimator: dummy_table + - name: Y_memory_controller[0..7] + estimator: dummy_table + - name: Y_memory_controller[0..8] + estimator: dummy_table + - name: Y_memory_controller[0..9] + estimator: dummy_table + - name: Y_memory_controller[0..10] + estimator: dummy_table + - name: Y_memory_controller[0..11] + estimator: dummy_table + - name: X_memory_controller[0..167] + estimator: dummy_table + - name: eyeriss_like.psum_write_NoC + actions: + - name: transfer_random + average_energy: 99.5044 + max_energy: 224.2544 + min_energy: 46.2544 + - name: transfer_repeated + average_energy: 55.25 + max_energy: 180.0 + min_energy: 2.0 + - name: idle + energy: 180.0 + primitive_estimation(s): + - name: Y_memory_controller[0..0] + estimator: dummy_table + - name: X_memory_controller[0] + estimator: dummy_table + - name: Y_X_wire + estimator: Aladdin_table + - name: Y_memory_controller[0..1] + estimator: dummy_table + - name: Y_memory_controller[0..2] + estimator: dummy_table + - name: Y_memory_controller[0..3] + estimator: dummy_table + - name: Y_memory_controller[0..4] + estimator: dummy_table + - name: Y_memory_controller[0..5] + estimator: dummy_table + - name: Y_memory_controller[0..6] + estimator: dummy_table + - name: Y_memory_controller[0..7] + estimator: dummy_table + - name: Y_memory_controller[0..8] + estimator: dummy_table + - name: Y_memory_controller[0..9] + estimator: dummy_table + - name: Y_memory_controller[0..10] + estimator: dummy_table + - name: Y_memory_controller[0..11] + estimator: dummy_table + - name: X_memory_controller[0..167] + estimator: dummy_table + - name: eyeriss_like.psum_read_NoC + actions: + - name: transfer_random + average_energy: 143.7588 + max_energy: 268.5088 + min_energy: 90.5088 + - name: transfer_repeated + average_energy: 55.25 + max_energy: 180.0 + min_energy: 2.0 + - name: idle + energy: 180.0 + primitive_estimation(s): + - name: Y_memory_controller[0..0] + estimator: dummy_table + - name: X_memory_controller[0] + estimator: dummy_table + - name: Y_X_wire + estimator: Aladdin_table + - name: Y_memory_controller[0..1] + estimator: dummy_table + - name: Y_memory_controller[0..2] + estimator: dummy_table + - name: Y_memory_controller[0..3] + estimator: dummy_table + - name: Y_memory_controller[0..4] + estimator: dummy_table + - name: Y_memory_controller[0..5] + estimator: dummy_table + - name: Y_memory_controller[0..6] + estimator: dummy_table + - name: Y_memory_controller[0..7] + estimator: dummy_table + - name: Y_memory_controller[0..8] + estimator: dummy_table + - name: Y_memory_controller[0..9] + estimator: dummy_table + - name: Y_memory_controller[0..10] + estimator: dummy_table + - name: Y_memory_controller[0..11] + estimator: dummy_table + - name: X_memory_controller[0..167] + estimator: dummy_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/energy_estimation.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/energy_estimation.yaml new file mode 100644 index 00000000..c25a32de --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/energy_estimation.yaml @@ -0,0 +1,1264 @@ +energy_estimation: + version: '0.4' + components: + - name: eyeriss_like.weights_glb + energy: 80247.3266 + - name: eyeriss_like.shared_glb + energy: 2385777.169152 + - name: eyeriss_like.weights_NoC + energy: 5702549.0688 + - name: eyeriss_like.ifmap_NoC + energy: 4683794.504 + - name: eyeriss_like.psum_write_NoC + energy: 2949615.1808 + - name: eyeriss_like.psum_read_NoC + energy: 3906926.3616 + - name: eyeriss_like.PE[0].weights_spad + energy: 98529.0 + - name: eyeriss_like.PE[0].ifmap_spad + energy: 98811.0 + - name: eyeriss_like.PE[0].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[0].mac + energy: 32460.0 + - name: eyeriss_like.PE[1].weights_spad + energy: 98514.0 + - name: eyeriss_like.PE[1].ifmap_spad + energy: 98814.0 + - name: eyeriss_like.PE[1].psum_spad + energy: 148320.0 + - name: eyeriss_like.PE[1].mac + energy: 32460.0 + - name: eyeriss_like.PE[2].weights_spad + energy: 98487.0 + - name: eyeriss_like.PE[2].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[2].psum_spad + energy: 148353.0 + - name: eyeriss_like.PE[2].mac + energy: 32460.0 + - name: eyeriss_like.PE[3].weights_spad + energy: 98451.0 + - name: eyeriss_like.PE[3].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[3].psum_spad + energy: 148395.0 + - name: eyeriss_like.PE[3].mac + energy: 32460.0 + - name: eyeriss_like.PE[4].weights_spad + energy: 98427.0 + - name: eyeriss_like.PE[4].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[4].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[4].mac + energy: 32460.0 + - name: eyeriss_like.PE[5].weights_spad + energy: 98415.0 + - name: eyeriss_like.PE[5].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[5].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[5].mac + energy: 32460.0 + - name: eyeriss_like.PE[6].weights_spad + energy: 98403.0 + - name: eyeriss_like.PE[6].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[6].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[6].mac + energy: 32460.0 + - name: eyeriss_like.PE[7].weights_spad + energy: 98391.0 + - name: eyeriss_like.PE[7].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[7].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[7].mac + energy: 32460.0 + - name: eyeriss_like.PE[8].weights_spad + energy: 98379.0 + - name: eyeriss_like.PE[8].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[8].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[8].mac + energy: 32460.0 + - name: eyeriss_like.PE[9].weights_spad + energy: 98367.0 + - name: eyeriss_like.PE[9].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[9].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[9].mac + energy: 32460.0 + - name: eyeriss_like.PE[10].weights_spad + energy: 98355.0 + - name: eyeriss_like.PE[10].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[10].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[10].mac + energy: 32460.0 + - name: eyeriss_like.PE[11].weights_spad + energy: 98343.0 + - name: eyeriss_like.PE[11].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[11].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[11].mac + energy: 32460.0 + - name: eyeriss_like.PE[12].weights_spad + energy: 98331.0 + - name: eyeriss_like.PE[12].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[12].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[12].mac + energy: 32460.0 + - name: eyeriss_like.PE[14].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[14].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[14].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[14].mac + energy: 32460.0 + - name: eyeriss_like.PE[15].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[15].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[15].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[15].mac + energy: 32460.0 + - name: eyeriss_like.PE[16].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[16].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[16].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[16].mac + energy: 32460.0 + - name: eyeriss_like.PE[17].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[17].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[17].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[17].mac + energy: 32460.0 + - name: eyeriss_like.PE[18].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[18].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[18].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[18].mac + energy: 32460.0 + - name: eyeriss_like.PE[19].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[19].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[19].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[19].mac + energy: 32460.0 + - name: eyeriss_like.PE[20].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[20].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[20].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[20].mac + energy: 32460.0 + - name: eyeriss_like.PE[21].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[21].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[21].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[21].mac + energy: 32460.0 + - name: eyeriss_like.PE[22].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[22].ifmap_spad + energy: 98799.0 + - name: eyeriss_like.PE[22].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[22].mac + energy: 32460.0 + - name: eyeriss_like.PE[23].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[23].ifmap_spad + energy: 98799.0 + - name: eyeriss_like.PE[23].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[23].mac + energy: 32460.0 + - name: eyeriss_like.PE[24].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[24].ifmap_spad + energy: 98799.0 + - name: eyeriss_like.PE[24].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[24].mac + energy: 32460.0 + - name: eyeriss_like.PE[25].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[25].ifmap_spad + energy: 98799.0 + - name: eyeriss_like.PE[25].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[25].mac + energy: 32460.0 + - name: eyeriss_like.PE[26].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[26].ifmap_spad + energy: 98799.0 + - name: eyeriss_like.PE[26].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[26].mac + energy: 32460.0 + - name: eyeriss_like.PE[28].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[28].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[28].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[28].mac + energy: 32460.0 + - name: eyeriss_like.PE[29].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[29].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[29].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[29].mac + energy: 32460.0 + - name: eyeriss_like.PE[30].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[30].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[30].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[30].mac + energy: 32460.0 + - name: eyeriss_like.PE[31].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[31].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[31].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[31].mac + energy: 32460.0 + - name: eyeriss_like.PE[32].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[32].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[32].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[32].mac + energy: 32460.0 + - name: eyeriss_like.PE[33].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[33].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[33].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[33].mac + energy: 32460.0 + - name: eyeriss_like.PE[34].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[34].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[34].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[34].mac + energy: 32460.0 + - name: eyeriss_like.PE[35].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[35].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[35].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[35].mac + energy: 32460.0 + - name: eyeriss_like.PE[36].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[36].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[36].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[36].mac + energy: 32460.0 + - name: eyeriss_like.PE[37].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[37].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[37].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[37].mac + energy: 32460.0 + - name: eyeriss_like.PE[38].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[38].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[38].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[38].mac + energy: 32460.0 + - name: eyeriss_like.PE[39].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[39].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[39].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[39].mac + energy: 32460.0 + - name: eyeriss_like.PE[40].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[40].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[40].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[40].mac + energy: 32460.0 + - name: eyeriss_like.PE[42].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[42].ifmap_spad + energy: 98808.0 + - name: eyeriss_like.PE[42].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[42].mac + energy: 32460.0 + - name: eyeriss_like.PE[43].weights_spad + energy: 98526.0 + - name: eyeriss_like.PE[43].ifmap_spad + energy: 98811.0 + - name: eyeriss_like.PE[43].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[43].mac + energy: 32460.0 + - name: eyeriss_like.PE[44].weights_spad + energy: 98508.0 + - name: eyeriss_like.PE[44].ifmap_spad + energy: 98814.0 + - name: eyeriss_like.PE[44].psum_spad + energy: 148326.0 + - name: eyeriss_like.PE[44].mac + energy: 32460.0 + - name: eyeriss_like.PE[45].weights_spad + energy: 98478.0 + - name: eyeriss_like.PE[45].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[45].psum_spad + energy: 148362.0 + - name: eyeriss_like.PE[45].mac + energy: 32460.0 + - name: eyeriss_like.PE[46].weights_spad + energy: 98445.0 + - name: eyeriss_like.PE[46].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[46].psum_spad + energy: 148401.0 + - name: eyeriss_like.PE[46].mac + energy: 32460.0 + - name: eyeriss_like.PE[47].weights_spad + energy: 98424.0 + - name: eyeriss_like.PE[47].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[47].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[47].mac + energy: 32460.0 + - name: eyeriss_like.PE[48].weights_spad + energy: 98412.0 + - name: eyeriss_like.PE[48].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[48].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[48].mac + energy: 32460.0 + - name: eyeriss_like.PE[49].weights_spad + energy: 98400.0 + - name: eyeriss_like.PE[49].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[49].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[49].mac + energy: 32460.0 + - name: eyeriss_like.PE[50].weights_spad + energy: 98388.0 + - name: eyeriss_like.PE[50].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[50].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[50].mac + energy: 32460.0 + - name: eyeriss_like.PE[51].weights_spad + energy: 98376.0 + - name: eyeriss_like.PE[51].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[51].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[51].mac + energy: 32460.0 + - name: eyeriss_like.PE[52].weights_spad + energy: 98364.0 + - name: eyeriss_like.PE[52].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[52].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[52].mac + energy: 32460.0 + - name: eyeriss_like.PE[53].weights_spad + energy: 98352.0 + - name: eyeriss_like.PE[53].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[53].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[53].mac + energy: 32460.0 + - name: eyeriss_like.PE[54].weights_spad + energy: 98340.0 + - name: eyeriss_like.PE[54].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[54].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[54].mac + energy: 32460.0 + - name: eyeriss_like.PE[56].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[56].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[56].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[56].mac + energy: 32460.0 + - name: eyeriss_like.PE[57].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[57].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[57].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[57].mac + energy: 32460.0 + - name: eyeriss_like.PE[58].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[58].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[58].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[58].mac + energy: 32460.0 + - name: eyeriss_like.PE[59].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[59].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[59].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[59].mac + energy: 32460.0 + - name: eyeriss_like.PE[60].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[60].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[60].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[60].mac + energy: 32460.0 + - name: eyeriss_like.PE[61].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[61].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[61].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[61].mac + energy: 32460.0 + - name: eyeriss_like.PE[62].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[62].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[62].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[62].mac + energy: 32460.0 + - name: eyeriss_like.PE[63].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[63].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[63].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[63].mac + energy: 32460.0 + - name: eyeriss_like.PE[64].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[64].ifmap_spad + energy: 98793.0 + - name: eyeriss_like.PE[64].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[64].mac + energy: 32460.0 + - name: eyeriss_like.PE[65].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[65].ifmap_spad + energy: 98799.0 + - name: eyeriss_like.PE[65].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[65].mac + energy: 32460.0 + - name: eyeriss_like.PE[66].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[66].ifmap_spad + energy: 98799.0 + - name: eyeriss_like.PE[66].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[66].mac + energy: 32460.0 + - name: eyeriss_like.PE[67].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[67].ifmap_spad + energy: 98799.0 + - name: eyeriss_like.PE[67].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[67].mac + energy: 32460.0 + - name: eyeriss_like.PE[68].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[68].ifmap_spad + energy: 98799.0 + - name: eyeriss_like.PE[68].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[68].mac + energy: 32460.0 + - name: eyeriss_like.PE[70].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[70].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[70].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[70].mac + energy: 32460.0 + - name: eyeriss_like.PE[71].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[71].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[71].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[71].mac + energy: 32460.0 + - name: eyeriss_like.PE[72].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[72].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[72].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[72].mac + energy: 32460.0 + - name: eyeriss_like.PE[73].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[73].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[73].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[73].mac + energy: 32460.0 + - name: eyeriss_like.PE[74].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[74].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[74].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[74].mac + energy: 32460.0 + - name: eyeriss_like.PE[75].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[75].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[75].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[75].mac + energy: 32460.0 + - name: eyeriss_like.PE[76].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[76].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[76].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[76].mac + energy: 32460.0 + - name: eyeriss_like.PE[77].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[77].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[77].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[77].mac + energy: 32460.0 + - name: eyeriss_like.PE[78].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[78].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[78].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[78].mac + energy: 32460.0 + - name: eyeriss_like.PE[79].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[79].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[79].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[79].mac + energy: 32460.0 + - name: eyeriss_like.PE[80].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[80].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[80].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[80].mac + energy: 32460.0 + - name: eyeriss_like.PE[81].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[81].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[81].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[81].mac + energy: 32460.0 + - name: eyeriss_like.PE[82].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[82].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[82].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[82].mac + energy: 32460.0 + - name: eyeriss_like.PE[84].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[84].ifmap_spad + energy: 98814.0 + - name: eyeriss_like.PE[84].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[84].mac + energy: 32460.0 + - name: eyeriss_like.PE[85].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[85].ifmap_spad + energy: 98814.0 + - name: eyeriss_like.PE[85].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[85].mac + energy: 32460.0 + - name: eyeriss_like.PE[86].weights_spad + energy: 98523.0 + - name: eyeriss_like.PE[86].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[86].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[86].mac + energy: 32460.0 + - name: eyeriss_like.PE[87].weights_spad + energy: 98502.0 + - name: eyeriss_like.PE[87].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[87].psum_spad + energy: 148332.0 + - name: eyeriss_like.PE[87].mac + energy: 32460.0 + - name: eyeriss_like.PE[88].weights_spad + energy: 98469.0 + - name: eyeriss_like.PE[88].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[88].psum_spad + energy: 148371.0 + - name: eyeriss_like.PE[88].mac + energy: 32460.0 + - name: eyeriss_like.PE[89].weights_spad + energy: 98439.0 + - name: eyeriss_like.PE[89].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[89].psum_spad + energy: 148407.0 + - name: eyeriss_like.PE[89].mac + energy: 32460.0 + - name: eyeriss_like.PE[90].weights_spad + energy: 98421.0 + - name: eyeriss_like.PE[90].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[90].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[90].mac + energy: 32460.0 + - name: eyeriss_like.PE[91].weights_spad + energy: 98409.0 + - name: eyeriss_like.PE[91].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[91].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[91].mac + energy: 32460.0 + - name: eyeriss_like.PE[92].weights_spad + energy: 98397.0 + - name: eyeriss_like.PE[92].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[92].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[92].mac + energy: 32460.0 + - name: eyeriss_like.PE[93].weights_spad + energy: 98385.0 + - name: eyeriss_like.PE[93].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[93].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[93].mac + energy: 32460.0 + - name: eyeriss_like.PE[94].weights_spad + energy: 98373.0 + - name: eyeriss_like.PE[94].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[94].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[94].mac + energy: 32460.0 + - name: eyeriss_like.PE[95].weights_spad + energy: 98361.0 + - name: eyeriss_like.PE[95].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[95].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[95].mac + energy: 32460.0 + - name: eyeriss_like.PE[96].weights_spad + energy: 98349.0 + - name: eyeriss_like.PE[96].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[96].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[96].mac + energy: 32460.0 + - name: eyeriss_like.PE[98].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[98].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[98].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[98].mac + energy: 32460.0 + - name: eyeriss_like.PE[99].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[99].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[99].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[99].mac + energy: 32460.0 + - name: eyeriss_like.PE[100].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[100].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[100].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[100].mac + energy: 32460.0 + - name: eyeriss_like.PE[101].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[101].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[101].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[101].mac + energy: 32460.0 + - name: eyeriss_like.PE[102].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[102].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[102].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[102].mac + energy: 32460.0 + - name: eyeriss_like.PE[103].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[103].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[103].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[103].mac + energy: 32460.0 + - name: eyeriss_like.PE[104].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[104].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[104].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[104].mac + energy: 32460.0 + - name: eyeriss_like.PE[105].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[105].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[105].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[105].mac + energy: 32460.0 + - name: eyeriss_like.PE[106].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[106].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[106].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[106].mac + energy: 32460.0 + - name: eyeriss_like.PE[107].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[107].ifmap_spad + energy: 98796.0 + - name: eyeriss_like.PE[107].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[107].mac + energy: 32460.0 + - name: eyeriss_like.PE[108].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[108].ifmap_spad + energy: 98799.0 + - name: eyeriss_like.PE[108].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[108].mac + energy: 32460.0 + - name: eyeriss_like.PE[109].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[109].ifmap_spad + energy: 98799.0 + - name: eyeriss_like.PE[109].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[109].mac + energy: 32460.0 + - name: eyeriss_like.PE[110].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[110].ifmap_spad + energy: 98799.0 + - name: eyeriss_like.PE[110].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[110].mac + energy: 32460.0 + - name: eyeriss_like.PE[112].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[112].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[112].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[112].mac + energy: 32460.0 + - name: eyeriss_like.PE[113].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[113].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[113].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[113].mac + energy: 32460.0 + - name: eyeriss_like.PE[114].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[114].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[114].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[114].mac + energy: 32460.0 + - name: eyeriss_like.PE[115].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[115].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[115].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[115].mac + energy: 32460.0 + - name: eyeriss_like.PE[116].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[116].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[116].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[116].mac + energy: 32460.0 + - name: eyeriss_like.PE[117].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[117].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[117].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[117].mac + energy: 32460.0 + - name: eyeriss_like.PE[118].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[118].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[118].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[118].mac + energy: 32460.0 + - name: eyeriss_like.PE[119].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[119].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[119].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[119].mac + energy: 32460.0 + - name: eyeriss_like.PE[120].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[120].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[120].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[120].mac + energy: 32460.0 + - name: eyeriss_like.PE[121].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[121].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[121].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[121].mac + energy: 32460.0 + - name: eyeriss_like.PE[122].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[122].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[122].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[122].mac + energy: 32460.0 + - name: eyeriss_like.PE[123].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[123].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[123].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[123].mac + energy: 32460.0 + - name: eyeriss_like.PE[124].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[124].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[124].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[124].mac + energy: 32460.0 + - name: eyeriss_like.PE[126].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[126].ifmap_spad + energy: 98808.0 + - name: eyeriss_like.PE[126].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[126].mac + energy: 32460.0 + - name: eyeriss_like.PE[127].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[127].ifmap_spad + energy: 98808.0 + - name: eyeriss_like.PE[127].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[127].mac + energy: 32460.0 + - name: eyeriss_like.PE[128].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[128].ifmap_spad + energy: 98808.0 + - name: eyeriss_like.PE[128].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[128].mac + energy: 32460.0 + - name: eyeriss_like.PE[129].weights_spad + energy: 98520.0 + - name: eyeriss_like.PE[129].ifmap_spad + energy: 98811.0 + - name: eyeriss_like.PE[129].psum_spad + energy: 148311.0 + - name: eyeriss_like.PE[129].mac + energy: 32460.0 + - name: eyeriss_like.PE[130].weights_spad + energy: 98496.0 + - name: eyeriss_like.PE[130].ifmap_spad + energy: 98814.0 + - name: eyeriss_like.PE[130].psum_spad + energy: 148338.0 + - name: eyeriss_like.PE[130].mac + energy: 32460.0 + - name: eyeriss_like.PE[131].weights_spad + energy: 98460.0 + - name: eyeriss_like.PE[131].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[131].psum_spad + energy: 148380.0 + - name: eyeriss_like.PE[131].mac + energy: 32460.0 + - name: eyeriss_like.PE[132].weights_spad + energy: 98433.0 + - name: eyeriss_like.PE[132].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[132].psum_spad + energy: 148413.0 + - name: eyeriss_like.PE[132].mac + energy: 32460.0 + - name: eyeriss_like.PE[133].weights_spad + energy: 98418.0 + - name: eyeriss_like.PE[133].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[133].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[133].mac + energy: 32460.0 + - name: eyeriss_like.PE[134].weights_spad + energy: 98406.0 + - name: eyeriss_like.PE[134].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[134].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[134].mac + energy: 32460.0 + - name: eyeriss_like.PE[135].weights_spad + energy: 98394.0 + - name: eyeriss_like.PE[135].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[135].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[135].mac + energy: 32460.0 + - name: eyeriss_like.PE[136].weights_spad + energy: 98382.0 + - name: eyeriss_like.PE[136].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[136].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[136].mac + energy: 32460.0 + - name: eyeriss_like.PE[137].weights_spad + energy: 98370.0 + - name: eyeriss_like.PE[137].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[137].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[137].mac + energy: 32460.0 + - name: eyeriss_like.PE[138].weights_spad + energy: 98358.0 + - name: eyeriss_like.PE[138].ifmap_spad + energy: 98817.0 + - name: eyeriss_like.PE[138].psum_spad + energy: 148422.0 + - name: eyeriss_like.PE[138].mac + energy: 32460.0 + - name: eyeriss_like.PE[140].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[140].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[140].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[140].mac + energy: 32460.0 + - name: eyeriss_like.PE[141].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[141].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[141].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[141].mac + energy: 32460.0 + - name: eyeriss_like.PE[142].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[142].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[142].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[142].mac + energy: 32460.0 + - name: eyeriss_like.PE[143].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[143].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[143].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[143].mac + energy: 32460.0 + - name: eyeriss_like.PE[144].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[144].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[144].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[144].mac + energy: 32460.0 + - name: eyeriss_like.PE[145].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[145].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[145].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[145].mac + energy: 32460.0 + - name: eyeriss_like.PE[146].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[146].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[146].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[146].mac + energy: 32460.0 + - name: eyeriss_like.PE[147].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[147].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[147].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[147].mac + energy: 32460.0 + - name: eyeriss_like.PE[148].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[148].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[148].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[148].mac + energy: 32460.0 + - name: eyeriss_like.PE[149].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[149].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[149].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[149].mac + energy: 32460.0 + - name: eyeriss_like.PE[150].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[150].ifmap_spad + energy: 98799.0 + - name: eyeriss_like.PE[150].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[150].mac + energy: 32460.0 + - name: eyeriss_like.PE[151].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[151].ifmap_spad + energy: 98799.0 + - name: eyeriss_like.PE[151].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[151].mac + energy: 32460.0 + - name: eyeriss_like.PE[152].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[152].ifmap_spad + energy: 98799.0 + - name: eyeriss_like.PE[152].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[152].mac + energy: 32460.0 + - name: eyeriss_like.PE[154].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[154].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[154].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[154].mac + energy: 32460.0 + - name: eyeriss_like.PE[155].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[155].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[155].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[155].mac + energy: 32460.0 + - name: eyeriss_like.PE[156].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[156].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[156].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[156].mac + energy: 32460.0 + - name: eyeriss_like.PE[157].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[157].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[157].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[157].mac + energy: 32460.0 + - name: eyeriss_like.PE[158].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[158].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[158].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[158].mac + energy: 32460.0 + - name: eyeriss_like.PE[159].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[159].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[159].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[159].mac + energy: 32460.0 + - name: eyeriss_like.PE[160].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[160].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[160].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[160].mac + energy: 32460.0 + - name: eyeriss_like.PE[161].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[161].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[161].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[161].mac + energy: 32460.0 + - name: eyeriss_like.PE[162].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[162].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[162].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[162].mac + energy: 32460.0 + - name: eyeriss_like.PE[163].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[163].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[163].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[163].mac + energy: 32460.0 + - name: eyeriss_like.PE[164].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[164].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[164].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[164].mac + energy: 32460.0 + - name: eyeriss_like.PE[165].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[165].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[165].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[165].mac + energy: 32460.0 + - name: eyeriss_like.PE[166].weights_spad + energy: 98532.0 + - name: eyeriss_like.PE[166].ifmap_spad + energy: 98790.0 + - name: eyeriss_like.PE[166].psum_spad + energy: 148308.0 + - name: eyeriss_like.PE[166].mac + energy: 32460.0 + Total: 78691351.61095199 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/flattened_architecture.yaml new file mode 100644 index 00000000..2f350713 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/output/flattened_architecture.yaml @@ -0,0 +1,113 @@ +architecture: + version: '0.4' + local: + - name: eyeriss_like.PE[0..167].ifmap_spad + class: smartbuffer_RF + attributes: + memory_depth: 12 + memory_width: 16 + technology: 45nm + global_cycle_seconds: 1e-09 + n_rdwr_ports: 2 + n_banks: 1 + n_buffets: 1 + - name: eyeriss_like.PE[0..167].weights_spad + class: smartbuffer_RF + attributes: + memory_depth: 192 + memory_width: 16 + technology: 45nm + global_cycle_seconds: 1e-09 + n_rdwr_ports: 2 + n_banks: 1 + n_buffets: 1 + - name: eyeriss_like.PE[0..167].psum_spad + class: smartbuffer_RF + attributes: + memory_depth: 16 + memory_width: 16 + technology: 45nm + global_cycle_seconds: 1e-09 + n_rdwr_ports: 2 + n_banks: 1 + n_buffets: 1 + - name: eyeriss_like.PE[0..167].mac + class: intmac + attributes: + datawidth: 16 + meshX: 14 + technology: 45nm + global_cycle_seconds: 1e-09 + num_pipeline_stages: 2 + latency: "5ns" + - name: eyeriss_like.weights_glb + class: smartbuffer_SRAM + attributes: + memory_width: 64 + memory_depth: 1024 + n_banks: 2 + technology: 45nm + global_cycle_seconds: 1e-09 + n_rdwr_ports: 2 + n_buffets: 1 + - name: eyeriss_like.shared_glb + class: smartbuffer_SRAM + attributes: + memory_width: 64 + n_banks: 25 + bank_depth: 512 + memory_depth: 12800 + n_buffets: 2 + update_fifo_depth: 2 + technology: 45nm + global_cycle_seconds: 1e-09 + n_rdwr_ports: 2 + - name: eyeriss_like.ifmap_NoC + class: XY_NoC + attributes: + datawidth: 16 + col_id_width: 5 + technology: 45nm + global_cycle_seconds: 1e-09 + Y_comparator_width: 4 + X_comparator_width: 4 + n_PE_rows: 12 + n_PE_cols: 14 + total_PEs: 168 + Y_X_wire_avg_length: 2mm + - name: eyeriss_like.weights_NoC + class: XY_NoC + attributes: + datawidth: 64 + technology: 45nm + global_cycle_seconds: 1e-09 + Y_comparator_width: 4 + X_comparator_width: 4 + n_PE_rows: 12 + n_PE_cols: 14 + total_PEs: 168 + Y_X_wire_avg_length: 2mm + - name: eyeriss_like.psum_write_NoC + class: XY_NoC + attributes: + datawidth: 64 + technology: 45nm + global_cycle_seconds: 1e-09 + Y_comparator_width: 4 + X_comparator_width: 4 + n_PE_rows: 12 + n_PE_cols: 14 + total_PEs: 168 + Y_X_wire_avg_length: 2mm + - name: eyeriss_like.psum_read_NoC + class: XY_NoC + attributes: + datawidth: 64 + Y_X_wire_avg_length: 4mm + technology: 45nm + global_cycle_seconds: 1e-09 + Y_comparator_width: 4 + X_comparator_width: 4 + n_PE_rows: 12 + n_PE_cols: 14 + total_PEs: 168 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/ART.yaml new file mode 100644 index 00000000..b616f566 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/ART.yaml @@ -0,0 +1,23 @@ +ART: + version: 0.3 + tables: + - name: eyeriss_like.PE[0..167].mac + area: 1239.5 + - name: eyeriss_like.PE[0..167].ifmap_spad + area: 379.68 + - name: eyeriss_like.PE[0..167].weights_spad + area: 3634.68 + - name: eyeriss_like.PE[0..167].psum_spad + area: 414.68 + - name: eyeriss_like.weights_glb + area: 77093.2 + - name: eyeriss_like.shared_glb + area: 979377.0 + - name: eyeriss_like.ifmap_NoC + area: 1575.0 + - name: eyeriss_like.weights_NoC + area: 1575.0 + - name: eyeriss_like.psum_write_NoC + area: 1575.0 + - name: eyeriss_like.psum_read_NoC + area: 1575.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/ART_summary.yaml new file mode 100644 index 00000000..27e75a4f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/ART_summary.yaml @@ -0,0 +1,77 @@ +ART_summary: + version: 0.3 + table_summary: + - name: eyeriss_like.PE[0..167].mac + area: 1239.5 + primitive_estimations: Aladdin_table + - name: eyeriss_like.PE[0..167].ifmap_spad + area: 379.68 + primitive_estimations: + - name: storage + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_like.PE[0..167].weights_spad + area: 3634.68 + primitive_estimations: + - name: storage + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_like.PE[0..167].psum_spad + area: 414.68 + primitive_estimations: + - name: storage + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_like.weights_glb + area: 77093.2 + primitive_estimations: + - name: storage + estimator: Cacti + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_like.shared_glb + area: 979377.0 + primitive_estimations: + - name: storage + estimator: Cacti + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_like.ifmap_NoC + area: 1575.0 + primitive_estimations: + - name: Y_memory_controller[0..11] + estimator: Aladdin_table + - name: X_memory_controller[0..167] + estimator: Aladdin_table + - name: Y_X_wire + estimator: Aladdin_table + - name: eyeriss_like.weights_NoC + area: 1575.0 + primitive_estimations: + - name: Y_memory_controller[0..11] + estimator: Aladdin_table + - name: X_memory_controller[0..167] + estimator: Aladdin_table + - name: Y_X_wire + estimator: Aladdin_table + - name: eyeriss_like.psum_write_NoC + area: 1575.0 + primitive_estimations: + - name: Y_memory_controller[0..11] + estimator: Aladdin_table + - name: X_memory_controller[0..167] + estimator: Aladdin_table + - name: Y_X_wire + estimator: Aladdin_table + - name: eyeriss_like.psum_read_NoC + area: 1575.0 + primitive_estimations: + - name: Y_memory_controller[0..11] + estimator: Aladdin_table + - name: X_memory_controller[0..167] + estimator: Aladdin_table + - name: Y_X_wire + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/ERT.yaml new file mode 100644 index 00000000..17da35be --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/ERT.yaml @@ -0,0 +1,7482 @@ +ERT: + version: 0.3 + tables: + - name: eyeriss_like.PE[0..167].mac + actions: + - name: mac_random + arguments: null + energy: 2.20035 + - name: mac_reused + arguments: null + energy: 1.87673 + - name: mac_gated + arguments: null + energy: 0.10285 + - name: idle + arguments: null + energy: 0.06595 + - name: eyeriss_like.PE[0..167].ifmap_spad + actions: + - name: write + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.0549 + - name: write + arguments: + address_delta: 0 + data_delta: 1 + energy: 0.19298 + - name: write + arguments: + address_delta: 1 + data_delta: 0 + energy: 0.09824 + - name: write + arguments: + address_delta: 1 + data_delta: 1 + energy: 0.23632 + - name: read + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.0549 + - name: read + arguments: + address_delta: 0 + data_delta: 1 + energy: 0.19298 + - name: read + arguments: + address_delta: 1 + data_delta: 0 + energy: 0.09824 + - name: read + arguments: + address_delta: 1 + data_delta: 1 + energy: 0.23632 + - name: idle + arguments: null + energy: 0.018 + - name: eyeriss_like.PE[0..167].weights_spad + actions: + - name: write + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.06053 + - name: write + arguments: + address_delta: 0 + data_delta: 1 + energy: 0.19861 + - name: write + arguments: + address_delta: 1 + data_delta: 0 + energy: 1.44744 + - name: write + arguments: + address_delta: 1 + data_delta: 1 + energy: 1.58552 + - name: read + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.06053 + - name: read + arguments: + address_delta: 0 + data_delta: 1 + energy: 0.19861 + - name: read + arguments: + address_delta: 1 + data_delta: 0 + energy: 1.44744 + - name: read + arguments: + address_delta: 1 + data_delta: 1 + energy: 1.58552 + - name: idle + arguments: null + energy: 0.02363 + - name: eyeriss_like.PE[0..167].psum_spad + actions: + - name: write + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.05496 + - name: write + arguments: + address_delta: 0 + data_delta: 1 + energy: 0.19304 + - name: write + arguments: + address_delta: 1 + data_delta: 0 + energy: 0.11275 + - name: write + arguments: + address_delta: 1 + data_delta: 1 + energy: 0.25083 + - name: read + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.05496 + - name: read + arguments: + address_delta: 0 + data_delta: 1 + energy: 0.19304 + - name: read + arguments: + address_delta: 1 + data_delta: 0 + energy: 0.11275 + - name: read + arguments: + address_delta: 1 + data_delta: 1 + energy: 0.25083 + - name: idle + arguments: null + energy: 0.01806 + - name: eyeriss_like.weights_glb + actions: + - name: write + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.04906 + - name: write + arguments: + address_delta: 0 + data_delta: 1 + energy: 7.95237 + - name: write + arguments: + address_delta: 1 + data_delta: 0 + energy: 1.74263 + - name: write + arguments: + address_delta: 1 + data_delta: 1 + energy: 9.64593 + - name: write + arguments: + address_delta: 2 + data_delta: 0 + energy: 3.43619 + - name: write + arguments: + address_delta: 2 + data_delta: 1 + energy: 11.3395 + - name: read + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.04906 + - name: read + arguments: + address_delta: 0 + data_delta: 1 + energy: 7.20295 + - name: read + arguments: + address_delta: 1 + data_delta: 0 + energy: 1.58204 + - name: read + arguments: + address_delta: 1 + data_delta: 1 + energy: 8.73592 + - name: read + arguments: + address_delta: 2 + data_delta: 0 + energy: 3.11501 + - name: read + arguments: + address_delta: 2 + data_delta: 1 + energy: 10.2689 + - name: idle + arguments: null + energy: 0.01216 + - name: eyeriss_like.shared_glb + actions: + - name: write + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.05383 + - name: write + arguments: + address_delta: 0 + data_delta: 1 + energy: 48.14199 + - name: write + arguments: + address_delta: 1 + data_delta: 0 + energy: 0.8782 + - name: write + arguments: + address_delta: 1 + data_delta: 1 + energy: 48.96636 + - name: write + arguments: + address_delta: 2 + data_delta: 0 + energy: 1.70257 + - name: write + arguments: + address_delta: 2 + data_delta: 1 + energy: 49.79073 + - name: write + arguments: + address_delta: 3 + data_delta: 0 + energy: 2.52694 + - name: write + arguments: + address_delta: 3 + data_delta: 1 + energy: 50.61509 + - name: write + arguments: + address_delta: 4 + data_delta: 0 + energy: 3.3513 + - name: write + arguments: + address_delta: 4 + data_delta: 1 + energy: 51.43946 + - name: write + arguments: + address_delta: 5 + data_delta: 0 + energy: 4.17567 + - name: write + arguments: + address_delta: 5 + data_delta: 1 + energy: 52.26383 + - name: write + arguments: + address_delta: 6 + data_delta: 0 + energy: 5.00004 + - name: write + arguments: + address_delta: 6 + data_delta: 1 + energy: 53.0882 + - name: write + arguments: + address_delta: 7 + data_delta: 0 + energy: 5.82441 + - name: write + arguments: + address_delta: 7 + data_delta: 1 + energy: 53.91257 + - name: write + arguments: + address_delta: 8 + data_delta: 0 + energy: 6.64878 + - name: write + arguments: + address_delta: 8 + data_delta: 1 + energy: 54.73694 + - name: write + arguments: + address_delta: 9 + data_delta: 0 + energy: 7.47315 + - name: write + arguments: + address_delta: 9 + data_delta: 1 + energy: 55.56131 + - name: write + arguments: + address_delta: 10 + data_delta: 0 + energy: 8.29752 + - name: write + arguments: + address_delta: 10 + data_delta: 1 + energy: 56.38567 + - name: write + arguments: + address_delta: 11 + data_delta: 0 + energy: 9.12188 + - name: write + arguments: + address_delta: 11 + data_delta: 1 + energy: 57.21004 + - name: write + arguments: + address_delta: 12 + data_delta: 0 + energy: 9.94625 + - name: write + arguments: + address_delta: 12 + data_delta: 1 + energy: 58.03441 + - name: write + arguments: + address_delta: 13 + data_delta: 0 + energy: 10.77062 + - name: write + arguments: + address_delta: 13 + data_delta: 1 + energy: 58.85878 + - name: write + arguments: + address_delta: 14 + data_delta: 0 + energy: 11.59499 + - name: write + arguments: + address_delta: 14 + data_delta: 1 + energy: 59.68315 + - name: write + arguments: + address_delta: 15 + data_delta: 0 + energy: 12.41936 + - name: write + arguments: + address_delta: 15 + data_delta: 1 + energy: 60.50752 + - name: write + arguments: + address_delta: 16 + data_delta: 0 + energy: 13.24373 + - name: write + arguments: + address_delta: 16 + data_delta: 1 + energy: 61.33188 + - name: write + arguments: + address_delta: 17 + data_delta: 0 + energy: 14.06809 + - name: write + arguments: + address_delta: 17 + data_delta: 1 + energy: 62.15625 + - name: write + arguments: + address_delta: 18 + data_delta: 0 + energy: 14.89246 + - name: write + arguments: + address_delta: 18 + data_delta: 1 + energy: 62.98062 + - name: write + arguments: + address_delta: 19 + data_delta: 0 + energy: 15.71683 + - name: write + arguments: + address_delta: 19 + data_delta: 1 + energy: 63.80499 + - name: write + arguments: + address_delta: 20 + data_delta: 0 + energy: 16.5412 + - name: write + arguments: + address_delta: 20 + data_delta: 1 + energy: 64.62936 + - name: write + arguments: + address_delta: 21 + data_delta: 0 + energy: 17.36557 + - name: write + arguments: + address_delta: 21 + data_delta: 1 + energy: 65.45373 + - name: write + arguments: + address_delta: 22 + data_delta: 0 + energy: 18.18994 + - name: write + arguments: + address_delta: 22 + data_delta: 1 + energy: 66.27809 + - name: write + arguments: + address_delta: 23 + data_delta: 0 + energy: 19.01431 + - name: write + arguments: + address_delta: 23 + data_delta: 1 + energy: 67.10246 + - name: write + arguments: + address_delta: 24 + data_delta: 0 + energy: 19.83867 + - name: write + arguments: + address_delta: 24 + data_delta: 1 + energy: 67.92683 + - name: write + arguments: + address_delta: 25 + data_delta: 0 + energy: 20.66304 + - name: write + arguments: + address_delta: 25 + data_delta: 1 + energy: 68.7512 + - name: read + arguments: + address_delta: 0 + data_delta: 0 + energy: 0.05383 + - name: read + arguments: + address_delta: 0 + data_delta: 1 + energy: 47.57254 + - name: read + arguments: + address_delta: 1 + data_delta: 0 + energy: 0.86844 + - name: read + arguments: + address_delta: 1 + data_delta: 1 + energy: 48.38715 + - name: read + arguments: + address_delta: 2 + data_delta: 0 + energy: 1.68304 + - name: read + arguments: + address_delta: 2 + data_delta: 1 + energy: 49.20175 + - name: read + arguments: + address_delta: 3 + data_delta: 0 + energy: 2.49765 + - name: read + arguments: + address_delta: 3 + data_delta: 1 + energy: 50.01636 + - name: read + arguments: + address_delta: 4 + data_delta: 0 + energy: 3.31226 + - name: read + arguments: + address_delta: 4 + data_delta: 1 + energy: 50.83097 + - name: read + arguments: + address_delta: 5 + data_delta: 0 + energy: 4.12686 + - name: read + arguments: + address_delta: 5 + data_delta: 1 + energy: 51.64557 + - name: read + arguments: + address_delta: 6 + data_delta: 0 + energy: 4.94147 + - name: read + arguments: + address_delta: 6 + data_delta: 1 + energy: 52.46018 + - name: read + arguments: + address_delta: 7 + data_delta: 0 + energy: 5.75608 + - name: read + arguments: + address_delta: 7 + data_delta: 1 + energy: 53.27478 + - name: read + arguments: + address_delta: 8 + data_delta: 0 + energy: 6.57068 + - name: read + arguments: + address_delta: 8 + data_delta: 1 + energy: 54.08939 + - name: read + arguments: + address_delta: 9 + data_delta: 0 + energy: 7.38529 + - name: read + arguments: + address_delta: 9 + data_delta: 1 + energy: 54.904 + - name: read + arguments: + address_delta: 10 + data_delta: 0 + energy: 8.1999 + - name: read + arguments: + address_delta: 10 + data_delta: 1 + energy: 55.7186 + - name: read + arguments: + address_delta: 11 + data_delta: 0 + energy: 9.0145 + - name: read + arguments: + address_delta: 11 + data_delta: 1 + energy: 56.53321 + - name: read + arguments: + address_delta: 12 + data_delta: 0 + energy: 9.82911 + - name: read + arguments: + address_delta: 12 + data_delta: 1 + energy: 57.34782 + - name: read + arguments: + address_delta: 13 + data_delta: 0 + energy: 10.64371 + - name: read + arguments: + address_delta: 13 + data_delta: 1 + energy: 58.16242 + - name: read + arguments: + address_delta: 14 + data_delta: 0 + energy: 11.45832 + - name: read + arguments: + address_delta: 14 + data_delta: 1 + energy: 58.97703 + - name: read + arguments: + address_delta: 15 + data_delta: 0 + energy: 12.27293 + - name: read + arguments: + address_delta: 15 + data_delta: 1 + energy: 59.79164 + - name: read + arguments: + address_delta: 16 + data_delta: 0 + energy: 13.08753 + - name: read + arguments: + address_delta: 16 + data_delta: 1 + energy: 60.60624 + - name: read + arguments: + address_delta: 17 + data_delta: 0 + energy: 13.90214 + - name: read + arguments: + address_delta: 17 + data_delta: 1 + energy: 61.42085 + - name: read + arguments: + address_delta: 18 + data_delta: 0 + energy: 14.71675 + - name: read + arguments: + address_delta: 18 + data_delta: 1 + energy: 62.23546 + - name: read + arguments: + address_delta: 19 + data_delta: 0 + energy: 15.53135 + - name: read + arguments: + address_delta: 19 + data_delta: 1 + energy: 63.05006 + - name: read + arguments: + address_delta: 20 + data_delta: 0 + energy: 16.34596 + - name: read + arguments: + address_delta: 20 + data_delta: 1 + energy: 63.86467 + - name: read + arguments: + address_delta: 21 + data_delta: 0 + energy: 17.16057 + - name: read + arguments: + address_delta: 21 + data_delta: 1 + energy: 64.67927 + - name: read + arguments: + address_delta: 22 + data_delta: 0 + energy: 17.97517 + - name: read + arguments: + address_delta: 22 + data_delta: 1 + energy: 65.49388 + - name: read + arguments: + address_delta: 23 + data_delta: 0 + energy: 18.78978 + - name: read + arguments: + address_delta: 23 + data_delta: 1 + energy: 66.30849 + - name: read + arguments: + address_delta: 24 + data_delta: 0 + energy: 19.60439 + - name: read + arguments: + address_delta: 24 + data_delta: 1 + energy: 67.12309 + - name: read + arguments: + address_delta: 25 + data_delta: 0 + energy: 20.41899 + - name: read + arguments: + address_delta: 25 + data_delta: 1 + energy: 67.9377 + - name: idle + arguments: null + energy: 0.01693 + - name: eyeriss_like.ifmap_NoC + actions: + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 1 + energy: 0.00727 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 2 + energy: 0.01453 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 3 + energy: 0.02179 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 4 + energy: 0.02905 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 5 + energy: 0.03631 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 6 + energy: 0.04357 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 7 + energy: 0.05083 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 8 + energy: 0.05809 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 9 + energy: 0.06535 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 10 + energy: 0.07261 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 11 + energy: 0.07987 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 12 + energy: 0.08713 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 1 + energy: 0.0109 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 2 + energy: 0.02179 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 3 + energy: 0.03268 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 4 + energy: 0.04357 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 5 + energy: 0.05446 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 6 + energy: 0.06535 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 7 + energy: 0.07624 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 8 + energy: 0.08713 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 9 + energy: 0.09802 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 10 + energy: 0.10891 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 11 + energy: 0.1198 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 12 + energy: 0.13069 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 1 + energy: 0.01453 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 2 + energy: 0.02905 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 3 + energy: 0.04357 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 4 + energy: 0.05809 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 5 + energy: 0.07261 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 6 + energy: 0.08713 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 7 + energy: 0.10165 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 8 + energy: 0.11617 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 9 + energy: 0.13069 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 10 + energy: 0.14521 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 11 + energy: 0.15973 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 12 + energy: 0.17425 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 1 + energy: 0.01816 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 2 + energy: 0.03631 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 3 + energy: 0.05446 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 4 + energy: 0.07261 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 5 + energy: 0.09076 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 6 + energy: 0.10891 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 7 + energy: 0.12706 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 8 + energy: 0.14521 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 9 + energy: 0.16336 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 10 + energy: 0.18151 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 11 + energy: 0.19966 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 12 + energy: 0.21781 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 1 + energy: 0.02179 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 2 + energy: 0.04357 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 3 + energy: 0.06535 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 4 + energy: 0.08713 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 5 + energy: 0.10891 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 6 + energy: 0.13069 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 7 + energy: 0.15247 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 8 + energy: 0.17425 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 9 + energy: 0.19603 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 10 + energy: 0.21781 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 11 + energy: 0.23959 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 12 + energy: 0.26137 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 1 + energy: 0.02542 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 2 + energy: 0.05083 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 3 + energy: 0.07624 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 4 + energy: 0.10165 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 5 + energy: 0.12706 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 6 + energy: 0.15247 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 7 + energy: 0.17788 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 8 + energy: 0.20329 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 9 + energy: 0.2287 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 10 + energy: 0.25411 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 11 + energy: 0.27952 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 12 + energy: 0.30493 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 1 + energy: 0.02905 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 2 + energy: 0.05809 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 3 + energy: 0.08713 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 4 + energy: 0.11617 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 5 + energy: 0.14521 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 6 + energy: 0.17425 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 7 + energy: 0.20329 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 8 + energy: 0.23233 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 9 + energy: 0.26137 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 10 + energy: 0.29041 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 11 + energy: 0.31945 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 12 + energy: 0.34849 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 1 + energy: 0.03268 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 2 + energy: 0.06535 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 3 + energy: 0.09802 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 4 + energy: 0.13069 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 5 + energy: 0.16336 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 6 + energy: 0.19603 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 7 + energy: 0.2287 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 8 + energy: 0.26137 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 9 + energy: 0.29404 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 10 + energy: 0.32671 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 11 + energy: 0.35938 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 12 + energy: 0.39205 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 1 + energy: 0.03631 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 2 + energy: 0.07261 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 3 + energy: 0.10891 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 4 + energy: 0.14521 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 5 + energy: 0.18151 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 6 + energy: 0.21781 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 7 + energy: 0.25411 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 8 + energy: 0.29041 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 9 + energy: 0.32671 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 10 + energy: 0.36301 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 11 + energy: 0.39931 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 12 + energy: 0.43561 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 1 + energy: 0.03994 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 2 + energy: 0.07987 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 3 + energy: 0.1198 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 4 + energy: 0.15973 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 5 + energy: 0.19966 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 6 + energy: 0.23959 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 7 + energy: 0.27952 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 8 + energy: 0.31945 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 9 + energy: 0.35938 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 10 + energy: 0.39931 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 11 + energy: 0.43924 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 12 + energy: 0.47917 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 1 + energy: 0.04357 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 2 + energy: 0.08713 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 3 + energy: 0.13069 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 4 + energy: 0.17425 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 5 + energy: 0.21781 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 6 + energy: 0.26137 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 7 + energy: 0.30493 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 8 + energy: 0.34849 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 9 + energy: 0.39205 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 10 + energy: 0.43561 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 11 + energy: 0.47917 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 12 + energy: 0.52273 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 1 + energy: 0.0472 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 2 + energy: 0.09439 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 3 + energy: 0.14158 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 4 + energy: 0.18877 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 5 + energy: 0.23596 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 6 + energy: 0.28315 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 7 + energy: 0.33034 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 8 + energy: 0.37753 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 9 + energy: 0.42472 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 10 + energy: 0.47191 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 11 + energy: 0.5191 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 12 + energy: 0.56629 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 1 + energy: 0.05083 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 2 + energy: 0.10165 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 3 + energy: 0.15247 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 4 + energy: 0.20329 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 5 + energy: 0.25411 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 6 + energy: 0.30493 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 7 + energy: 0.35575 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 8 + energy: 0.40657 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 9 + energy: 0.45739 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 10 + energy: 0.50821 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 11 + energy: 0.55903 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 12 + energy: 0.60985 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 1 + energy: 0.05446 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 2 + energy: 0.10891 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 3 + energy: 0.16336 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 4 + energy: 0.21781 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 5 + energy: 0.27226 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 6 + energy: 0.32671 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 7 + energy: 0.38116 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 8 + energy: 0.43561 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 9 + energy: 0.49006 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 10 + energy: 0.54451 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 11 + energy: 0.59896 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 12 + energy: 0.65341 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 1 + energy: 0.00726 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 2 + energy: 0.01452 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 3 + energy: 0.02178 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 4 + energy: 0.02904 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 5 + energy: 0.0363 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 6 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 7 + energy: 0.05082 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 8 + energy: 0.05808 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 9 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 10 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 11 + energy: 0.07986 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 12 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 1 + energy: 0.01089 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 2 + energy: 0.02178 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 3 + energy: 0.03267 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 4 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 5 + energy: 0.05445 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 6 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 7 + energy: 0.07623 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 8 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 9 + energy: 0.09801 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 10 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 11 + energy: 0.11979 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 12 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 1 + energy: 0.01452 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 2 + energy: 0.02904 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 3 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 4 + energy: 0.05808 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 5 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 6 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 7 + energy: 0.10164 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 8 + energy: 0.11616 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 9 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 10 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 11 + energy: 0.15972 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 12 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 1 + energy: 0.01815 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 2 + energy: 0.0363 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 3 + energy: 0.05445 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 4 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 5 + energy: 0.09075 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 6 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 7 + energy: 0.12705 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 8 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 9 + energy: 0.16335 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 10 + energy: 0.1815 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 11 + energy: 0.19965 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 12 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 1 + energy: 0.02178 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 2 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 3 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 4 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 5 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 6 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 7 + energy: 0.15246 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 8 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 9 + energy: 0.19602 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 10 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 11 + energy: 0.23958 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 12 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 1 + energy: 0.02541 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 2 + energy: 0.05082 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 3 + energy: 0.07623 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 4 + energy: 0.10164 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 5 + energy: 0.12705 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 6 + energy: 0.15246 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 7 + energy: 0.17787 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 8 + energy: 0.20328 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 9 + energy: 0.22869 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 10 + energy: 0.2541 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 11 + energy: 0.27951 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 12 + energy: 0.30492 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 1 + energy: 0.02904 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 2 + energy: 0.05808 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 3 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 4 + energy: 0.11616 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 5 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 6 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 7 + energy: 0.20328 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 8 + energy: 0.23232 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 9 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 10 + energy: 0.2904 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 11 + energy: 0.31944 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 12 + energy: 0.34848 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 1 + energy: 0.03267 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 2 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 3 + energy: 0.09801 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 4 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 5 + energy: 0.16335 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 6 + energy: 0.19602 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 7 + energy: 0.22869 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 8 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 9 + energy: 0.29403 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 10 + energy: 0.3267 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 11 + energy: 0.35937 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 12 + energy: 0.39204 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 1 + energy: 0.0363 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 2 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 3 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 4 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 5 + energy: 0.1815 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 6 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 7 + energy: 0.2541 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 8 + energy: 0.2904 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 9 + energy: 0.3267 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 10 + energy: 0.363 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 11 + energy: 0.3993 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 12 + energy: 0.4356 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 1 + energy: 0.03993 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 2 + energy: 0.07986 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 3 + energy: 0.11979 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 4 + energy: 0.15972 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 5 + energy: 0.19965 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 6 + energy: 0.23958 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 7 + energy: 0.27951 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 8 + energy: 0.31944 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 9 + energy: 0.35937 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 10 + energy: 0.3993 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 11 + energy: 0.43923 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 12 + energy: 0.47916 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 1 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 2 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 3 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 4 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 5 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 6 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 7 + energy: 0.30492 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 8 + energy: 0.34848 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 9 + energy: 0.39204 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 10 + energy: 0.4356 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 11 + energy: 0.47916 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 12 + energy: 0.52272 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 1 + energy: 0.04719 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 2 + energy: 0.09438 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 3 + energy: 0.14157 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 4 + energy: 0.18876 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 5 + energy: 0.23595 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 6 + energy: 0.28314 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 7 + energy: 0.33033 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 8 + energy: 0.37752 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 9 + energy: 0.42471 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 10 + energy: 0.4719 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 11 + energy: 0.51909 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 12 + energy: 0.56628 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 1 + energy: 0.05082 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 2 + energy: 0.10164 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 3 + energy: 0.15246 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 4 + energy: 0.20328 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 5 + energy: 0.2541 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 6 + energy: 0.30492 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 7 + energy: 0.35574 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 8 + energy: 0.40656 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 9 + energy: 0.45738 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 10 + energy: 0.5082 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 11 + energy: 0.55902 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 12 + energy: 0.60984 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 1 + energy: 0.05445 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 2 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 3 + energy: 0.16335 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 4 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 5 + energy: 0.27225 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 6 + energy: 0.3267 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 7 + energy: 0.38115 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 8 + energy: 0.4356 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 9 + energy: 0.49005 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 10 + energy: 0.5445 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 11 + energy: 0.59895 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 12 + energy: 0.6534 + - name: idle + arguments: null + energy: 0.0036 + - name: eyeriss_like.weights_NoC + actions: + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 1 + energy: 0.0073 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 2 + energy: 0.01456 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 3 + energy: 0.02182 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 4 + energy: 0.02908 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 5 + energy: 0.03634 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 6 + energy: 0.0436 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 7 + energy: 0.05086 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 8 + energy: 0.05812 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 9 + energy: 0.06538 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 10 + energy: 0.07264 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 11 + energy: 0.0799 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 12 + energy: 0.08716 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 1 + energy: 0.01093 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 2 + energy: 0.02182 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 3 + energy: 0.03271 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 4 + energy: 0.0436 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 5 + energy: 0.05449 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 6 + energy: 0.06538 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 7 + energy: 0.07627 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 8 + energy: 0.08716 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 9 + energy: 0.09805 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 10 + energy: 0.10894 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 11 + energy: 0.11983 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 12 + energy: 0.13072 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 1 + energy: 0.01456 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 2 + energy: 0.02908 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 3 + energy: 0.0436 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 4 + energy: 0.05812 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 5 + energy: 0.07264 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 6 + energy: 0.08716 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 7 + energy: 0.10168 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 8 + energy: 0.1162 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 9 + energy: 0.13072 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 10 + energy: 0.14524 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 11 + energy: 0.15976 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 12 + energy: 0.17428 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 1 + energy: 0.01819 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 2 + energy: 0.03634 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 3 + energy: 0.05449 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 4 + energy: 0.07264 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 5 + energy: 0.09079 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 6 + energy: 0.10894 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 7 + energy: 0.12709 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 8 + energy: 0.14524 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 9 + energy: 0.16339 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 10 + energy: 0.18154 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 11 + energy: 0.19969 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 12 + energy: 0.21784 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 1 + energy: 0.02182 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 2 + energy: 0.0436 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 3 + energy: 0.06538 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 4 + energy: 0.08716 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 5 + energy: 0.10894 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 6 + energy: 0.13072 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 7 + energy: 0.1525 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 8 + energy: 0.17428 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 9 + energy: 0.19606 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 10 + energy: 0.21784 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 11 + energy: 0.23962 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 12 + energy: 0.2614 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 1 + energy: 0.02545 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 2 + energy: 0.05086 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 3 + energy: 0.07627 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 4 + energy: 0.10168 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 5 + energy: 0.12709 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 6 + energy: 0.1525 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 7 + energy: 0.17791 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 8 + energy: 0.20332 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 9 + energy: 0.22873 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 10 + energy: 0.25414 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 11 + energy: 0.27955 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 12 + energy: 0.30496 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 1 + energy: 0.02908 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 2 + energy: 0.05812 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 3 + energy: 0.08716 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 4 + energy: 0.1162 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 5 + energy: 0.14524 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 6 + energy: 0.17428 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 7 + energy: 0.20332 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 8 + energy: 0.23236 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 9 + energy: 0.2614 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 10 + energy: 0.29044 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 11 + energy: 0.31948 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 12 + energy: 0.34852 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 1 + energy: 0.03271 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 2 + energy: 0.06538 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 3 + energy: 0.09805 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 4 + energy: 0.13072 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 5 + energy: 0.16339 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 6 + energy: 0.19606 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 7 + energy: 0.22873 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 8 + energy: 0.2614 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 9 + energy: 0.29407 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 10 + energy: 0.32674 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 11 + energy: 0.35941 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 12 + energy: 0.39208 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 1 + energy: 0.03634 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 2 + energy: 0.07264 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 3 + energy: 0.10894 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 4 + energy: 0.14524 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 5 + energy: 0.18154 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 6 + energy: 0.21784 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 7 + energy: 0.25414 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 8 + energy: 0.29044 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 9 + energy: 0.32674 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 10 + energy: 0.36304 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 11 + energy: 0.39934 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 12 + energy: 0.43564 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 1 + energy: 0.03997 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 2 + energy: 0.0799 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 3 + energy: 0.11983 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 4 + energy: 0.15976 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 5 + energy: 0.19969 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 6 + energy: 0.23962 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 7 + energy: 0.27955 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 8 + energy: 0.31948 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 9 + energy: 0.35941 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 10 + energy: 0.39934 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 11 + energy: 0.43927 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 12 + energy: 0.4792 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 1 + energy: 0.0436 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 2 + energy: 0.08716 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 3 + energy: 0.13072 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 4 + energy: 0.17428 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 5 + energy: 0.21784 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 6 + energy: 0.2614 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 7 + energy: 0.30496 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 8 + energy: 0.34852 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 9 + energy: 0.39208 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 10 + energy: 0.43564 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 11 + energy: 0.4792 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 12 + energy: 0.52276 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 1 + energy: 0.04723 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 2 + energy: 0.09442 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 3 + energy: 0.14161 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 4 + energy: 0.1888 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 5 + energy: 0.23599 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 6 + energy: 0.28318 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 7 + energy: 0.33037 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 8 + energy: 0.37756 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 9 + energy: 0.42475 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 10 + energy: 0.47194 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 11 + energy: 0.51913 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 12 + energy: 0.56632 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 1 + energy: 0.05086 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 2 + energy: 0.10168 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 3 + energy: 0.1525 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 4 + energy: 0.20332 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 5 + energy: 0.25414 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 6 + energy: 0.30496 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 7 + energy: 0.35578 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 8 + energy: 0.4066 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 9 + energy: 0.45742 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 10 + energy: 0.50824 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 11 + energy: 0.55906 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 12 + energy: 0.60988 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 1 + energy: 0.05449 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 2 + energy: 0.10894 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 3 + energy: 0.16339 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 4 + energy: 0.21784 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 5 + energy: 0.27229 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 6 + energy: 0.32674 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 7 + energy: 0.38119 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 8 + energy: 0.43564 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 9 + energy: 0.49009 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 10 + energy: 0.54454 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 11 + energy: 0.59899 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 12 + energy: 0.65344 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 1 + energy: 0.00726 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 2 + energy: 0.01452 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 3 + energy: 0.02178 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 4 + energy: 0.02904 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 5 + energy: 0.0363 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 6 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 7 + energy: 0.05082 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 8 + energy: 0.05808 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 9 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 10 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 11 + energy: 0.07986 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 12 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 1 + energy: 0.01089 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 2 + energy: 0.02178 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 3 + energy: 0.03267 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 4 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 5 + energy: 0.05445 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 6 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 7 + energy: 0.07623 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 8 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 9 + energy: 0.09801 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 10 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 11 + energy: 0.11979 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 12 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 1 + energy: 0.01452 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 2 + energy: 0.02904 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 3 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 4 + energy: 0.05808 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 5 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 6 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 7 + energy: 0.10164 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 8 + energy: 0.11616 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 9 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 10 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 11 + energy: 0.15972 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 12 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 1 + energy: 0.01815 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 2 + energy: 0.0363 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 3 + energy: 0.05445 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 4 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 5 + energy: 0.09075 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 6 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 7 + energy: 0.12705 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 8 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 9 + energy: 0.16335 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 10 + energy: 0.1815 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 11 + energy: 0.19965 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 12 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 1 + energy: 0.02178 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 2 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 3 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 4 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 5 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 6 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 7 + energy: 0.15246 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 8 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 9 + energy: 0.19602 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 10 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 11 + energy: 0.23958 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 12 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 1 + energy: 0.02541 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 2 + energy: 0.05082 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 3 + energy: 0.07623 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 4 + energy: 0.10164 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 5 + energy: 0.12705 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 6 + energy: 0.15246 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 7 + energy: 0.17787 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 8 + energy: 0.20328 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 9 + energy: 0.22869 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 10 + energy: 0.2541 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 11 + energy: 0.27951 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 12 + energy: 0.30492 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 1 + energy: 0.02904 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 2 + energy: 0.05808 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 3 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 4 + energy: 0.11616 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 5 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 6 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 7 + energy: 0.20328 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 8 + energy: 0.23232 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 9 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 10 + energy: 0.2904 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 11 + energy: 0.31944 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 12 + energy: 0.34848 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 1 + energy: 0.03267 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 2 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 3 + energy: 0.09801 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 4 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 5 + energy: 0.16335 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 6 + energy: 0.19602 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 7 + energy: 0.22869 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 8 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 9 + energy: 0.29403 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 10 + energy: 0.3267 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 11 + energy: 0.35937 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 12 + energy: 0.39204 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 1 + energy: 0.0363 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 2 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 3 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 4 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 5 + energy: 0.1815 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 6 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 7 + energy: 0.2541 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 8 + energy: 0.2904 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 9 + energy: 0.3267 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 10 + energy: 0.363 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 11 + energy: 0.3993 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 12 + energy: 0.4356 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 1 + energy: 0.03993 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 2 + energy: 0.07986 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 3 + energy: 0.11979 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 4 + energy: 0.15972 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 5 + energy: 0.19965 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 6 + energy: 0.23958 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 7 + energy: 0.27951 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 8 + energy: 0.31944 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 9 + energy: 0.35937 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 10 + energy: 0.3993 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 11 + energy: 0.43923 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 12 + energy: 0.47916 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 1 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 2 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 3 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 4 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 5 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 6 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 7 + energy: 0.30492 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 8 + energy: 0.34848 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 9 + energy: 0.39204 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 10 + energy: 0.4356 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 11 + energy: 0.47916 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 12 + energy: 0.52272 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 1 + energy: 0.04719 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 2 + energy: 0.09438 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 3 + energy: 0.14157 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 4 + energy: 0.18876 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 5 + energy: 0.23595 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 6 + energy: 0.28314 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 7 + energy: 0.33033 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 8 + energy: 0.37752 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 9 + energy: 0.42471 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 10 + energy: 0.4719 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 11 + energy: 0.51909 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 12 + energy: 0.56628 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 1 + energy: 0.05082 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 2 + energy: 0.10164 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 3 + energy: 0.15246 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 4 + energy: 0.20328 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 5 + energy: 0.2541 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 6 + energy: 0.30492 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 7 + energy: 0.35574 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 8 + energy: 0.40656 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 9 + energy: 0.45738 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 10 + energy: 0.5082 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 11 + energy: 0.55902 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 12 + energy: 0.60984 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 1 + energy: 0.05445 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 2 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 3 + energy: 0.16335 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 4 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 5 + energy: 0.27225 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 6 + energy: 0.3267 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 7 + energy: 0.38115 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 8 + energy: 0.4356 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 9 + energy: 0.49005 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 10 + energy: 0.5445 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 11 + energy: 0.59895 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 12 + energy: 0.6534 + - name: idle + arguments: null + energy: 0.0036 + - name: eyeriss_like.psum_write_NoC + actions: + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 1 + energy: 0.0073 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 2 + energy: 0.01456 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 3 + energy: 0.02182 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 4 + energy: 0.02908 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 5 + energy: 0.03634 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 6 + energy: 0.0436 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 7 + energy: 0.05086 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 8 + energy: 0.05812 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 9 + energy: 0.06538 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 10 + energy: 0.07264 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 11 + energy: 0.0799 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 12 + energy: 0.08716 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 1 + energy: 0.01093 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 2 + energy: 0.02182 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 3 + energy: 0.03271 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 4 + energy: 0.0436 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 5 + energy: 0.05449 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 6 + energy: 0.06538 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 7 + energy: 0.07627 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 8 + energy: 0.08716 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 9 + energy: 0.09805 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 10 + energy: 0.10894 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 11 + energy: 0.11983 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 12 + energy: 0.13072 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 1 + energy: 0.01456 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 2 + energy: 0.02908 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 3 + energy: 0.0436 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 4 + energy: 0.05812 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 5 + energy: 0.07264 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 6 + energy: 0.08716 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 7 + energy: 0.10168 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 8 + energy: 0.1162 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 9 + energy: 0.13072 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 10 + energy: 0.14524 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 11 + energy: 0.15976 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 12 + energy: 0.17428 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 1 + energy: 0.01819 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 2 + energy: 0.03634 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 3 + energy: 0.05449 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 4 + energy: 0.07264 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 5 + energy: 0.09079 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 6 + energy: 0.10894 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 7 + energy: 0.12709 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 8 + energy: 0.14524 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 9 + energy: 0.16339 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 10 + energy: 0.18154 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 11 + energy: 0.19969 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 12 + energy: 0.21784 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 1 + energy: 0.02182 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 2 + energy: 0.0436 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 3 + energy: 0.06538 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 4 + energy: 0.08716 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 5 + energy: 0.10894 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 6 + energy: 0.13072 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 7 + energy: 0.1525 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 8 + energy: 0.17428 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 9 + energy: 0.19606 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 10 + energy: 0.21784 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 11 + energy: 0.23962 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 12 + energy: 0.2614 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 1 + energy: 0.02545 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 2 + energy: 0.05086 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 3 + energy: 0.07627 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 4 + energy: 0.10168 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 5 + energy: 0.12709 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 6 + energy: 0.1525 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 7 + energy: 0.17791 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 8 + energy: 0.20332 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 9 + energy: 0.22873 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 10 + energy: 0.25414 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 11 + energy: 0.27955 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 12 + energy: 0.30496 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 1 + energy: 0.02908 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 2 + energy: 0.05812 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 3 + energy: 0.08716 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 4 + energy: 0.1162 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 5 + energy: 0.14524 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 6 + energy: 0.17428 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 7 + energy: 0.20332 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 8 + energy: 0.23236 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 9 + energy: 0.2614 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 10 + energy: 0.29044 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 11 + energy: 0.31948 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 12 + energy: 0.34852 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 1 + energy: 0.03271 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 2 + energy: 0.06538 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 3 + energy: 0.09805 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 4 + energy: 0.13072 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 5 + energy: 0.16339 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 6 + energy: 0.19606 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 7 + energy: 0.22873 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 8 + energy: 0.2614 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 9 + energy: 0.29407 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 10 + energy: 0.32674 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 11 + energy: 0.35941 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 12 + energy: 0.39208 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 1 + energy: 0.03634 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 2 + energy: 0.07264 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 3 + energy: 0.10894 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 4 + energy: 0.14524 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 5 + energy: 0.18154 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 6 + energy: 0.21784 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 7 + energy: 0.25414 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 8 + energy: 0.29044 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 9 + energy: 0.32674 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 10 + energy: 0.36304 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 11 + energy: 0.39934 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 12 + energy: 0.43564 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 1 + energy: 0.03997 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 2 + energy: 0.0799 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 3 + energy: 0.11983 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 4 + energy: 0.15976 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 5 + energy: 0.19969 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 6 + energy: 0.23962 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 7 + energy: 0.27955 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 8 + energy: 0.31948 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 9 + energy: 0.35941 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 10 + energy: 0.39934 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 11 + energy: 0.43927 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 12 + energy: 0.4792 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 1 + energy: 0.0436 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 2 + energy: 0.08716 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 3 + energy: 0.13072 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 4 + energy: 0.17428 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 5 + energy: 0.21784 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 6 + energy: 0.2614 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 7 + energy: 0.30496 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 8 + energy: 0.34852 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 9 + energy: 0.39208 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 10 + energy: 0.43564 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 11 + energy: 0.4792 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 12 + energy: 0.52276 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 1 + energy: 0.04723 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 2 + energy: 0.09442 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 3 + energy: 0.14161 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 4 + energy: 0.1888 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 5 + energy: 0.23599 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 6 + energy: 0.28318 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 7 + energy: 0.33037 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 8 + energy: 0.37756 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 9 + energy: 0.42475 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 10 + energy: 0.47194 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 11 + energy: 0.51913 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 12 + energy: 0.56632 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 1 + energy: 0.05086 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 2 + energy: 0.10168 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 3 + energy: 0.1525 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 4 + energy: 0.20332 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 5 + energy: 0.25414 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 6 + energy: 0.30496 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 7 + energy: 0.35578 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 8 + energy: 0.4066 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 9 + energy: 0.45742 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 10 + energy: 0.50824 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 11 + energy: 0.55906 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 12 + energy: 0.60988 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 1 + energy: 0.05449 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 2 + energy: 0.10894 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 3 + energy: 0.16339 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 4 + energy: 0.21784 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 5 + energy: 0.27229 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 6 + energy: 0.32674 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 7 + energy: 0.38119 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 8 + energy: 0.43564 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 9 + energy: 0.49009 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 10 + energy: 0.54454 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 11 + energy: 0.59899 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 12 + energy: 0.65344 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 1 + energy: 0.00726 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 2 + energy: 0.01452 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 3 + energy: 0.02178 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 4 + energy: 0.02904 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 5 + energy: 0.0363 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 6 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 7 + energy: 0.05082 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 8 + energy: 0.05808 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 9 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 10 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 11 + energy: 0.07986 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 12 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 1 + energy: 0.01089 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 2 + energy: 0.02178 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 3 + energy: 0.03267 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 4 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 5 + energy: 0.05445 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 6 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 7 + energy: 0.07623 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 8 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 9 + energy: 0.09801 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 10 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 11 + energy: 0.11979 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 12 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 1 + energy: 0.01452 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 2 + energy: 0.02904 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 3 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 4 + energy: 0.05808 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 5 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 6 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 7 + energy: 0.10164 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 8 + energy: 0.11616 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 9 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 10 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 11 + energy: 0.15972 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 12 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 1 + energy: 0.01815 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 2 + energy: 0.0363 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 3 + energy: 0.05445 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 4 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 5 + energy: 0.09075 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 6 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 7 + energy: 0.12705 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 8 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 9 + energy: 0.16335 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 10 + energy: 0.1815 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 11 + energy: 0.19965 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 12 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 1 + energy: 0.02178 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 2 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 3 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 4 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 5 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 6 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 7 + energy: 0.15246 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 8 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 9 + energy: 0.19602 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 10 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 11 + energy: 0.23958 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 12 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 1 + energy: 0.02541 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 2 + energy: 0.05082 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 3 + energy: 0.07623 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 4 + energy: 0.10164 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 5 + energy: 0.12705 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 6 + energy: 0.15246 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 7 + energy: 0.17787 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 8 + energy: 0.20328 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 9 + energy: 0.22869 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 10 + energy: 0.2541 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 11 + energy: 0.27951 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 12 + energy: 0.30492 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 1 + energy: 0.02904 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 2 + energy: 0.05808 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 3 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 4 + energy: 0.11616 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 5 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 6 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 7 + energy: 0.20328 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 8 + energy: 0.23232 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 9 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 10 + energy: 0.2904 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 11 + energy: 0.31944 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 12 + energy: 0.34848 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 1 + energy: 0.03267 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 2 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 3 + energy: 0.09801 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 4 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 5 + energy: 0.16335 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 6 + energy: 0.19602 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 7 + energy: 0.22869 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 8 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 9 + energy: 0.29403 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 10 + energy: 0.3267 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 11 + energy: 0.35937 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 12 + energy: 0.39204 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 1 + energy: 0.0363 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 2 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 3 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 4 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 5 + energy: 0.1815 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 6 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 7 + energy: 0.2541 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 8 + energy: 0.2904 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 9 + energy: 0.3267 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 10 + energy: 0.363 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 11 + energy: 0.3993 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 12 + energy: 0.4356 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 1 + energy: 0.03993 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 2 + energy: 0.07986 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 3 + energy: 0.11979 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 4 + energy: 0.15972 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 5 + energy: 0.19965 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 6 + energy: 0.23958 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 7 + energy: 0.27951 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 8 + energy: 0.31944 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 9 + energy: 0.35937 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 10 + energy: 0.3993 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 11 + energy: 0.43923 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 12 + energy: 0.47916 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 1 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 2 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 3 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 4 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 5 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 6 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 7 + energy: 0.30492 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 8 + energy: 0.34848 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 9 + energy: 0.39204 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 10 + energy: 0.4356 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 11 + energy: 0.47916 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 12 + energy: 0.52272 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 1 + energy: 0.04719 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 2 + energy: 0.09438 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 3 + energy: 0.14157 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 4 + energy: 0.18876 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 5 + energy: 0.23595 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 6 + energy: 0.28314 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 7 + energy: 0.33033 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 8 + energy: 0.37752 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 9 + energy: 0.42471 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 10 + energy: 0.4719 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 11 + energy: 0.51909 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 12 + energy: 0.56628 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 1 + energy: 0.05082 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 2 + energy: 0.10164 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 3 + energy: 0.15246 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 4 + energy: 0.20328 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 5 + energy: 0.2541 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 6 + energy: 0.30492 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 7 + energy: 0.35574 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 8 + energy: 0.40656 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 9 + energy: 0.45738 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 10 + energy: 0.5082 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 11 + energy: 0.55902 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 12 + energy: 0.60984 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 1 + energy: 0.05445 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 2 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 3 + energy: 0.16335 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 4 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 5 + energy: 0.27225 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 6 + energy: 0.3267 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 7 + energy: 0.38115 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 8 + energy: 0.4356 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 9 + energy: 0.49005 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 10 + energy: 0.5445 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 11 + energy: 0.59895 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 12 + energy: 0.6534 + - name: idle + arguments: null + energy: 0.0036 + - name: eyeriss_like.psum_read_NoC + actions: + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 1 + energy: 0.00735 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 2 + energy: 0.01461 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 3 + energy: 0.02187 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 4 + energy: 0.02913 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 5 + energy: 0.03639 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 6 + energy: 0.04365 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 7 + energy: 0.05091 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 8 + energy: 0.05817 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 9 + energy: 0.06543 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 10 + energy: 0.07269 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 11 + energy: 0.07995 + - name: transfer_random + arguments: + n_cols_per_row: 1 + n_rows: 12 + energy: 0.08721 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 1 + energy: 0.01098 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 2 + energy: 0.02187 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 3 + energy: 0.03276 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 4 + energy: 0.04365 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 5 + energy: 0.05454 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 6 + energy: 0.06543 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 7 + energy: 0.07632 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 8 + energy: 0.08721 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 9 + energy: 0.0981 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 10 + energy: 0.10899 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 11 + energy: 0.11988 + - name: transfer_random + arguments: + n_cols_per_row: 2 + n_rows: 12 + energy: 0.13077 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 1 + energy: 0.01461 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 2 + energy: 0.02913 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 3 + energy: 0.04365 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 4 + energy: 0.05817 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 5 + energy: 0.07269 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 6 + energy: 0.08721 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 7 + energy: 0.10173 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 8 + energy: 0.11625 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 9 + energy: 0.13077 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 10 + energy: 0.14529 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 11 + energy: 0.15981 + - name: transfer_random + arguments: + n_cols_per_row: 3 + n_rows: 12 + energy: 0.17433 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 1 + energy: 0.01824 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 2 + energy: 0.03639 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 3 + energy: 0.05454 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 4 + energy: 0.07269 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 5 + energy: 0.09084 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 6 + energy: 0.10899 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 7 + energy: 0.12714 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 8 + energy: 0.14529 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 9 + energy: 0.16344 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 10 + energy: 0.18159 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 11 + energy: 0.19974 + - name: transfer_random + arguments: + n_cols_per_row: 4 + n_rows: 12 + energy: 0.21789 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 1 + energy: 0.02187 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 2 + energy: 0.04365 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 3 + energy: 0.06543 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 4 + energy: 0.08721 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 5 + energy: 0.10899 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 6 + energy: 0.13077 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 7 + energy: 0.15255 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 8 + energy: 0.17433 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 9 + energy: 0.19611 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 10 + energy: 0.21789 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 11 + energy: 0.23967 + - name: transfer_random + arguments: + n_cols_per_row: 5 + n_rows: 12 + energy: 0.26145 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 1 + energy: 0.0255 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 2 + energy: 0.05091 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 3 + energy: 0.07632 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 4 + energy: 0.10173 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 5 + energy: 0.12714 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 6 + energy: 0.15255 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 7 + energy: 0.17796 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 8 + energy: 0.20337 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 9 + energy: 0.22878 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 10 + energy: 0.25419 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 11 + energy: 0.2796 + - name: transfer_random + arguments: + n_cols_per_row: 6 + n_rows: 12 + energy: 0.30501 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 1 + energy: 0.02913 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 2 + energy: 0.05817 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 3 + energy: 0.08721 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 4 + energy: 0.11625 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 5 + energy: 0.14529 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 6 + energy: 0.17433 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 7 + energy: 0.20337 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 8 + energy: 0.23241 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 9 + energy: 0.26145 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 10 + energy: 0.29049 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 11 + energy: 0.31953 + - name: transfer_random + arguments: + n_cols_per_row: 7 + n_rows: 12 + energy: 0.34857 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 1 + energy: 0.03276 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 2 + energy: 0.06543 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 3 + energy: 0.0981 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 4 + energy: 0.13077 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 5 + energy: 0.16344 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 6 + energy: 0.19611 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 7 + energy: 0.22878 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 8 + energy: 0.26145 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 9 + energy: 0.29412 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 10 + energy: 0.32679 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 11 + energy: 0.35946 + - name: transfer_random + arguments: + n_cols_per_row: 8 + n_rows: 12 + energy: 0.39213 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 1 + energy: 0.03639 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 2 + energy: 0.07269 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 3 + energy: 0.10899 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 4 + energy: 0.14529 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 5 + energy: 0.18159 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 6 + energy: 0.21789 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 7 + energy: 0.25419 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 8 + energy: 0.29049 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 9 + energy: 0.32679 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 10 + energy: 0.36309 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 11 + energy: 0.39939 + - name: transfer_random + arguments: + n_cols_per_row: 9 + n_rows: 12 + energy: 0.43569 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 1 + energy: 0.04002 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 2 + energy: 0.07995 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 3 + energy: 0.11988 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 4 + energy: 0.15981 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 5 + energy: 0.19974 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 6 + energy: 0.23967 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 7 + energy: 0.2796 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 8 + energy: 0.31953 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 9 + energy: 0.35946 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 10 + energy: 0.39939 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 11 + energy: 0.43932 + - name: transfer_random + arguments: + n_cols_per_row: 10 + n_rows: 12 + energy: 0.47925 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 1 + energy: 0.04365 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 2 + energy: 0.08721 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 3 + energy: 0.13077 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 4 + energy: 0.17433 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 5 + energy: 0.21789 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 6 + energy: 0.26145 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 7 + energy: 0.30501 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 8 + energy: 0.34857 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 9 + energy: 0.39213 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 10 + energy: 0.43569 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 11 + energy: 0.47925 + - name: transfer_random + arguments: + n_cols_per_row: 11 + n_rows: 12 + energy: 0.52281 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 1 + energy: 0.04728 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 2 + energy: 0.09447 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 3 + energy: 0.14166 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 4 + energy: 0.18885 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 5 + energy: 0.23604 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 6 + energy: 0.28323 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 7 + energy: 0.33042 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 8 + energy: 0.37761 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 9 + energy: 0.4248 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 10 + energy: 0.47199 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 11 + energy: 0.51918 + - name: transfer_random + arguments: + n_cols_per_row: 12 + n_rows: 12 + energy: 0.56637 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 1 + energy: 0.05091 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 2 + energy: 0.10173 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 3 + energy: 0.15255 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 4 + energy: 0.20337 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 5 + energy: 0.25419 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 6 + energy: 0.30501 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 7 + energy: 0.35583 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 8 + energy: 0.40665 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 9 + energy: 0.45747 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 10 + energy: 0.50829 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 11 + energy: 0.55911 + - name: transfer_random + arguments: + n_cols_per_row: 13 + n_rows: 12 + energy: 0.60993 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 1 + energy: 0.05454 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 2 + energy: 0.10899 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 3 + energy: 0.16344 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 4 + energy: 0.21789 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 5 + energy: 0.27234 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 6 + energy: 0.32679 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 7 + energy: 0.38124 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 8 + energy: 0.43569 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 9 + energy: 0.49014 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 10 + energy: 0.54459 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 11 + energy: 0.59904 + - name: transfer_random + arguments: + n_cols_per_row: 14 + n_rows: 12 + energy: 0.65349 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 1 + energy: 0.00726 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 2 + energy: 0.01452 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 3 + energy: 0.02178 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 4 + energy: 0.02904 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 5 + energy: 0.0363 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 6 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 7 + energy: 0.05082 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 8 + energy: 0.05808 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 9 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 10 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 11 + energy: 0.07986 + - name: transfer_repeated + arguments: + n_cols_per_row: 1 + n_rows: 12 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 1 + energy: 0.01089 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 2 + energy: 0.02178 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 3 + energy: 0.03267 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 4 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 5 + energy: 0.05445 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 6 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 7 + energy: 0.07623 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 8 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 9 + energy: 0.09801 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 10 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 11 + energy: 0.11979 + - name: transfer_repeated + arguments: + n_cols_per_row: 2 + n_rows: 12 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 1 + energy: 0.01452 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 2 + energy: 0.02904 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 3 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 4 + energy: 0.05808 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 5 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 6 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 7 + energy: 0.10164 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 8 + energy: 0.11616 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 9 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 10 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 11 + energy: 0.15972 + - name: transfer_repeated + arguments: + n_cols_per_row: 3 + n_rows: 12 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 1 + energy: 0.01815 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 2 + energy: 0.0363 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 3 + energy: 0.05445 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 4 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 5 + energy: 0.09075 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 6 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 7 + energy: 0.12705 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 8 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 9 + energy: 0.16335 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 10 + energy: 0.1815 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 11 + energy: 0.19965 + - name: transfer_repeated + arguments: + n_cols_per_row: 4 + n_rows: 12 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 1 + energy: 0.02178 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 2 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 3 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 4 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 5 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 6 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 7 + energy: 0.15246 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 8 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 9 + energy: 0.19602 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 10 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 11 + energy: 0.23958 + - name: transfer_repeated + arguments: + n_cols_per_row: 5 + n_rows: 12 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 1 + energy: 0.02541 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 2 + energy: 0.05082 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 3 + energy: 0.07623 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 4 + energy: 0.10164 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 5 + energy: 0.12705 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 6 + energy: 0.15246 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 7 + energy: 0.17787 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 8 + energy: 0.20328 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 9 + energy: 0.22869 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 10 + energy: 0.2541 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 11 + energy: 0.27951 + - name: transfer_repeated + arguments: + n_cols_per_row: 6 + n_rows: 12 + energy: 0.30492 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 1 + energy: 0.02904 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 2 + energy: 0.05808 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 3 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 4 + energy: 0.11616 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 5 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 6 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 7 + energy: 0.20328 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 8 + energy: 0.23232 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 9 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 10 + energy: 0.2904 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 11 + energy: 0.31944 + - name: transfer_repeated + arguments: + n_cols_per_row: 7 + n_rows: 12 + energy: 0.34848 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 1 + energy: 0.03267 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 2 + energy: 0.06534 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 3 + energy: 0.09801 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 4 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 5 + energy: 0.16335 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 6 + energy: 0.19602 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 7 + energy: 0.22869 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 8 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 9 + energy: 0.29403 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 10 + energy: 0.3267 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 11 + energy: 0.35937 + - name: transfer_repeated + arguments: + n_cols_per_row: 8 + n_rows: 12 + energy: 0.39204 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 1 + energy: 0.0363 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 2 + energy: 0.0726 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 3 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 4 + energy: 0.1452 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 5 + energy: 0.1815 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 6 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 7 + energy: 0.2541 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 8 + energy: 0.2904 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 9 + energy: 0.3267 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 10 + energy: 0.363 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 11 + energy: 0.3993 + - name: transfer_repeated + arguments: + n_cols_per_row: 9 + n_rows: 12 + energy: 0.4356 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 1 + energy: 0.03993 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 2 + energy: 0.07986 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 3 + energy: 0.11979 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 4 + energy: 0.15972 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 5 + energy: 0.19965 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 6 + energy: 0.23958 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 7 + energy: 0.27951 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 8 + energy: 0.31944 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 9 + energy: 0.35937 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 10 + energy: 0.3993 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 11 + energy: 0.43923 + - name: transfer_repeated + arguments: + n_cols_per_row: 10 + n_rows: 12 + energy: 0.47916 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 1 + energy: 0.04356 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 2 + energy: 0.08712 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 3 + energy: 0.13068 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 4 + energy: 0.17424 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 5 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 6 + energy: 0.26136 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 7 + energy: 0.30492 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 8 + energy: 0.34848 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 9 + energy: 0.39204 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 10 + energy: 0.4356 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 11 + energy: 0.47916 + - name: transfer_repeated + arguments: + n_cols_per_row: 11 + n_rows: 12 + energy: 0.52272 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 1 + energy: 0.04719 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 2 + energy: 0.09438 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 3 + energy: 0.14157 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 4 + energy: 0.18876 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 5 + energy: 0.23595 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 6 + energy: 0.28314 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 7 + energy: 0.33033 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 8 + energy: 0.37752 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 9 + energy: 0.42471 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 10 + energy: 0.4719 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 11 + energy: 0.51909 + - name: transfer_repeated + arguments: + n_cols_per_row: 12 + n_rows: 12 + energy: 0.56628 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 1 + energy: 0.05082 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 2 + energy: 0.10164 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 3 + energy: 0.15246 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 4 + energy: 0.20328 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 5 + energy: 0.2541 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 6 + energy: 0.30492 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 7 + energy: 0.35574 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 8 + energy: 0.40656 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 9 + energy: 0.45738 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 10 + energy: 0.5082 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 11 + energy: 0.55902 + - name: transfer_repeated + arguments: + n_cols_per_row: 13 + n_rows: 12 + energy: 0.60984 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 1 + energy: 0.05445 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 2 + energy: 0.1089 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 3 + energy: 0.16335 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 4 + energy: 0.2178 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 5 + energy: 0.27225 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 6 + energy: 0.3267 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 7 + energy: 0.38115 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 8 + energy: 0.4356 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 9 + energy: 0.49005 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 10 + energy: 0.5445 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 11 + energy: 0.59895 + - name: transfer_repeated + arguments: + n_cols_per_row: 14 + n_rows: 12 + energy: 0.6534 + - name: idle + arguments: null + energy: 0.0036 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/ERT_summary.yaml new file mode 100644 index 00000000..512cd500 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/ERT_summary.yaml @@ -0,0 +1,293 @@ +ERT_summary: + version: 0.3 + table_summary: + - name: eyeriss_like.PE[0..167].mac + actions: + - name: mac_random + energy: 2.20035 + - name: mac_reused + energy: 1.87673 + - name: mac_gated + energy: 0.10285 + - name: idle + energy: 0.06595 + primitive_estimation(s): + - name: eyeriss_like.PE[0..167].mac + estimator: Aladdin_table + - name: eyeriss_like.PE[0..167].ifmap_spad + actions: + - name: write + average_energy: 0.14561 + max_energy: 0.23632 + min_energy: 0.0549 + - name: read + average_energy: 0.14561 + max_energy: 0.23632 + min_energy: 0.0549 + - name: idle + energy: 0.018 + primitive_estimation(s): + - name: storage + estimator: Aladdin_table + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_like.PE[0..167].weights_spad + actions: + - name: write + average_energy: 0.82303 + max_energy: 1.58552 + min_energy: 0.06053 + - name: read + average_energy: 0.82303 + max_energy: 1.58552 + min_energy: 0.06053 + - name: idle + energy: 0.02363 + primitive_estimation(s): + - name: storage + estimator: Aladdin_table + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_like.PE[0..167].psum_spad + actions: + - name: write + average_energy: 0.1529 + max_energy: 0.25083 + min_energy: 0.05496 + - name: read + average_energy: 0.1529 + max_energy: 0.25083 + min_energy: 0.05496 + - name: idle + energy: 0.01806 + primitive_estimation(s): + - name: storage + estimator: Aladdin_table + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_like.weights_glb + actions: + - name: write + average_energy: 5.69428 + max_energy: 11.3395 + min_energy: 0.04906 + - name: read + average_energy: 5.15898 + max_energy: 10.2689 + min_energy: 0.04906 + - name: idle + energy: 0.01216 + primitive_estimation(s): + - name: storage + estimator: Cacti + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_like.shared_glb + actions: + - name: write + average_energy: 34.40252 + max_energy: 68.7512 + min_energy: 0.05383 + - name: read + average_energy: 33.99577 + max_energy: 67.9377 + min_energy: 0.05383 + - name: idle + energy: 0.01693 + primitive_estimation(s): + - name: storage + estimator: Cacti + - name: address_generators[0] + estimator: Aladdin_table + - name: address_generators[1] + estimator: Aladdin_table + - name: address_generators[0..1] + estimator: Aladdin_table + - name: eyeriss_like.ifmap_NoC + actions: + - name: transfer_random + average_energy: 0.20057 + max_energy: 0.65341 + min_energy: 0.00727 + - name: transfer_repeated + average_energy: 0.20056 + max_energy: 0.6534 + min_energy: 0.00726 + - name: idle + energy: 0.0036 + primitive_estimation(s): + - name: Y_memory_controller[0..0] + estimator: Aladdin_table + - name: X_memory_controller[0] + estimator: Aladdin_table + - name: Y_X_wire + estimator: Aladdin_table + - name: Y_memory_controller[0..1] + estimator: Aladdin_table + - name: Y_memory_controller[0..2] + estimator: Aladdin_table + - name: Y_memory_controller[0..3] + estimator: Aladdin_table + - name: Y_memory_controller[0..4] + estimator: Aladdin_table + - name: Y_memory_controller[0..5] + estimator: Aladdin_table + - name: Y_memory_controller[0..6] + estimator: Aladdin_table + - name: Y_memory_controller[0..7] + estimator: Aladdin_table + - name: Y_memory_controller[0..8] + estimator: Aladdin_table + - name: Y_memory_controller[0..9] + estimator: Aladdin_table + - name: Y_memory_controller[0..10] + estimator: Aladdin_table + - name: Y_memory_controller[0..11] + estimator: Aladdin_table + - name: X_memory_controller[0..167] + estimator: Aladdin_table + - name: eyeriss_like.weights_NoC + actions: + - name: transfer_random + average_energy: 0.2006 + max_energy: 0.65344 + min_energy: 0.0073 + - name: transfer_repeated + average_energy: 0.20056 + max_energy: 0.6534 + min_energy: 0.00726 + - name: idle + energy: 0.0036 + primitive_estimation(s): + - name: Y_memory_controller[0..0] + estimator: Aladdin_table + - name: X_memory_controller[0] + estimator: Aladdin_table + - name: Y_X_wire + estimator: Aladdin_table + - name: Y_memory_controller[0..1] + estimator: Aladdin_table + - name: Y_memory_controller[0..2] + estimator: Aladdin_table + - name: Y_memory_controller[0..3] + estimator: Aladdin_table + - name: Y_memory_controller[0..4] + estimator: Aladdin_table + - name: Y_memory_controller[0..5] + estimator: Aladdin_table + - name: Y_memory_controller[0..6] + estimator: Aladdin_table + - name: Y_memory_controller[0..7] + estimator: Aladdin_table + - name: Y_memory_controller[0..8] + estimator: Aladdin_table + - name: Y_memory_controller[0..9] + estimator: Aladdin_table + - name: Y_memory_controller[0..10] + estimator: Aladdin_table + - name: Y_memory_controller[0..11] + estimator: Aladdin_table + - name: X_memory_controller[0..167] + estimator: Aladdin_table + - name: eyeriss_like.psum_write_NoC + actions: + - name: transfer_random + average_energy: 0.2006 + max_energy: 0.65344 + min_energy: 0.0073 + - name: transfer_repeated + average_energy: 0.20056 + max_energy: 0.6534 + min_energy: 0.00726 + - name: idle + energy: 0.0036 + primitive_estimation(s): + - name: Y_memory_controller[0..0] + estimator: Aladdin_table + - name: X_memory_controller[0] + estimator: Aladdin_table + - name: Y_X_wire + estimator: Aladdin_table + - name: Y_memory_controller[0..1] + estimator: Aladdin_table + - name: Y_memory_controller[0..2] + estimator: Aladdin_table + - name: Y_memory_controller[0..3] + estimator: Aladdin_table + - name: Y_memory_controller[0..4] + estimator: Aladdin_table + - name: Y_memory_controller[0..5] + estimator: Aladdin_table + - name: Y_memory_controller[0..6] + estimator: Aladdin_table + - name: Y_memory_controller[0..7] + estimator: Aladdin_table + - name: Y_memory_controller[0..8] + estimator: Aladdin_table + - name: Y_memory_controller[0..9] + estimator: Aladdin_table + - name: Y_memory_controller[0..10] + estimator: Aladdin_table + - name: Y_memory_controller[0..11] + estimator: Aladdin_table + - name: X_memory_controller[0..167] + estimator: Aladdin_table + - name: eyeriss_like.psum_read_NoC + actions: + - name: transfer_random + average_energy: 0.20065 + max_energy: 0.65349 + min_energy: 0.00735 + - name: transfer_repeated + average_energy: 0.20056 + max_energy: 0.6534 + min_energy: 0.00726 + - name: idle + energy: 0.0036 + primitive_estimation(s): + - name: Y_memory_controller[0..0] + estimator: Aladdin_table + - name: X_memory_controller[0] + estimator: Aladdin_table + - name: Y_X_wire + estimator: Aladdin_table + - name: Y_memory_controller[0..1] + estimator: Aladdin_table + - name: Y_memory_controller[0..2] + estimator: Aladdin_table + - name: Y_memory_controller[0..3] + estimator: Aladdin_table + - name: Y_memory_controller[0..4] + estimator: Aladdin_table + - name: Y_memory_controller[0..5] + estimator: Aladdin_table + - name: Y_memory_controller[0..6] + estimator: Aladdin_table + - name: Y_memory_controller[0..7] + estimator: Aladdin_table + - name: Y_memory_controller[0..8] + estimator: Aladdin_table + - name: Y_memory_controller[0..9] + estimator: Aladdin_table + - name: Y_memory_controller[0..10] + estimator: Aladdin_table + - name: Y_memory_controller[0..11] + estimator: Aladdin_table + - name: X_memory_controller[0..167] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/energy_estimation.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/energy_estimation.yaml new file mode 100644 index 00000000..b393c82a --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/energy_estimation.yaml @@ -0,0 +1,1264 @@ +energy_estimation: + version: 0.3 + components: + - name: eyeriss_like.weights_glb + energy: 13520.741759999999 + - name: eyeriss_like.shared_glb + energy: 2294329.8613600004 + - name: eyeriss_like.weights_NoC + energy: 171.29952 + - name: eyeriss_like.ifmap_NoC + energy: 388.92859 + - name: eyeriss_like.psum_write_NoC + energy: 196.89440000000002 + - name: eyeriss_like.psum_read_NoC + energy: 197.976 + - name: eyeriss_like.PE[0].weights_spad + energy: 3195.41269 + - name: eyeriss_like.PE[0].ifmap_spad + energy: 1593.29928 + - name: eyeriss_like.PE[0].psum_spad + energy: 6825.66864 + - name: eyeriss_like.PE[0].mac + energy: 2877.5562 + - name: eyeriss_like.PE[1].weights_spad + energy: 13977.6975 + - name: eyeriss_like.PE[1].ifmap_spad + energy: 1630.69362 + - name: eyeriss_like.PE[1].psum_spad + energy: 8983.93128 + - name: eyeriss_like.PE[1].mac + energy: 16110.883899999999 + - name: eyeriss_like.PE[2].weights_spad + energy: 11595.54087 + - name: eyeriss_like.PE[2].ifmap_spad + energy: 1623.21196 + - name: eyeriss_like.PE[2].psum_spad + energy: 8614.765940000001 + - name: eyeriss_like.PE[2].mac + energy: 13211.6082 + - name: eyeriss_like.PE[3].weights_spad + energy: 12661.37607 + - name: eyeriss_like.PE[3].ifmap_spad + energy: 1625.5593199999998 + - name: eyeriss_like.PE[3].psum_spad + energy: 8796.041659999999 + - name: eyeriss_like.PE[3].mac + energy: 14503.364699999998 + - name: eyeriss_like.PE[4].weights_spad + energy: 15321.171590000002 + - name: eyeriss_like.PE[4].ifmap_spad + energy: 1631.49676 + - name: eyeriss_like.PE[4].psum_spad + energy: 8925.999399999999 + - name: eyeriss_like.PE[4].mac + energy: 17345.229 + - name: eyeriss_like.PE[5].weights_spad + energy: 15226.625670000001 + - name: eyeriss_like.PE[5].ifmap_spad + energy: 1630.5302000000001 + - name: eyeriss_like.PE[5].psum_spad + energy: 8889.13204 + - name: eyeriss_like.PE[5].mac + energy: 17115.5834 + - name: eyeriss_like.PE[6].weights_spad + energy: 15576.39451 + - name: eyeriss_like.PE[6].ifmap_spad + energy: 1631.7729199999999 + - name: eyeriss_like.PE[6].psum_spad + energy: 8892.30788 + - name: eyeriss_like.PE[6].mac + energy: 17517.4632 + - name: eyeriss_like.PE[7].weights_spad + energy: 14901.563510000002 + - name: eyeriss_like.PE[7].ifmap_spad + energy: 1629.8398000000002 + - name: eyeriss_like.PE[7].psum_spad + energy: 8864.001479999999 + - name: eyeriss_like.PE[7].mac + energy: 16627.5865 + - name: eyeriss_like.PE[8].weights_spad + energy: 15851.09811 + - name: eyeriss_like.PE[8].ifmap_spad + energy: 1631.6348400000002 + - name: eyeriss_like.PE[8].psum_spad + energy: 8921.1666 + - name: eyeriss_like.PE[8].mac + energy: 17804.5202 + - name: eyeriss_like.PE[9].weights_spad + energy: 16375.79863 + - name: eyeriss_like.PE[9].ifmap_spad + energy: 1631.08252 + - name: eyeriss_like.PE[9].psum_spad + energy: 8893.5506 + - name: eyeriss_like.PE[9].mac + energy: 18378.6342 + - name: eyeriss_like.PE[10].weights_spad + energy: 15151.182350000001 + - name: eyeriss_like.PE[10].ifmap_spad + energy: 1629.97788 + - name: eyeriss_like.PE[10].psum_spad + energy: 8867.59156 + - name: eyeriss_like.PE[10].mac + energy: 17000.7606 + - name: eyeriss_like.PE[11].weights_spad + energy: 13351.79055 + - name: eyeriss_like.PE[11].ifmap_spad + energy: 1625.1450800000002 + - name: eyeriss_like.PE[11].psum_spad + energy: 8680.49316 + - name: eyeriss_like.PE[11].mac + energy: 15048.773 + - name: eyeriss_like.PE[12].weights_spad + energy: 12502.02787 + - name: eyeriss_like.PE[12].ifmap_spad + energy: 1624.0404400000002 + - name: eyeriss_like.PE[12].psum_spad + energy: 8696.648519999999 + - name: eyeriss_like.PE[12].mac + energy: 13957.9564 + - name: eyeriss_like.PE[14].weights_spad + energy: 13935.139560000001 + - name: eyeriss_like.PE[14].ifmap_spad + energy: 1630.73104 + - name: eyeriss_like.PE[14].psum_spad + energy: 8996.01008 + - name: eyeriss_like.PE[14].mac + energy: 16110.883899999999 + - name: eyeriss_like.PE[15].weights_spad + energy: 11486.09604 + - name: eyeriss_like.PE[15].ifmap_spad + energy: 1623.4128 + - name: eyeriss_like.PE[15].psum_spad + energy: 8623.88448 + - name: eyeriss_like.PE[15].mac + energy: 13211.6082 + - name: eyeriss_like.PE[16].weights_spad + energy: 12460.715400000001 + - name: eyeriss_like.PE[16].ifmap_spad + energy: 1625.7601599999998 + - name: eyeriss_like.PE[16].psum_spad + energy: 8800.76496 + - name: eyeriss_like.PE[16].mac + energy: 14503.364699999998 + - name: eyeriss_like.PE[17].weights_spad + energy: 15059.70036 + - name: eyeriss_like.PE[17].ifmap_spad + energy: 1631.6976 + - name: eyeriss_like.PE[17].psum_spad + energy: 8928.07472 + - name: eyeriss_like.PE[17].mac + energy: 17345.229 + - name: eyeriss_like.PE[18].weights_spad + energy: 14934.749160000001 + - name: eyeriss_like.PE[18].ifmap_spad + energy: 1630.73104 + - name: eyeriss_like.PE[18].psum_spad + energy: 8892.86432 + - name: eyeriss_like.PE[18].mac + energy: 17115.5834 + - name: eyeriss_like.PE[19].weights_spad + energy: 15284.61252 + - name: eyeriss_like.PE[19].ifmap_spad + energy: 1631.97376 + - name: eyeriss_like.PE[19].psum_spad + energy: 8890.79312 + - name: eyeriss_like.PE[19].mac + energy: 17517.4632 + - name: eyeriss_like.PE[20].weights_spad + energy: 14609.876040000001 + - name: eyeriss_like.PE[20].ifmap_spad + energy: 1630.04064 + - name: eyeriss_like.PE[20].psum_spad + energy: 8862.90096 + - name: eyeriss_like.PE[20].mac + energy: 16627.5865 + - name: eyeriss_like.PE[21].weights_spad + energy: 15559.50516 + - name: eyeriss_like.PE[21].ifmap_spad + energy: 1631.8356800000001 + - name: eyeriss_like.PE[21].psum_spad + energy: 8923.380000000001 + - name: eyeriss_like.PE[21].mac + energy: 17804.5202 + - name: eyeriss_like.PE[22].weights_spad + energy: 16084.3002 + - name: eyeriss_like.PE[22].ifmap_spad + energy: 1631.33736 + - name: eyeriss_like.PE[22].psum_spad + energy: 8896.04016 + - name: eyeriss_like.PE[22].mac + energy: 18378.6342 + - name: eyeriss_like.PE[23].weights_spad + energy: 14859.77844 + - name: eyeriss_like.PE[23].ifmap_spad + energy: 1630.23272 + - name: eyeriss_like.PE[23].psum_spad + energy: 8865.248319999999 + - name: eyeriss_like.PE[23].mac + energy: 17000.7606 + - name: eyeriss_like.PE[24].weights_spad + energy: 13060.481160000001 + - name: eyeriss_like.PE[24].ifmap_spad + energy: 1625.39992 + - name: eyeriss_like.PE[24].psum_spad + energy: 8684.63968 + - name: eyeriss_like.PE[24].mac + energy: 15048.773 + - name: eyeriss_like.PE[25].weights_spad + energy: 12210.813 + - name: eyeriss_like.PE[25].ifmap_spad + energy: 1624.29528 + - name: eyeriss_like.PE[25].psum_spad + energy: 8692.64832 + - name: eyeriss_like.PE[25].mac + energy: 13957.9564 + - name: eyeriss_like.PE[26].weights_spad + energy: 14484.924840000001 + - name: eyeriss_like.PE[26].ifmap_spad + energy: 1631.19928 + - name: eyeriss_like.PE[26].psum_spad + energy: 8851.85456 + - name: eyeriss_like.PE[26].mac + energy: 16857.2321 + - name: eyeriss_like.PE[28].weights_spad + energy: 11485.81988 + - name: eyeriss_like.PE[28].ifmap_spad + energy: 1623.4128 + - name: eyeriss_like.PE[28].psum_spad + energy: 8615.04736 + - name: eyeriss_like.PE[28].mac + energy: 13211.6082 + - name: eyeriss_like.PE[29].weights_spad + energy: 12460.43924 + - name: eyeriss_like.PE[29].ifmap_spad + energy: 1625.7601599999998 + - name: eyeriss_like.PE[29].psum_spad + energy: 8794.82752 + - name: eyeriss_like.PE[29].mac + energy: 14503.364699999998 + - name: eyeriss_like.PE[30].weights_spad + energy: 15059.424200000001 + - name: eyeriss_like.PE[30].ifmap_spad + energy: 1631.6976 + - name: eyeriss_like.PE[30].psum_spad + energy: 8920.480319999999 + - name: eyeriss_like.PE[30].mac + energy: 17345.229 + - name: eyeriss_like.PE[31].weights_spad + energy: 14934.473 + - name: eyeriss_like.PE[31].ifmap_spad + energy: 1630.73104 + - name: eyeriss_like.PE[31].psum_spad + energy: 8887.75536 + - name: eyeriss_like.PE[31].mac + energy: 17115.5834 + - name: eyeriss_like.PE[32].weights_spad + energy: 15284.336360000001 + - name: eyeriss_like.PE[32].ifmap_spad + energy: 1631.97376 + - name: eyeriss_like.PE[32].psum_spad + energy: 8888.44576 + - name: eyeriss_like.PE[32].mac + energy: 17517.4632 + - name: eyeriss_like.PE[33].weights_spad + energy: 14609.599880000002 + - name: eyeriss_like.PE[33].ifmap_spad + energy: 1630.04064 + - name: eyeriss_like.PE[33].psum_spad + energy: 8858.34432 + - name: eyeriss_like.PE[33].mac + energy: 16627.5865 + - name: eyeriss_like.PE[34].weights_spad + energy: 15559.229000000001 + - name: eyeriss_like.PE[34].ifmap_spad + energy: 1631.8356800000001 + - name: eyeriss_like.PE[34].psum_spad + energy: 8921.03264 + - name: eyeriss_like.PE[34].mac + energy: 17804.5202 + - name: eyeriss_like.PE[35].weights_spad + energy: 16084.02404 + - name: eyeriss_like.PE[35].ifmap_spad + energy: 1631.28336 + - name: eyeriss_like.PE[35].psum_spad + energy: 8891.6216 + - name: eyeriss_like.PE[35].mac + energy: 18378.6342 + - name: eyeriss_like.PE[36].weights_spad + energy: 14859.50228 + - name: eyeriss_like.PE[36].ifmap_spad + energy: 1630.1787199999999 + - name: eyeriss_like.PE[36].psum_spad + energy: 8851.99264 + - name: eyeriss_like.PE[36].mac + energy: 17000.7606 + - name: eyeriss_like.PE[37].weights_spad + energy: 13060.205000000002 + - name: eyeriss_like.PE[37].ifmap_spad + energy: 1625.34592 + - name: eyeriss_like.PE[37].psum_spad + energy: 8679.94496 + - name: eyeriss_like.PE[37].mac + energy: 15048.773 + - name: eyeriss_like.PE[38].weights_spad + energy: 12210.53684 + - name: eyeriss_like.PE[38].ifmap_spad + energy: 1624.24128 + - name: eyeriss_like.PE[38].psum_spad + energy: 8703.28048 + - name: eyeriss_like.PE[38].mac + energy: 13957.9564 + - name: eyeriss_like.PE[39].weights_spad + energy: 14484.64868 + - name: eyeriss_like.PE[39].ifmap_spad + energy: 1631.14528 + - name: eyeriss_like.PE[39].psum_spad + energy: 8847.85024 + - name: eyeriss_like.PE[39].mac + energy: 16857.2321 + - name: eyeriss_like.PE[40].weights_spad + energy: 3189.0602 + - name: eyeriss_like.PE[40].ifmap_spad + energy: 1593.1732799999997 + - name: eyeriss_like.PE[40].psum_spad + energy: 6825.66864 + - name: eyeriss_like.PE[40].mac + energy: 2877.5562 + - name: eyeriss_like.PE[42].weights_spad + energy: 3189.3363600000002 + - name: eyeriss_like.PE[42].ifmap_spad + energy: 1593.28128 + - name: eyeriss_like.PE[42].psum_spad + energy: 6825.66864 + - name: eyeriss_like.PE[42].mac + energy: 2877.5562 + - name: eyeriss_like.PE[43].weights_spad + energy: 13947.29222 + - name: eyeriss_like.PE[43].ifmap_spad + energy: 1630.8570399999999 + - name: eyeriss_like.PE[43].psum_spad + energy: 8984.27328 + - name: eyeriss_like.PE[43].mac + energy: 16110.883899999999 + - name: eyeriss_like.PE[44].weights_spad + energy: 11540.80664 + - name: eyeriss_like.PE[44].ifmap_spad + energy: 1623.37538 + - name: eyeriss_like.PE[44].psum_spad + energy: 8619.85044 + - name: eyeriss_like.PE[44].mac + energy: 13211.6082 + - name: eyeriss_like.PE[45].weights_spad + energy: 12588.38922 + - name: eyeriss_like.PE[45].ifmap_spad + energy: 1625.5593199999998 + - name: eyeriss_like.PE[45].psum_spad + energy: 8794.73836 + - name: eyeriss_like.PE[45].mac + energy: 14503.364699999998 + - name: eyeriss_like.PE[46].weights_spad + energy: 15272.51369 + - name: eyeriss_like.PE[46].ifmap_spad + energy: 1631.49676 + - name: eyeriss_like.PE[46].psum_spad + energy: 8924.63026 + - name: eyeriss_like.PE[46].mac + energy: 17345.229 + - name: eyeriss_like.PE[47].weights_spad + energy: 15202.29672 + - name: eyeriss_like.PE[47].ifmap_spad + energy: 1630.5302000000001 + - name: eyeriss_like.PE[47].psum_spad + energy: 8892.99828 + - name: eyeriss_like.PE[47].mac + energy: 17115.5834 + - name: eyeriss_like.PE[48].weights_spad + energy: 15576.465400000001 + - name: eyeriss_like.PE[48].ifmap_spad + energy: 1631.7729199999999 + - name: eyeriss_like.PE[48].psum_spad + energy: 8882.64228 + - name: eyeriss_like.PE[48].mac + energy: 17517.4632 + - name: eyeriss_like.PE[49].weights_spad + energy: 14901.6344 + - name: eyeriss_like.PE[49].ifmap_spad + energy: 1629.8398000000002 + - name: eyeriss_like.PE[49].psum_spad + energy: 8855.16436 + - name: eyeriss_like.PE[49].mac + energy: 16627.5865 + - name: eyeriss_like.PE[50].weights_spad + energy: 15851.169 + - name: eyeriss_like.PE[50].ifmap_spad + energy: 1631.6348400000002 + - name: eyeriss_like.PE[50].psum_spad + energy: 8916.748039999999 + - name: eyeriss_like.PE[50].mac + energy: 17804.5202 + - name: eyeriss_like.PE[51].weights_spad + energy: 16375.86952 + - name: eyeriss_like.PE[51].ifmap_spad + energy: 1631.08252 + - name: eyeriss_like.PE[51].psum_spad + energy: 8883.74692 + - name: eyeriss_like.PE[51].mac + energy: 18378.6342 + - name: eyeriss_like.PE[52].weights_spad + energy: 15151.25324 + - name: eyeriss_like.PE[52].ifmap_spad + energy: 1629.97788 + - name: eyeriss_like.PE[52].psum_spad + energy: 8863.58724 + - name: eyeriss_like.PE[52].mac + energy: 17000.7606 + - name: eyeriss_like.PE[53].weights_spad + energy: 13351.861439999999 + - name: eyeriss_like.PE[53].ifmap_spad + energy: 1625.1450800000002 + - name: eyeriss_like.PE[53].psum_spad + energy: 8682.288199999999 + - name: eyeriss_like.PE[53].mac + energy: 15048.773 + - name: eyeriss_like.PE[54].weights_spad + energy: 12502.09876 + - name: eyeriss_like.PE[54].ifmap_spad + energy: 1624.0404400000002 + - name: eyeriss_like.PE[54].psum_spad + energy: 8704.65716 + - name: eyeriss_like.PE[54].mac + energy: 13957.9564 + - name: eyeriss_like.PE[56].weights_spad + energy: 13934.8634 + - name: eyeriss_like.PE[56].ifmap_spad + energy: 1630.73104 + - name: eyeriss_like.PE[56].psum_spad + energy: 9007.05648 + - name: eyeriss_like.PE[56].mac + energy: 16110.883899999999 + - name: eyeriss_like.PE[57].weights_spad + energy: 11485.81988 + - name: eyeriss_like.PE[57].ifmap_spad + energy: 1623.4128 + - name: eyeriss_like.PE[57].psum_spad + energy: 8637.96864 + - name: eyeriss_like.PE[57].mac + energy: 13211.6082 + - name: eyeriss_like.PE[58].weights_spad + energy: 12460.43924 + - name: eyeriss_like.PE[58].ifmap_spad + energy: 1625.7601599999998 + - name: eyeriss_like.PE[58].psum_spad + energy: 8802.14576 + - name: eyeriss_like.PE[58].mac + energy: 14503.364699999998 + - name: eyeriss_like.PE[59].weights_spad + energy: 15059.424200000001 + - name: eyeriss_like.PE[59].ifmap_spad + energy: 1631.6976 + - name: eyeriss_like.PE[59].psum_spad + energy: 8941.19232 + - name: eyeriss_like.PE[59].mac + energy: 17345.229 + - name: eyeriss_like.PE[60].weights_spad + energy: 14934.473 + - name: eyeriss_like.PE[60].ifmap_spad + energy: 1630.73104 + - name: eyeriss_like.PE[60].psum_spad + energy: 8905.4296 + - name: eyeriss_like.PE[60].mac + energy: 17115.5834 + - name: eyeriss_like.PE[61].weights_spad + energy: 15284.336360000001 + - name: eyeriss_like.PE[61].ifmap_spad + energy: 1631.97376 + - name: eyeriss_like.PE[61].psum_spad + energy: 8899.354080000001 + - name: eyeriss_like.PE[61].mac + energy: 17517.4632 + - name: eyeriss_like.PE[62].weights_spad + energy: 14609.599880000002 + - name: eyeriss_like.PE[62].ifmap_spad + energy: 1630.04064 + - name: eyeriss_like.PE[62].psum_spad + energy: 8870.77152 + - name: eyeriss_like.PE[62].mac + energy: 16627.5865 + - name: eyeriss_like.PE[63].weights_spad + energy: 15559.229000000001 + - name: eyeriss_like.PE[63].ifmap_spad + energy: 1631.8356800000001 + - name: eyeriss_like.PE[63].psum_spad + energy: 8926.00352 + - name: eyeriss_like.PE[63].mac + energy: 17804.5202 + - name: eyeriss_like.PE[64].weights_spad + energy: 16084.02404 + - name: eyeriss_like.PE[64].ifmap_spad + energy: 1631.30136 + - name: eyeriss_like.PE[64].psum_spad + energy: 8894.935519999999 + - name: eyeriss_like.PE[64].mac + energy: 18378.6342 + - name: eyeriss_like.PE[65].weights_spad + energy: 14859.50228 + - name: eyeriss_like.PE[65].ifmap_spad + energy: 1630.23272 + - name: eyeriss_like.PE[65].psum_spad + energy: 8867.18144 + - name: eyeriss_like.PE[65].mac + energy: 17000.7606 + - name: eyeriss_like.PE[66].weights_spad + energy: 13060.205000000002 + - name: eyeriss_like.PE[66].ifmap_spad + energy: 1625.39992 + - name: eyeriss_like.PE[66].psum_spad + energy: 8693.891039999999 + - name: eyeriss_like.PE[66].mac + energy: 15048.773 + - name: eyeriss_like.PE[67].weights_spad + energy: 12210.53684 + - name: eyeriss_like.PE[67].ifmap_spad + energy: 1624.29528 + - name: eyeriss_like.PE[67].psum_spad + energy: 8708.11328 + - name: eyeriss_like.PE[67].mac + energy: 13957.9564 + - name: eyeriss_like.PE[68].weights_spad + energy: 14484.64868 + - name: eyeriss_like.PE[68].ifmap_spad + energy: 1631.19928 + - name: eyeriss_like.PE[68].psum_spad + energy: 8860.69168 + - name: eyeriss_like.PE[68].mac + energy: 16857.2321 + - name: eyeriss_like.PE[70].weights_spad + energy: 11486.09604 + - name: eyeriss_like.PE[70].ifmap_spad + energy: 1623.4128 + - name: eyeriss_like.PE[70].psum_spad + energy: 8624.29872 + - name: eyeriss_like.PE[70].mac + energy: 13211.6082 + - name: eyeriss_like.PE[71].weights_spad + energy: 12460.715400000001 + - name: eyeriss_like.PE[71].ifmap_spad + energy: 1625.7601599999998 + - name: eyeriss_like.PE[71].psum_spad + energy: 8795.51792 + - name: eyeriss_like.PE[71].mac + energy: 14503.364699999998 + - name: eyeriss_like.PE[72].weights_spad + energy: 15059.70036 + - name: eyeriss_like.PE[72].ifmap_spad + energy: 1631.6976 + - name: eyeriss_like.PE[72].psum_spad + energy: 8928.35088 + - name: eyeriss_like.PE[72].mac + energy: 17345.229 + - name: eyeriss_like.PE[73].weights_spad + energy: 14934.749160000001 + - name: eyeriss_like.PE[73].ifmap_spad + energy: 1630.73104 + - name: eyeriss_like.PE[73].psum_spad + energy: 8889.68848 + - name: eyeriss_like.PE[73].mac + energy: 17115.5834 + - name: eyeriss_like.PE[74].weights_spad + energy: 15284.61252 + - name: eyeriss_like.PE[74].ifmap_spad + energy: 1631.97376 + - name: eyeriss_like.PE[74].psum_spad + energy: 8891.759680000001 + - name: eyeriss_like.PE[74].mac + energy: 17517.4632 + - name: eyeriss_like.PE[75].weights_spad + energy: 14609.876040000001 + - name: eyeriss_like.PE[75].ifmap_spad + energy: 1630.04064 + - name: eyeriss_like.PE[75].psum_spad + energy: 8863.45328 + - name: eyeriss_like.PE[75].mac + energy: 16627.5865 + - name: eyeriss_like.PE[76].weights_spad + energy: 15559.50516 + - name: eyeriss_like.PE[76].ifmap_spad + energy: 1631.8356800000001 + - name: eyeriss_like.PE[76].psum_spad + energy: 8921.9992 + - name: eyeriss_like.PE[76].mac + energy: 17804.5202 + - name: eyeriss_like.PE[77].weights_spad + energy: 16084.3002 + - name: eyeriss_like.PE[77].ifmap_spad + energy: 1631.28336 + - name: eyeriss_like.PE[77].psum_spad + energy: 8888.03152 + - name: eyeriss_like.PE[77].mac + energy: 18378.6342 + - name: eyeriss_like.PE[78].weights_spad + energy: 14859.77844 + - name: eyeriss_like.PE[78].ifmap_spad + energy: 1630.1787199999999 + - name: eyeriss_like.PE[78].psum_spad + energy: 8847.436 + - name: eyeriss_like.PE[78].mac + energy: 17000.7606 + - name: eyeriss_like.PE[79].weights_spad + energy: 13060.481160000001 + - name: eyeriss_like.PE[79].ifmap_spad + energy: 1625.34592 + - name: eyeriss_like.PE[79].psum_spad + energy: 8683.8112 + - name: eyeriss_like.PE[79].mac + energy: 15048.773 + - name: eyeriss_like.PE[80].weights_spad + energy: 12210.813 + - name: eyeriss_like.PE[80].ifmap_spad + energy: 1624.24128 + - name: eyeriss_like.PE[80].psum_spad + energy: 8707.00864 + - name: eyeriss_like.PE[80].mac + energy: 13957.9564 + - name: eyeriss_like.PE[81].weights_spad + energy: 14484.924840000001 + - name: eyeriss_like.PE[81].ifmap_spad + energy: 1631.14528 + - name: eyeriss_like.PE[81].psum_spad + energy: 8854.892319999999 + - name: eyeriss_like.PE[81].mac + energy: 16857.2321 + - name: eyeriss_like.PE[82].weights_spad + energy: 3189.3363600000002 + - name: eyeriss_like.PE[82].ifmap_spad + energy: 1593.1732799999997 + - name: eyeriss_like.PE[82].psum_spad + energy: 6825.66864 + - name: eyeriss_like.PE[82].mac + energy: 2877.5562 + - name: eyeriss_like.PE[84].weights_spad + energy: 3189.3363600000002 + - name: eyeriss_like.PE[84].ifmap_spad + energy: 1593.3172799999998 + - name: eyeriss_like.PE[84].psum_spad + energy: 6825.66864 + - name: eyeriss_like.PE[84].mac + energy: 2877.5562 + - name: eyeriss_like.PE[85].weights_spad + energy: 13935.139560000001 + - name: eyeriss_like.PE[85].ifmap_spad + energy: 1630.87504 + - name: eyeriss_like.PE[85].psum_spad + energy: 8995.595839999998 + - name: eyeriss_like.PE[85].mac + energy: 16110.883899999999 + - name: eyeriss_like.PE[86].weights_spad + energy: 11504.32503 + - name: eyeriss_like.PE[86].ifmap_spad + energy: 1623.5747999999999 + - name: eyeriss_like.PE[86].psum_spad + energy: 8627.8888 + - name: eyeriss_like.PE[86].mac + energy: 13211.6082 + - name: eyeriss_like.PE[87].weights_spad + energy: 12527.578660000001 + - name: eyeriss_like.PE[87].ifmap_spad + energy: 1625.7407399999997 + - name: eyeriss_like.PE[87].psum_spad + energy: 8789.03456 + - name: eyeriss_like.PE[87].mac + energy: 14503.364699999998 + - name: eyeriss_like.PE[88].weights_spad + energy: 15205.60317 + - name: eyeriss_like.PE[88].ifmap_spad + energy: 1631.49676 + - name: eyeriss_like.PE[88].psum_spad + energy: 8921.68806 + - name: eyeriss_like.PE[88].mac + energy: 17345.229 + - name: eyeriss_like.PE[89].weights_spad + energy: 15159.71515 + - name: eyeriss_like.PE[89].ifmap_spad + energy: 1630.5302000000001 + - name: eyeriss_like.PE[89].psum_spad + energy: 8895.80766 + - name: eyeriss_like.PE[89].mac + energy: 17115.5834 + - name: eyeriss_like.PE[90].weights_spad + energy: 15558.23641 + - name: eyeriss_like.PE[90].ifmap_spad + energy: 1631.7729199999999 + - name: eyeriss_like.PE[90].psum_spad + energy: 8891.75556 + - name: eyeriss_like.PE[90].mac + energy: 17517.4632 + - name: eyeriss_like.PE[91].weights_spad + energy: 14901.705290000002 + - name: eyeriss_like.PE[91].ifmap_spad + energy: 1629.8398000000002 + - name: eyeriss_like.PE[91].psum_spad + energy: 8858.89252 + - name: eyeriss_like.PE[91].mac + energy: 16627.5865 + - name: eyeriss_like.PE[92].weights_spad + energy: 15851.239889999999 + - name: eyeriss_like.PE[92].ifmap_spad + energy: 1631.6348400000002 + - name: eyeriss_like.PE[92].psum_spad + energy: 8918.128840000001 + - name: eyeriss_like.PE[92].mac + energy: 17804.5202 + - name: eyeriss_like.PE[93].weights_spad + energy: 16375.940410000001 + - name: eyeriss_like.PE[93].ifmap_spad + energy: 1631.08252 + - name: eyeriss_like.PE[93].psum_spad + energy: 8885.12772 + - name: eyeriss_like.PE[93].mac + energy: 18378.6342 + - name: eyeriss_like.PE[94].weights_spad + energy: 15151.32413 + - name: eyeriss_like.PE[94].ifmap_spad + energy: 1629.97788 + - name: eyeriss_like.PE[94].psum_spad + energy: 8857.6498 + - name: eyeriss_like.PE[94].mac + energy: 17000.7606 + - name: eyeriss_like.PE[95].weights_spad + energy: 13351.93233 + - name: eyeriss_like.PE[95].ifmap_spad + energy: 1625.1450800000002 + - name: eyeriss_like.PE[95].psum_spad + energy: 8679.94084 + - name: eyeriss_like.PE[95].mac + energy: 15048.773 + - name: eyeriss_like.PE[96].weights_spad + energy: 12502.169650000002 + - name: eyeriss_like.PE[96].ifmap_spad + energy: 1624.0404400000002 + - name: eyeriss_like.PE[96].psum_spad + energy: 8707.833 + - name: eyeriss_like.PE[96].mac + energy: 13957.9564 + - name: eyeriss_like.PE[98].weights_spad + energy: 13935.139560000001 + - name: eyeriss_like.PE[98].ifmap_spad + energy: 1630.73104 + - name: eyeriss_like.PE[98].psum_spad + energy: 9001.53328 + - name: eyeriss_like.PE[98].mac + energy: 16110.883899999999 + - name: eyeriss_like.PE[99].weights_spad + energy: 11486.09604 + - name: eyeriss_like.PE[99].ifmap_spad + energy: 1623.4128 + - name: eyeriss_like.PE[99].psum_spad + energy: 8636.03552 + - name: eyeriss_like.PE[99].mac + energy: 13211.6082 + - name: eyeriss_like.PE[100].weights_spad + energy: 12460.715400000001 + - name: eyeriss_like.PE[100].ifmap_spad + energy: 1625.7601599999998 + - name: eyeriss_like.PE[100].psum_spad + energy: 8806.840479999999 + - name: eyeriss_like.PE[100].mac + energy: 14503.364699999998 + - name: eyeriss_like.PE[101].weights_spad + energy: 15059.70036 + - name: eyeriss_like.PE[101].ifmap_spad + energy: 1631.6976 + - name: eyeriss_like.PE[101].psum_spad + energy: 8938.568800000001 + - name: eyeriss_like.PE[101].mac + energy: 17345.229 + - name: eyeriss_like.PE[102].weights_spad + energy: 14934.749160000001 + - name: eyeriss_like.PE[102].ifmap_spad + energy: 1630.73104 + - name: eyeriss_like.PE[102].psum_spad + energy: 8896.17824 + - name: eyeriss_like.PE[102].mac + energy: 17115.5834 + - name: eyeriss_like.PE[103].weights_spad + energy: 15284.61252 + - name: eyeriss_like.PE[103].ifmap_spad + energy: 1631.97376 + - name: eyeriss_like.PE[103].psum_spad + energy: 8907.22464 + - name: eyeriss_like.PE[103].mac + energy: 17517.4632 + - name: eyeriss_like.PE[104].weights_spad + energy: 14609.876040000001 + - name: eyeriss_like.PE[104].ifmap_spad + energy: 1630.04064 + - name: eyeriss_like.PE[104].psum_spad + energy: 8877.26128 + - name: eyeriss_like.PE[104].mac + energy: 16627.5865 + - name: eyeriss_like.PE[105].weights_spad + energy: 15559.50516 + - name: eyeriss_like.PE[105].ifmap_spad + energy: 1631.8356800000001 + - name: eyeriss_like.PE[105].psum_spad + energy: 8934.70256 + - name: eyeriss_like.PE[105].mac + energy: 17804.5202 + - name: eyeriss_like.PE[106].weights_spad + energy: 16084.3002 + - name: eyeriss_like.PE[106].ifmap_spad + energy: 1631.28336 + - name: eyeriss_like.PE[106].psum_spad + energy: 8899.35408 + - name: eyeriss_like.PE[106].mac + energy: 18378.6342 + - name: eyeriss_like.PE[107].weights_spad + energy: 14859.77844 + - name: eyeriss_like.PE[107].ifmap_spad + energy: 1630.21472 + - name: eyeriss_like.PE[107].psum_spad + energy: 8864.55792 + - name: eyeriss_like.PE[107].mac + energy: 17000.7606 + - name: eyeriss_like.PE[108].weights_spad + energy: 13060.481160000001 + - name: eyeriss_like.PE[108].ifmap_spad + energy: 1625.39992 + - name: eyeriss_like.PE[108].psum_spad + energy: 8690.024800000001 + - name: eyeriss_like.PE[108].mac + energy: 15048.773 + - name: eyeriss_like.PE[109].weights_spad + energy: 12210.813 + - name: eyeriss_like.PE[109].ifmap_spad + energy: 1624.29528 + - name: eyeriss_like.PE[109].psum_spad + energy: 8713.91264 + - name: eyeriss_like.PE[109].mac + energy: 13957.9564 + - name: eyeriss_like.PE[110].weights_spad + energy: 14484.924840000001 + - name: eyeriss_like.PE[110].ifmap_spad + energy: 1631.19928 + - name: eyeriss_like.PE[110].psum_spad + energy: 8860.27744 + - name: eyeriss_like.PE[110].mac + energy: 16857.2321 + - name: eyeriss_like.PE[112].weights_spad + energy: 11485.95796 + - name: eyeriss_like.PE[112].ifmap_spad + energy: 1623.4128 + - name: eyeriss_like.PE[112].psum_spad + energy: 8631.75504 + - name: eyeriss_like.PE[112].mac + energy: 13211.6082 + - name: eyeriss_like.PE[113].weights_spad + energy: 12460.57732 + - name: eyeriss_like.PE[113].ifmap_spad + energy: 1625.7601599999998 + - name: eyeriss_like.PE[113].psum_spad + energy: 8793.170559999999 + - name: eyeriss_like.PE[113].mac + energy: 14503.364699999998 + - name: eyeriss_like.PE[114].weights_spad + energy: 15059.56228 + - name: eyeriss_like.PE[114].ifmap_spad + energy: 1631.6976 + - name: eyeriss_like.PE[114].psum_spad + energy: 8936.221440000001 + - name: eyeriss_like.PE[114].mac + energy: 17345.229 + - name: eyeriss_like.PE[115].weights_spad + energy: 14934.61108 + - name: eyeriss_like.PE[115].ifmap_spad + energy: 1630.73104 + - name: eyeriss_like.PE[115].psum_spad + energy: 8895.34976 + - name: eyeriss_like.PE[115].mac + energy: 17115.5834 + - name: eyeriss_like.PE[116].weights_spad + energy: 15284.47444 + - name: eyeriss_like.PE[116].ifmap_spad + energy: 1631.97376 + - name: eyeriss_like.PE[116].psum_spad + energy: 8905.01536 + - name: eyeriss_like.PE[116].mac + energy: 17517.4632 + - name: eyeriss_like.PE[117].weights_spad + energy: 14609.73796 + - name: eyeriss_like.PE[117].ifmap_spad + energy: 1630.04064 + - name: eyeriss_like.PE[117].psum_spad + energy: 8868.976480000001 + - name: eyeriss_like.PE[117].mac + energy: 16627.5865 + - name: eyeriss_like.PE[118].weights_spad + energy: 15559.367080000002 + - name: eyeriss_like.PE[118].ifmap_spad + energy: 1631.8356800000001 + - name: eyeriss_like.PE[118].psum_spad + energy: 8920.480319999999 + - name: eyeriss_like.PE[118].mac + energy: 17804.5202 + - name: eyeriss_like.PE[119].weights_spad + energy: 16084.162119999999 + - name: eyeriss_like.PE[119].ifmap_spad + energy: 1631.28336 + - name: eyeriss_like.PE[119].psum_spad + energy: 8890.37888 + - name: eyeriss_like.PE[119].mac + energy: 18378.6342 + - name: eyeriss_like.PE[120].weights_spad + energy: 14859.64036 + - name: eyeriss_like.PE[120].ifmap_spad + energy: 1630.1787199999999 + - name: eyeriss_like.PE[120].psum_spad + energy: 8862.76288 + - name: eyeriss_like.PE[120].mac + energy: 17000.7606 + - name: eyeriss_like.PE[121].weights_spad + energy: 13060.34308 + - name: eyeriss_like.PE[121].ifmap_spad + energy: 1625.34592 + - name: eyeriss_like.PE[121].psum_spad + energy: 8691.95792 + - name: eyeriss_like.PE[121].mac + energy: 15048.773 + - name: eyeriss_like.PE[122].weights_spad + energy: 12210.674920000001 + - name: eyeriss_like.PE[122].ifmap_spad + energy: 1624.24128 + - name: eyeriss_like.PE[122].psum_spad + energy: 8712.39376 + - name: eyeriss_like.PE[122].mac + energy: 13957.9564 + - name: eyeriss_like.PE[123].weights_spad + energy: 14484.78676 + - name: eyeriss_like.PE[123].ifmap_spad + energy: 1631.14528 + - name: eyeriss_like.PE[123].psum_spad + energy: 8854.75424 + - name: eyeriss_like.PE[123].mac + energy: 16857.2321 + - name: eyeriss_like.PE[124].weights_spad + energy: 3189.19828 + - name: eyeriss_like.PE[124].ifmap_spad + energy: 1593.1732799999997 + - name: eyeriss_like.PE[124].psum_spad + energy: 6825.66864 + - name: eyeriss_like.PE[124].mac + energy: 2877.5562 + - name: eyeriss_like.PE[126].weights_spad + energy: 3189.3363600000002 + - name: eyeriss_like.PE[126].ifmap_spad + energy: 1593.28128 + - name: eyeriss_like.PE[126].psum_spad + energy: 6825.66864 + - name: eyeriss_like.PE[126].mac + energy: 2877.5562 + - name: eyeriss_like.PE[127].weights_spad + energy: 13935.139560000001 + - name: eyeriss_like.PE[127].ifmap_spad + energy: 1630.8390399999998 + - name: eyeriss_like.PE[127].psum_spad + energy: 9005.12336 + - name: eyeriss_like.PE[127].mac + energy: 16110.883899999999 + - name: eyeriss_like.PE[128].weights_spad + energy: 11486.09604 + - name: eyeriss_like.PE[128].ifmap_spad + energy: 1623.5208 + - name: eyeriss_like.PE[128].psum_spad + energy: 8628.44112 + - name: eyeriss_like.PE[128].mac + energy: 13211.6082 + - name: eyeriss_like.PE[129].weights_spad + energy: 12485.02072 + - name: eyeriss_like.PE[129].ifmap_spad + energy: 1625.7047399999997 + - name: eyeriss_like.PE[129].psum_spad + energy: 8799.126059999999 + - name: eyeriss_like.PE[129].mac + energy: 14503.364699999998 + - name: eyeriss_like.PE[130].weights_spad + energy: 15138.71628 + - name: eyeriss_like.PE[130].ifmap_spad + energy: 1631.47876 + - name: eyeriss_like.PE[130].psum_spad + energy: 8931.845399999998 + - name: eyeriss_like.PE[130].mac + energy: 17345.229 + - name: eyeriss_like.PE[131].weights_spad + energy: 15098.88096 + - name: eyeriss_like.PE[131].ifmap_spad + energy: 1630.5302000000001 + - name: eyeriss_like.PE[131].psum_spad + energy: 8894.26432 + - name: eyeriss_like.PE[131].mac + energy: 17115.5834 + - name: eyeriss_like.PE[132].weights_spad + energy: 15521.731170000001 + - name: eyeriss_like.PE[132].ifmap_spad + energy: 1631.7729199999999 + - name: eyeriss_like.PE[132].psum_spad + energy: 8899.1577 + - name: eyeriss_like.PE[132].mac + energy: 17517.4632 + - name: eyeriss_like.PE[133].weights_spad + energy: 14889.57626 + - name: eyeriss_like.PE[133].ifmap_spad + energy: 1629.8398000000002 + - name: eyeriss_like.PE[133].psum_spad + energy: 8864.96804 + - name: eyeriss_like.PE[133].mac + energy: 16627.5865 + - name: eyeriss_like.PE[134].weights_spad + energy: 15851.31078 + - name: eyeriss_like.PE[134].ifmap_spad + energy: 1631.6348400000002 + - name: eyeriss_like.PE[134].psum_spad + energy: 8928.89908 + - name: eyeriss_like.PE[134].mac + energy: 17804.5202 + - name: eyeriss_like.PE[135].weights_spad + energy: 16376.0113 + - name: eyeriss_like.PE[135].ifmap_spad + energy: 1631.08252 + - name: eyeriss_like.PE[135].psum_spad + energy: 8897.96916 + - name: eyeriss_like.PE[135].mac + energy: 18378.6342 + - name: eyeriss_like.PE[136].weights_spad + energy: 15151.39502 + - name: eyeriss_like.PE[136].ifmap_spad + energy: 1629.97788 + - name: eyeriss_like.PE[136].psum_spad + energy: 8864.553799999998 + - name: eyeriss_like.PE[136].mac + energy: 17000.7606 + - name: eyeriss_like.PE[137].weights_spad + energy: 13352.00322 + - name: eyeriss_like.PE[137].ifmap_spad + energy: 1625.1450800000002 + - name: eyeriss_like.PE[137].psum_spad + energy: 8688.91604 + - name: eyeriss_like.PE[137].mac + energy: 15048.773 + - name: eyeriss_like.PE[138].weights_spad + energy: 12502.24054 + - name: eyeriss_like.PE[138].ifmap_spad + energy: 1624.0404400000002 + - name: eyeriss_like.PE[138].psum_spad + energy: 8717.91284 + - name: eyeriss_like.PE[138].mac + energy: 13957.9564 + - name: eyeriss_like.PE[140].weights_spad + energy: 13935.139560000001 + - name: eyeriss_like.PE[140].ifmap_spad + energy: 1630.73104 + - name: eyeriss_like.PE[140].psum_spad + energy: 8996.83856 + - name: eyeriss_like.PE[140].mac + energy: 16110.883899999999 + - name: eyeriss_like.PE[141].weights_spad + energy: 11486.09604 + - name: eyeriss_like.PE[141].ifmap_spad + energy: 1623.4128 + - name: eyeriss_like.PE[141].psum_spad + energy: 8617.25664 + - name: eyeriss_like.PE[141].mac + energy: 13211.6082 + - name: eyeriss_like.PE[142].weights_spad + energy: 12460.715400000001 + - name: eyeriss_like.PE[142].ifmap_spad + energy: 1625.7601599999998 + - name: eyeriss_like.PE[142].psum_spad + energy: 8798.27952 + - name: eyeriss_like.PE[142].mac + energy: 14503.364699999998 + - name: eyeriss_like.PE[143].weights_spad + energy: 15059.70036 + - name: eyeriss_like.PE[143].ifmap_spad + energy: 1631.6976 + - name: eyeriss_like.PE[143].psum_spad + energy: 8931.6648 + - name: eyeriss_like.PE[143].mac + energy: 17345.229 + - name: eyeriss_like.PE[144].weights_spad + energy: 14934.749160000001 + - name: eyeriss_like.PE[144].ifmap_spad + energy: 1630.73104 + - name: eyeriss_like.PE[144].psum_spad + energy: 8898.80176 + - name: eyeriss_like.PE[144].mac + energy: 17115.5834 + - name: eyeriss_like.PE[145].weights_spad + energy: 15284.61252 + - name: eyeriss_like.PE[145].ifmap_spad + energy: 1631.97376 + - name: eyeriss_like.PE[145].psum_spad + energy: 8898.66368 + - name: eyeriss_like.PE[145].mac + energy: 17517.4632 + - name: eyeriss_like.PE[146].weights_spad + energy: 14609.876040000001 + - name: eyeriss_like.PE[146].ifmap_spad + energy: 1630.04064 + - name: eyeriss_like.PE[146].psum_spad + energy: 8863.17712 + - name: eyeriss_like.PE[146].mac + energy: 16627.5865 + - name: eyeriss_like.PE[147].weights_spad + energy: 15559.50516 + - name: eyeriss_like.PE[147].ifmap_spad + energy: 1631.8356800000001 + - name: eyeriss_like.PE[147].psum_spad + energy: 8923.24192 + - name: eyeriss_like.PE[147].mac + energy: 17804.5202 + - name: eyeriss_like.PE[148].weights_spad + energy: 16084.3002 + - name: eyeriss_like.PE[148].ifmap_spad + energy: 1631.28336 + - name: eyeriss_like.PE[148].psum_spad + energy: 8888.86 + - name: eyeriss_like.PE[148].mac + energy: 18378.6342 + - name: eyeriss_like.PE[149].weights_spad + energy: 14859.77844 + - name: eyeriss_like.PE[149].ifmap_spad + energy: 1630.1787199999999 + - name: eyeriss_like.PE[149].psum_spad + energy: 8855.0304 + - name: eyeriss_like.PE[149].mac + energy: 17000.7606 + - name: eyeriss_like.PE[150].weights_spad + energy: 13060.481160000001 + - name: eyeriss_like.PE[150].ifmap_spad + energy: 1625.39992 + - name: eyeriss_like.PE[150].psum_spad + energy: 8679.39264 + - name: eyeriss_like.PE[150].mac + energy: 15048.773 + - name: eyeriss_like.PE[151].weights_spad + energy: 12210.813 + - name: eyeriss_like.PE[151].ifmap_spad + energy: 1624.29528 + - name: eyeriss_like.PE[151].psum_spad + energy: 8721.0928 + - name: eyeriss_like.PE[151].mac + energy: 13957.9564 + - name: eyeriss_like.PE[152].weights_spad + energy: 14484.924840000001 + - name: eyeriss_like.PE[152].ifmap_spad + energy: 1631.19928 + - name: eyeriss_like.PE[152].psum_spad + energy: 8850.74992 + - name: eyeriss_like.PE[152].mac + energy: 16857.2321 + - name: eyeriss_like.PE[154].weights_spad + energy: 11486.09604 + - name: eyeriss_like.PE[154].ifmap_spad + energy: 1623.4128 + - name: eyeriss_like.PE[154].psum_spad + energy: 8627.8888 + - name: eyeriss_like.PE[154].mac + energy: 13211.6082 + - name: eyeriss_like.PE[155].weights_spad + energy: 12460.715400000001 + - name: eyeriss_like.PE[155].ifmap_spad + energy: 1625.7601599999998 + - name: eyeriss_like.PE[155].psum_spad + energy: 8806.97856 + - name: eyeriss_like.PE[155].mac + energy: 14503.364699999998 + - name: eyeriss_like.PE[156].weights_spad + energy: 15059.70036 + - name: eyeriss_like.PE[156].ifmap_spad + energy: 1631.6976 + - name: eyeriss_like.PE[156].psum_spad + energy: 8937.740319999999 + - name: eyeriss_like.PE[156].mac + energy: 17345.229 + - name: eyeriss_like.PE[157].weights_spad + energy: 14934.749160000001 + - name: eyeriss_like.PE[157].ifmap_spad + energy: 1630.73104 + - name: eyeriss_like.PE[157].psum_spad + energy: 8896.73056 + - name: eyeriss_like.PE[157].mac + energy: 17115.5834 + - name: eyeriss_like.PE[158].weights_spad + energy: 15284.61252 + - name: eyeriss_like.PE[158].ifmap_spad + energy: 1631.97376 + - name: eyeriss_like.PE[158].psum_spad + energy: 8900.596800000001 + - name: eyeriss_like.PE[158].mac + energy: 17517.4632 + - name: eyeriss_like.PE[159].weights_spad + energy: 14609.876040000001 + - name: eyeriss_like.PE[159].ifmap_spad + energy: 1630.04064 + - name: eyeriss_like.PE[159].psum_spad + energy: 8874.3616 + - name: eyeriss_like.PE[159].mac + energy: 16627.5865 + - name: eyeriss_like.PE[160].weights_spad + energy: 15559.50516 + - name: eyeriss_like.PE[160].ifmap_spad + energy: 1631.8356800000001 + - name: eyeriss_like.PE[160].psum_spad + energy: 8928.35088 + - name: eyeriss_like.PE[160].mac + energy: 17804.5202 + - name: eyeriss_like.PE[161].weights_spad + energy: 16084.3002 + - name: eyeriss_like.PE[161].ifmap_spad + energy: 1631.28336 + - name: eyeriss_like.PE[161].psum_spad + energy: 8896.17824 + - name: eyeriss_like.PE[161].mac + energy: 18378.6342 + - name: eyeriss_like.PE[162].weights_spad + energy: 14859.77844 + - name: eyeriss_like.PE[162].ifmap_spad + energy: 1630.1787199999999 + - name: eyeriss_like.PE[162].psum_spad + energy: 8870.35728 + - name: eyeriss_like.PE[162].mac + energy: 17000.7606 + - name: eyeriss_like.PE[163].weights_spad + energy: 13060.481160000001 + - name: eyeriss_like.PE[163].ifmap_spad + energy: 1625.34592 + - name: eyeriss_like.PE[163].psum_spad + energy: 8695.13376 + - name: eyeriss_like.PE[163].mac + energy: 15048.773 + - name: eyeriss_like.PE[164].weights_spad + energy: 12210.813 + - name: eyeriss_like.PE[164].ifmap_spad + energy: 1624.24128 + - name: eyeriss_like.PE[164].psum_spad + energy: 8715.84576 + - name: eyeriss_like.PE[164].mac + energy: 13957.9564 + - name: eyeriss_like.PE[165].weights_spad + energy: 14484.924840000001 + - name: eyeriss_like.PE[165].ifmap_spad + energy: 1631.14528 + - name: eyeriss_like.PE[165].psum_spad + energy: 8847.15984 + - name: eyeriss_like.PE[165].mac + energy: 16857.2321 + - name: eyeriss_like.PE[166].weights_spad + energy: 3189.3363600000002 + - name: eyeriss_like.PE[166].ifmap_spad + energy: 1593.1732799999997 + - name: eyeriss_like.PE[166].psum_spad + energy: 6825.66864 + - name: eyeriss_like.PE[166].mac + energy: 2877.5562 + Total: 8484502.549990004 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/flattened_architecture.yaml new file mode 100644 index 00000000..82d57123 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/accelergy/04_eyeriss_like/ref-output/flattened_architecture.yaml @@ -0,0 +1,103 @@ +architecture: + version: 0.3 + local: + - name: eyeriss_like.PE[0..167].ifmap_spad + class: smartbuffer_RF + attributes: + memory_depth: 12 + memory_width: 16 + n_banks: 1 + n_buffets: 1 + n_rdwr_ports: 2 + technology: 45nm + - name: eyeriss_like.PE[0..167].weights_spad + class: smartbuffer_RF + attributes: + memory_depth: 192 + memory_width: 16 + n_banks: 1 + n_buffets: 1 + n_rdwr_ports: 2 + technology: 45nm + - name: eyeriss_like.PE[0..167].psum_spad + class: smartbuffer_RF + attributes: + memory_depth: 16 + memory_width: 16 + n_banks: 1 + n_buffets: 1 + n_rdwr_ports: 2 + technology: 45nm + - name: eyeriss_like.PE[0..167].mac + class: intmac + attributes: + datawidth: 16 + latency: 5ns + meshX: 14 + num_pipeline_stages: 2 + technology: 45nm + - name: eyeriss_like.weights_glb + class: smartbuffer_SRAM + attributes: + memory_depth: 1024 + memory_width: 64 + n_banks: 2 + n_buffets: 1 + n_rdwr_ports: 2 + technology: 45nm + - name: eyeriss_like.shared_glb + class: smartbuffer_SRAM + attributes: + bank_depth: 512 + memory_depth: 12800 + memory_width: 64 + n_banks: 25 + n_buffets: 2 + n_rdwr_ports: 2 + technology: 45nm + update_fifo_depth: 2 + - name: eyeriss_like.ifmap_NoC + class: XY_NoC + attributes: + X_comparator_width: 4 + Y_X_wire_avg_length: 2mm + Y_comparator_width: 4 + col_id_width: 5 + datawidth: 16 + n_PE_cols: 14 + n_PE_rows: 12 + technology: 45nm + total_PEs: 168 + - name: eyeriss_like.weights_NoC + class: XY_NoC + attributes: + X_comparator_width: 4 + Y_X_wire_avg_length: 2mm + Y_comparator_width: 4 + datawidth: 64 + n_PE_cols: 14 + n_PE_rows: 12 + technology: 45nm + total_PEs: 168 + - name: eyeriss_like.psum_write_NoC + class: XY_NoC + attributes: + X_comparator_width: 4 + Y_X_wire_avg_length: 2mm + Y_comparator_width: 4 + datawidth: 64 + n_PE_cols: 14 + n_PE_rows: 12 + technology: 45nm + total_PEs: 168 + - name: eyeriss_like.psum_read_NoC + class: XY_NoC + attributes: + X_comparator_width: 4 + Y_X_wire_avg_length: 4mm + Y_comparator_width: 4 + datawidth: 64 + n_PE_cols: 14 + n_PE_rows: 12 + technology: 45nm + total_PEs: 168 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/README.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/README.md new file mode 100644 index 00000000..8be11db1 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/README.md @@ -0,0 +1,52 @@ +Timeloop + Accelergy Free Lab +========== + +## Overview +In this final exercise, we show how to use features from both Timeloop and Accelergy to evaluate DNN accelerators systematically, efficiently, and accurately. This exercise combines the last exercises from the two previous sessions: + +1. How to map a CNN layer onto a Eyeriss-like architecture (timeloop/06). +2. How to model a complex accelerator with user-defined components (accelergy/04). + +To combine them, we will provide detailed design descriptions for the system and compound components, like in Accelergy, and descriptions of problem, mapping, and constraints, to Timeloop. + +## Evaluate a complex DNN accelerator running a CNN layer +The following command uses Timeloop to find a good mapping to run on an Eyeriss-like architecture: + +``` +timeloop-mapper arch/eyeriss_like-int16.yaml \ + arch/components/*.yaml \ + prob/prob.yaml \ + mapper/mapper.yaml \ + constraints/*.yaml +``` + +Take a look at `timeloop-mapper.stats.txt` output file. What's the energy breakdown and system utilization? + +## Example experiments +Using those provided files, there are many interesting experiments we can explore. + +1. An Eyeriss-like architecture for floating-point data: + + Data type and precision are critical to DNN accelerators. What if we want to build an accelerator operate on different data types? The following command evaluate running an Eyeriss-like architecture with floating-point input, weights, and output: + + ``` + python3 run_example.py fpmac + ``` + + As before, Timeloop produces a `timeloop-mapper.stats.txt` file with detailed execution statistics. You should see MAC energy increases significantly, showing the cost of operating on floating-point data. Compare two arch.yaml and see how they are different from each other. What if we use the same bandwidth for the floating-point design at the PE level? + + > Note: Search for `Bandwidth throttling` to see how memory hierarchy bandwidth becomes a bottle neck when using the same bandwidth. + + Now, you can imagine doing a small research project with this framework: Implemente a MAC unit for a new data type (e.g., 8-bit FP), provide the energy consumption in Accelergy, and then use timeloop to evaluate how this new data type improves overall performance and energy efficiency. + + ``` + python3 run_example.py intmac + ``` + +2. Using different DRAM type: + + Main memory is often the bottleneck of performance and energy efficiency. Architects might want to improve performance and energy efficiency of their accelerators by using an advanced DRAM technology that has lower energy consumption. You can do that easily here by modifying the type in DRAM to other types (e.g., "HBM2") and rerun timeloop. Observe how the DRAM energy changes. + + You can also imagine that if Accelergy can use plug-ins for other memory technologies, we can quickly evaluate how Eyeriss performs with new technologies. + +There are many more interesting research questions regarding DNN accelerators. Timeloop+Accelergy is a great framework to help researchers answer those questions. diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/arch.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/arch.yaml new file mode 100644 index 00000000..b05f710b --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/arch.yaml @@ -0,0 +1,113 @@ +variables: + version: 0.4 + PSUM_DATAWIDTH: {{psum_datawidth}} + INPUT_WEIGHT_DATAWIDTH: {{input_weight_datawidth}} + global_cycle_seconds: 1e-09 + technology: "45nm" + +architecture: + # ============================================================ + # Architecture Description + # ============================================================ + version: 0.4 + nodes: # Top-level is hierarchical + - !Container # Top-level system + name: system + + - !Component # DRAM main memory + name: DRAM + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: INPUT_WEIGHT_DATAWIDTH + + - !Container # Eyeriss accelerator + name: eyeriss + + - !Component # Global buffer for inputs & outputs + name: shared_glb + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: INPUT_WEIGHT_DATAWIDTH + read_bandwidth: 16 + write_bandwidth: 16 + constraints: + dataspace: {keep: [Inputs, Outputs], bypass: [Weights]} + + - !Container # Each column of PEs produces a different psum row + name: PE_column + spatial: {meshX: 14} + constraints: + spatial: + permutation: [N, C, P, R, S, Q, M] + factors: [N=1, C=1, P=1, R=1, S=1] + split: 7 + + - !Container # Each PE in the column receives a different filter row + name: PE + spatial: {meshY: 12} + constraints: + spatial: + split: 4 + permutation: [N, P, Q, R, S, C, M] + factors: [N=1, P=1, Q=1, R=1] + + - !Parallel # Input/Output/Weight scratchpads in parallel + nodes: + - !Component # Input scratchpad + name: ifmap_spad + class: smartbuffer_RF + attributes: + depth: 12 + width: max(INPUT_WEIGHT_DATAWIDTH, 16) + datawidth: INPUT_WEIGHT_DATAWIDTH + read_bandwidth: 2 + write_bandwidth: 2 + constraints: + dataspace: {keep: [Inputs]} + temporal: + permutation: [N, M, C, P, Q, R, S] + factors: [N=1, M=1, C=1, P=1, Q=1, R=1, S=1] + + - !Component # Weight scratchpad + name: weights_spad + class: smartbuffer_RF + attributes: + depth: 192 + width: max(INPUT_WEIGHT_DATAWIDTH, 16) + datawidth: INPUT_WEIGHT_DATAWIDTH + read_bandwidth: 2 + write_bandwidth: 2 + constraints: + dataspace: {keep: [Weights]} + temporal: + permutation: [N, M, P, Q, S, C, R] + factors: [N=1, M=1, P=1, Q=1, S=1] + + - !Component # Output scratchpad + name: psum_spad + class: smartbuffer_RF + attributes: + depth: 16 + width: max(PSUM_DATAWIDTH, 16) + update_fifo_depth: 2 + datawidth: PSUM_DATAWIDTH + read_bandwidth: 2 + write_bandwidth: 2 + constraints: + dataspace: {keep: [Outputs]} + temporal: + permutation: [N, C, P, Q, R, S, M] + factors: [N=1, C=1, R=1, S=1, P=1, Q=1] + + - !Component # MAC unit + name: mac + class: {{mac_class}} + attributes: + multiplier_width: INPUT_WEIGHT_DATAWIDTH + adder_width: PSUM_DATAWIDTH + datawidth: PSUM_DATAWIDTH \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/components/intmac.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/components/intmac.yaml new file mode 100644 index 00000000..9cbc5e82 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/components/intmac.yaml @@ -0,0 +1,62 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + + subcomponents: + - name: intadder + class: aladdin_adder + attributes: {width: adder_width} + + - name: intmultiplier + class: aladdin_adder + attributes: {width_a: multiplier_width, width_b: multiplier_width} + + actions: + - name: compute + subcomponents: + - name: intadder + actions: [{name: read}] + - name: intmultiplier + actions: [{name: read}] + - name: leak + subcomponents: + - name: intadder + actions: [{name: leak}] + - name: intmultiplier + actions: [{name: leak}] + + - name: fpmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + + subcomponents: + - name: fpadder + class: fpadder + attributes: {exponent: 8, mantissa: adder_width - exponent} + + - name: fpmultiplier + class: fpmultiplier + attributes: {exponent: 8, mantissa: multiplier_width - exponent} + + actions: + - name: compute + subcomponents: + - name: fpadder + actions: [{name: add}] + - name: fpmultiplier + actions: [{name: multiply}] + - name: leak + subcomponents: + - name: fpadder + actions: [{name: leak}] + - name: fpmultiplier + actions: [{name: leak}] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/components/regfile.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/components/regfile.yaml new file mode 100644 index 00000000..006ce976 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/components/regfile.yaml @@ -0,0 +1,45 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + + + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + + # We don't need to scale the address generators + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + + actions: + - &write_action + name: write + subcomponents: + - name: storage[1..width] + actions: [{name: write}] + - name: comparator[1..depth] + actions: [{name: compare}] + - name: read + subcomponents: + - name: storage[1..width] + actions: [{name: read}] + - name: comparator[1..depth] + actions: [{name: compare}] + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: [{name: leak, arguments: {global_cycle_seconds: global_cycle_seconds}}] + - name: comparator[1..depth] + actions: [{name: leak, arguments: {global_cycle_seconds: global_cycle_seconds}}] + - name: update + << : *write_action # Update is the same as write \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/components/smartbuffer_RF.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/components/smartbuffer_RF.yaml new file mode 100644 index 00000000..0ed5d7d4 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/components/smartbuffer_RF.yaml @@ -0,0 +1,63 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + # CACTI requires >= 4B wide and >= 64 entries deep + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + + area_scale: widthscale * depthscale + # CACTI scaling: 2x depth --> 1.56x dynamic power + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale # Leakage proportional to area + n_rdwr_ports: 1 # Can be overwridden + global_cycle_seconds: "must_specify" + + + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + + # We don't need to scale the address generators + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + + actions: + - &write_action + name: write + subcomponents: + - name: storage + actions: [{name: write, energy_scale: dynamic_energy_scale}] + - name: address_generators[0] + actions: [{name: add}] + - name: read + subcomponents: + - name: storage + actions: [{name: read, energy_scale: dynamic_energy_scale}] + - name: address_generators[1] + actions: [{name: add}] + - name: leak + subcomponents: + - name: storage + actions: [{name: leak, energy_scale: static_energy_scale}] + - name: address_generators[0..1] + actions: [{name: leak}] + - name: update + << : *write_action # Update is the same as write \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/components/smartbuffer_SRAM.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/components/smartbuffer_SRAM.yaml new file mode 100644 index 00000000..33069be6 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/components/smartbuffer_SRAM.yaml @@ -0,0 +1,63 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + # CACTI requires >= 4B wide and >= 64 entries deep + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + + area_scale: widthscale * depthscale + # CACTI scaling: 2x depth --> 1.56x dynamic power + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale # Leakage proportional to area + n_rdwr_ports: 1 # Can be overwridden + global_cycle_seconds: "must_specify" + + + subcomponents: + - name: storage + class: SRAM + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + + # We don't need to scale the address generators + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + + actions: + - &write_action + name: write + subcomponents: + - name: storage + actions: [{name: write, energy_scale: dynamic_energy_scale}] + - name: address_generators[0] + actions: [{name: add}] + - name: read + subcomponents: + - name: storage + actions: [{name: read, energy_scale: dynamic_energy_scale}] + - name: address_generators[1] + actions: [{name: add}] + - name: leak + subcomponents: + - name: storage + actions: [{name: leak, energy_scale: static_energy_scale}] + - name: address_generators[0..1] + actions: [{name: leak}] + - name: update + << : *write_action # Update is the same as write \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/eyeriss_like-float32.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/eyeriss_like-float32.yaml new file mode 100644 index 00000000..a37c5130 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/eyeriss_like-float32.yaml @@ -0,0 +1,71 @@ +architecture: + # ============================================================ + # Architecture Description + # ============================================================ + version: 0.3 + subtree: + - name: system + local: + - name: DRAM + class: DRAM + attributes: + type: LPDDR4 + width: 64 + word_bits: 32 + subtree: + - name: eyeriss + attributes: + technology: 45nm + local: + - name: shared_glb + class: smartbuffer_SRAM + attributes: + memory_depth: 16384 + memory_width: 64 + n_banks: 32 + word_bits: 32 + read_bandwidth: 16 + write_bandwidth: 16 + - name: DummyBuffer[0..13] # for better mapping + class: regfile + attributes: + depth: 16 + width: 32 + word_bits: 32 + meshX: 14 + subtree: + - name: PE[0..167] + local: + - name: ifmap_spad + class: smartbuffer_RF + attributes: + memory_depth: 12 + memory_width: 32 + word_bits: 32 + meshX: 14 + read_bandwidth: 2 + write_bandwidth: 2 + - name: weights_spad + class: smartbuffer_RF + attributes: + memory_depth: 192 + memory_width: 32 + word_bits: 32 + meshX: 14 + read_bandwidth: 2 + write_bandwidth: 2 + - name: psum_spad + class: smartbuffer_RF + attributes: + memory_depth: 16 + memory_width: 32 + update_fifo_depth: 2 + word_bits: 32 + meshX: 14 + read_bandwidth: 2 + write_bandwidth: 2 + - name: mac + class: fpmac + attributes: + datawidth: 32 + meshX : 14 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/eyeriss_like-int16.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/eyeriss_like-int16.yaml new file mode 100644 index 00000000..6e55346f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/arch/eyeriss_like-int16.yaml @@ -0,0 +1,71 @@ +architecture: + # ============================================================ + # Architecture Description + # ============================================================ + version: 0.3 + subtree: + - name: system + local: + - name: DRAM + class: DRAM + attributes: + type: LPDDR4 + width: 64 + word_bits: 16 + subtree: + - name: eyeriss + attributes: + technology: 45nm + local: + - name: shared_glb + class: smartbuffer_SRAM + attributes: + memory_depth: 16384 + memory_width: 64 + n_banks: 32 + word_bits: 16 + read_bandwidth: 16 + write_bandwidth: 16 + - name: DummyBuffer[0..13] # for better mapping + class: regfile + attributes: + depth: 16 + width: 16 + word_bits: 16 + meshX: 14 + subtree: + - name: PE[0..167] + local: + - name: ifmap_spad + class: smartbuffer_RF + attributes: + memory_depth: 12 + memory_width: 16 + word_bits: 16 + meshX: 14 + read_bandwidth: 2 + write_bandwidth: 2 + - name: weights_spad + class: smartbuffer_RF + attributes: + memory_depth: 192 + memory_width: 16 + word_bits: 16 + meshX: 14 + read_bandwidth: 2 + write_bandwidth: 2 + - name: psum_spad + class: smartbuffer_RF + attributes: + memory_depth: 16 + memory_width: 16 + update_fifo_depth: 2 + word_bits: 16 + meshX: 14 + read_bandwidth: 2 + write_bandwidth: 2 + - name: mac + class: intmac + attributes: + width: 16 + meshX : 14 \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/mapper/mapper.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/mapper/mapper.yaml new file mode 100644 index 00000000..00f6b69f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/mapper/mapper.yaml @@ -0,0 +1,9 @@ +mapper: + version: 0.4 + optimization_metrics: [ delay, energy ] + live_status: False + num_threads: 8 + timeout: 15000 + victory_condition: 500 + algorithm: random_pruned + max_permutations_per_if_visit: 16 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/prob/prob.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/prob/prob.yaml new file mode 100644 index 00000000..ad835e64 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/prob/prob.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 128 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 56 + Q: 56 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/parsed-processed-input.yaml new file mode 100644 index 00000000..12caa620 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/parsed-processed-input.yaml @@ -0,0 +1,614 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + PSUM_DATAWIDTH: 32 + INPUT_WEIGHT_DATAWIDTH: 32 + global_cycle_seconds: 1e-09 + technology: "45nm" + has_power_gating: false + power_gated_at: null + local: + - name: DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 32 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + required_actions: + - leak + - update + - write + - read + enabled: true + - name: shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 32 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + required_actions: + - leak + - update + - write + - read + enabled: true + - name: inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + enabled: true + - name: inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + power_gated_at: null + enabled: true + - name: ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 32 + datawidth: 32 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + required_actions: + - leak + - update + - write + - read + enabled: true + - name: weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 32 + datawidth: 32 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + required_actions: + - leak + - update + - write + - read + enabled: true + - name: psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 32 + update_fifo_depth: 2 + datawidth: 32 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + required_actions: + - leak + - update + - write + - read + enabled: true + - name: mac[1..168] + class: fpmac + attributes: + multiplier_width: 32 + adder_width: 32 + datawidth: 32 + has_power_gating: false + meshX: 14 + meshY: 12 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - type: temporal + permutation: N + target: DRAM + - keep: + - Inputs + - Outputs + bypass: + - Weights + type: bypass + target: shared_glb + - type: temporal + permutation: N + target: shared_glb + - type: spatial + factors: N=1,C=1,P=1,R=1,S=1 + permutation: NCPRSQM + split: 7 + target: inter_PE_column_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_column_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_column_spatial + - type: spatial + factors: N=1,P=1,Q=1,R=1 + permutation: NPQRSCM + split: 4 + target: inter_PE_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - keep: + - Inputs + type: bypass + bypass: + - Outputs + - Weights + target: ifmap_spad + - permutation: NMCPQRS + factors: N=1,M=1,C=1,P=1,Q=1,R=1,S=1 + type: temporal + target: ifmap_spad + - keep: + - Weights + type: bypass + bypass: + - Inputs + - Outputs + target: weights_spad + - permutation: NMPQSCR + factors: N=1,M=1,P=1,Q=1,S=1 + type: temporal + target: weights_spad + - keep: + - Outputs + type: bypass + bypass: + - Inputs + - Weights + target: psum_spad + - permutation: NCPQRSM + factors: N=1,C=1,R=1,S=1,P=1,Q=1 + type: temporal + target: psum_spad +problem: + version: '0.4' + instance: + C: 128 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 56 + Q: 56 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + densities: {} + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + read_write: false + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + read_write: false + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: fpmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: fpadder + class: fpadder + attributes: + exponent: 8 + mantissa: adder_width - exponent + - name: fpmultiplier + class: fpmultiplier + attributes: + exponent: 8 + mantissa: multiplier_width - exponent + actions: + - name: compute + subcomponents: + - name: fpadder + actions: + - name: add + - name: fpmultiplier + actions: + - name: multiply + - name: leak + subcomponents: + - name: fpadder + actions: + - name: leak + - name: fpmultiplier + actions: + - name: leak + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +mapper: + optimization_metrics: + - delay + - energy + version: '0.4' + live_status: false + num_threads: 8 + timeout: 15000 + victory_condition: 500 + algorithm: random_pruned + max_permutations_per_if_visit: 16 + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..a44216bd --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.ART.yaml @@ -0,0 +1,19 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + area: 0.0 + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + - name: system_top_level.shared_glb[1..1] + area: 429751.88776 + - name: system_top_level.ifmap_spad[1..168] + area: 599.03613 + - name: system_top_level.weights_spad[1..168] + area: 50466.19872 + - name: system_top_level.psum_spad[1..168] + area: 1061.07484 + - name: system_top_level.mac[1..168] + area: 4120.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..f9876320 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,53 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.shared_glb[1..1] + area: 429751.88776 + primitive_estimations: + - name: storage + estimator: CactiSRAM + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + area: 599.03613 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + area: 50466.19872 + primitive_estimations: + - name: storage.storage[1..6144] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + area: 1061.07484 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + area: 4120.0 + primitive_estimations: + - name: fpadder + estimator: Aladdin_table + - name: fpmultiplier + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..391827c5 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.ERT.yaml @@ -0,0 +1,89 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + arguments: {} + energy: 26.121552 + - name: read + arguments: {} + energy: 32.342452 + - name: leak + arguments: {} + energy: 0.003351 + - name: update + arguments: {} + energy: 26.121552 + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.527449 + - name: read + arguments: {} + energy: 0.605492 + - name: leak + arguments: {} + energy: 0.000304 + - name: update + arguments: {} + energy: 0.527449 + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + arguments: {} + energy: 5.690674 + - name: read + arguments: {} + energy: 5.978674 + - name: leak + arguments: {} + energy: 0.004825 + - name: update + arguments: {} + energy: 5.690674 + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.656021 + - name: read + arguments: {} + energy: 0.753696 + - name: leak + arguments: {} + energy: 0.000405 + - name: update + arguments: {} + energy: 0.656021 + - name: system_top_level.mac[1..168] + actions: + - name: compute + arguments: {} + energy: 51.979 + - name: leak + arguments: {} + energy: 0.518524 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..99cef10b --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,115 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + actions: + - name: leak + energy: 0.0 + - name: update + energy: 512.0 + - name: write + energy: 512.0 + - name: read + energy: 512.0 + primitive_estimation(s): + - name: system_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + energy: 26.121552 + - name: read + energy: 32.342452 + - name: leak + energy: 0.003351 + - name: update + energy: 26.121552 + primitive_estimation(s): + - name: storage + estimator: CactiSRAM + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + energy: 0.527449 + - name: read + energy: 0.605492 + - name: leak + energy: 0.000304 + - name: update + energy: 0.527449 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + energy: 5.690674 + - name: read + energy: 5.978674 + - name: leak + energy: 0.004825 + - name: update + energy: 5.690674 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..6144] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + energy: 0.656021 + - name: read + energy: 0.753696 + - name: leak + energy: 0.000405 + - name: update + energy: 0.656021 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + actions: + - name: compute + energy: 51.979 + - name: leak + energy: 0.518524 + primitive_estimation(s): + - name: fpadder + estimator: Aladdin_table + - name: fpmultiplier + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.accelergy.log b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..5e251689 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.accelergy.log @@ -0,0 +1,863 @@ +2024-05-29 16:51:54 INFO _ _ +2024-05-29 16:51:54 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:51:54 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:51:54 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:51:54 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:51:54 INFO |___/ |___/ +2024-05-29 16:51:54 INFO generating outputs according to the following specified output flags... +2024-05-29 16:51:54 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:51:54 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:51:54 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:51:54 INFO config file located: +2024-05-29 16:51:54 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:51:54 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:51:54 WARNING Please update the file to the latest version. +2024-05-29 16:51:54 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/parsed-processed-input.yaml for architecture info +2024-05-29 16:51:54 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/parsed-processed-input.yaml for compound_components info +2024-05-29 16:51:54 INFO Adding required action "leak" to class DRAM +2024-05-29 16:51:54 INFO Adding required action "update" to class DRAM +2024-05-29 16:51:54 INFO Adding required action "write" to class DRAM +2024-05-29 16:51:54 INFO Adding required action "read" to class DRAM +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_SRAM attributes"memory_width" as "max(32, width)" = 64. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_SRAM attributes"memory_depth" as "max(64, depth)" = 16384. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_SRAM attributes"widthscale" as "width / memory_width" = 1.0. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_SRAM attributes"depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_SRAM attributes"real_depth" as "depth" = 16384. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_SRAM attributes"area_scale" as "widthscale * depthscale" = 1.0. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_SRAM attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 1.0. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_SRAM attributes"static_energy_scale" as "area_scale" = 1.0. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 1.0. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 0.1875. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 12. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.1875. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.2709823421926786. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.1875. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 192. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 1.0. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 192. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 1.0. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 1.0. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 1.0. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 1.0. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 0.25. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 16. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.25. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.33915108186191795. +2024-05-29 16:51:54 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.25. +2024-05-29 16:51:54 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:51:54 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:51:54 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:51:54 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:51:54 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:51:54 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:51:54 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:51:54 INFO Getting all estimators in module +2024-05-29 16:51:54 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:51:54 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:51:54 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:51:54 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:51:54 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:51:54 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:51:54 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:51:54 INFO Found estimator plug-in: Library () +2024-05-29 16:51:54 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:51:54 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:51:54 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:51:54 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:51:54 INFO Calculated storage."width" as "memory_width" = 64. +2024-05-29 16:51:54 INFO Calculated storage."depth" as "memory_depth" = 16384. +2024-05-29 16:51:54 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:51:54 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated storage.area_scale as "area_scale" = 1.0. +2024-05-29 16:51:54 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 14. +2024-05-29 16:51:54 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 14. +2024-05-29 16:51:54 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 1.0. +2024-05-29 16:51:54 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 1.0. +2024-05-29 16:51:54 INFO Calculated action leak energy_scale as "static_energy_scale" = 1.0. +2024-05-29 16:51:54 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 1.0. +2024-05-29 16:51:54 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:51:54 INFO Calculated storage."depth" as "memory_depth" = 64. +2024-05-29 16:51:54 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:51:54 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated storage.area_scale as "area_scale" = 0.1875. +2024-05-29 16:51:54 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:51:54 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:54 INFO Calculated storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:51:54 INFO Calculated storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:51:54 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:51:54 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.2709823421926786. +2024-05-29 16:51:54 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:54 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:54 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.2709823421926786. +2024-05-29 16:51:54 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:54 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:54 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.1875. +2024-05-29 16:51:54 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:51:54 INFO Calculated system_top_level.ifmap_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:54 INFO Calculated system_top_level.ifmap_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.2709823421926786. +2024-05-29 16:51:54 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:54 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:54 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:51:54 INFO Calculated storage."depth" as "memory_depth" = 192. +2024-05-29 16:51:54 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:51:54 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated storage.area_scale as "area_scale" = 1.0. +2024-05-29 16:51:54 INFO Calculated list index expression as "width*depth" = 6144. +2024-05-29 16:51:54 INFO Calculated list index expression as "depth" = 192. +2024-05-29 16:51:54 INFO Calculated storage.storage[1..6144]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated storage.comparator[1..192]."n_bits" as "max(1, ceil(log2(depth)))" = 8. +2024-05-29 16:51:54 INFO Calculated storage.comparator[1..192]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:51:54 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:51:54 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 1.0. +2024-05-29 16:51:54 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:54 INFO Calculated list index expression as "depth" = 192. +2024-05-29 16:51:54 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 1.0. +2024-05-29 16:51:54 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:54 INFO Calculated list index expression as "depth" = 192. +2024-05-29 16:51:54 INFO Calculated action leak energy_scale as "static_energy_scale" = 1.0. +2024-05-29 16:51:54 INFO Calculated list index expression as "width*depth" = 6144. +2024-05-29 16:51:54 INFO Calculated system_top_level.weights_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated list index expression as "depth" = 192. +2024-05-29 16:51:54 INFO Calculated system_top_level.weights_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 1.0. +2024-05-29 16:51:54 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:54 INFO Calculated list index expression as "depth" = 192. +2024-05-29 16:51:54 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:51:54 INFO Calculated storage."depth" as "memory_depth" = 64. +2024-05-29 16:51:54 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:51:54 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated storage.area_scale as "area_scale" = 0.25. +2024-05-29 16:51:54 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:51:54 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:54 INFO Calculated storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:51:54 INFO Calculated storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:51:54 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:51:54 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.33915108186191795. +2024-05-29 16:51:54 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:54 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:54 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.33915108186191795. +2024-05-29 16:51:54 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:54 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:54 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.25. +2024-05-29 16:51:54 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:51:54 INFO Calculated system_top_level.psum_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:54 INFO Calculated system_top_level.psum_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:54 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.33915108186191795. +2024-05-29 16:51:54 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:54 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:54 INFO Calculated fpadder."mantissa" as "adder_width - exponent" = 24. +2024-05-29 16:51:54 INFO Calculated fpmultiplier."mantissa" as "multiplier_width - exponent" = 24. +2024-05-29 16:51:54 INFO +2024-05-29 16:51:54 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=32, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, PSUM_DATAWIDTH=32, INPUT_WEIGHT_DATAWIDTH=32, global_cycle_seconds=1e-09, technology=45nm, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:51:54 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:51:54 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, PSUM_DATAWIDTH, INPUT_WEIGHT_DATAWIDTH, global_cycle_seconds, technology, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:51:54 INFO | Unused arguments (action_latency_cycles) provided for DRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:51:54 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:54 INFO +2024-05-29 16:51:54 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=32, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, PSUM_DATAWIDTH=32, INPUT_WEIGHT_DATAWIDTH=32, global_cycle_seconds=1e-09, technology=45nm, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:51:54 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:51:54 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, PSUM_DATAWIDTH, INPUT_WEIGHT_DATAWIDTH, global_cycle_seconds, technology, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:51:54 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.update. Arguments used: () +2024-05-29 16:51:54 INFO +2024-05-29 16:51:54 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=32, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, PSUM_DATAWIDTH=32, INPUT_WEIGHT_DATAWIDTH=32, global_cycle_seconds=1e-09, technology=45nm, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:51:54 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:51:54 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, PSUM_DATAWIDTH, INPUT_WEIGHT_DATAWIDTH, global_cycle_seconds, technology, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:51:54 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.write. Arguments used: () +2024-05-29 16:51:54 INFO +2024-05-29 16:51:54 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=32, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, PSUM_DATAWIDTH=32, INPUT_WEIGHT_DATAWIDTH=32, global_cycle_seconds=1e-09, technology=45nm, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:51:54 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:51:54 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, PSUM_DATAWIDTH, INPUT_WEIGHT_DATAWIDTH, global_cycle_seconds, technology, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:51:54 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.read. Arguments used: () +2024-05-29 16:51:54 INFO +2024-05-29 16:51:54 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rdwr_ports=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:54 INFO CactiSRAM estimated 2.6065000000000003e-11 with accuracy 80%. Messages: +2024-05-29 16:51:54 INFO | Unused arguments (n_rdwr_ports, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, technology) +2024-05-29 16:51:54 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:51:54 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:51:54 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpw0e6q7pl +2024-05-29 16:51:54 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpt68fvlq4 +2024-05-29 16:51:54 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:51:54 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpw0e6q7pl >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpt68fvlq4 2>&1 +2024-05-29 16:51:54 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:51:54 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:51:54 INFO +2024-05-29 16:51:54 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:55 INFO Neurosim Plug-In estimated 0.05655207999999999p with accuracy 70%. Messages: +2024-05-29 16:51:55 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:55 INFO | Building a crossbar with cell file /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/cells/placeholder.cell +2024-05-29 16:51:55 INFO | Neurosim Plugin parsing cell file... +2024-05-29 16:51:55 INFO | Failed to calculate "widthSRAMCellNMOS:". Ignore if this value is not needed. +2024-05-29 16:51:55 INFO | Could not find -SRAMCellNMOSWidth (F): in cell file. +2024-05-29 16:51:55 INFO | Failed to calculate "widthSRAMCellPMOS:". Ignore if this value is not needed. +2024-05-29 16:51:55 INFO | Could not find -SRAMCellPMOSWidth (F): in cell file. +2024-05-29 16:51:55 INFO | Failed to calculate "minSenseVoltage:". Ignore if this value is not needed. +2024-05-29 16:51:55 INFO | Could not find -MinSenseVoltage (mV): in cell file. +2024-05-29 16:51:55 INFO | Failed to calculate "accessTransistorResistance:". Ignore if this value is not needed. +2024-05-29 16:51:55 INFO | Could not find -AccessTransistorResistance (ohm): in cell file. +2024-05-29 16:51:55 INFO | Failed to calculate "WriteVoltage:". Ignore if this value is not needed. +2024-05-29 16:51:55 INFO | Could not find -WriteVoltage (V): in cell file. +2024-05-29 16:51:55 INFO | Failed to calculate "SET_CURRENT". Ignore if this value is not needed. +2024-05-29 16:51:55 INFO | Could not find -SetCurrent (uA): in cell file. +2024-05-29 16:51:55 INFO | Failed to calculate "SET_POWER". Ignore if this value is not needed. +2024-05-29 16:51:55 INFO | Could not find -SetPower (uW): in cell file. +2024-05-29 16:51:55 INFO | Failed to calculate "READ_CURRENT". Ignore if this value is not needed. +2024-05-29 16:51:55 INFO | Could not find -ReadCurrent (uA): in cell file. +2024-05-29 16:51:55 INFO | Failed to calculate "READ_ENERGY". Ignore if this value is not needed. +2024-05-29 16:51:55 INFO | Could not find -ReadEnergy (pJ): in cell file. +2024-05-29 16:51:55 INFO | Failed to calculate "cellCapacitanceMultiplier:". Ignore if this value is not needed. +2024-05-29 16:51:55 INFO | Could not find -CellCapacitanceMultiplier: in cell file. +2024-05-29 16:51:55 INFO | Failed to calculate "cellCapacitanceAdjust:". Ignore if this value is not needed. +2024-05-29 16:51:55 INFO | Could not find -CellCapacitanceAdjust (F): in cell file. +2024-05-29 16:51:55 INFO | Failed to calculate "deviceRoadmap:". Ignore if this value is not needed. +2024-05-29 16:51:55 INFO | Could not find -DeviceRoadmap -1LP 1HP 2LSTP: in cell file. +2024-05-29 16:51:55 INFO | Running /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/NeuroSim/main /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim_input_20498.cfg +2024-05-29 16:51:55 INFO | Crossbar minimum latency is 2.808 ns to read 8.0 columns at once. +2024-05-29 16:51:55 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:55 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:55 INFO +2024-05-29 16:51:55 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rdwr_ports=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:55 INFO CactiSRAM estimated 3.2285900000000004e-11 with accuracy 80%. Messages: +2024-05-29 16:51:55 INFO | Unused arguments (n_rdwr_ports, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, technology) +2024-05-29 16:51:55 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:51:55 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:51:55 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjlgvotug +2024-05-29 16:51:55 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpyezitlul +2024-05-29 16:51:55 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:51:55 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjlgvotug >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpyezitlul 2>&1 +2024-05-29 16:51:55 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:51:55 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:51:55 INFO +2024-05-29 16:51:55 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:55 INFO Neurosim Plug-In estimated 0.05655207999999999p with accuracy 70%. Messages: +2024-05-29 16:51:55 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:55 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:55 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:55 INFO +2024-05-29 16:51:55 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rdwr_ports=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:55 INFO CactiSRAM estimated 3.34055e-15 with accuracy 80%. Messages: +2024-05-29 16:51:55 INFO | Unused arguments (n_rdwr_ports, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, technology) +2024-05-29 16:51:55 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:51:55 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:51:55 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbqgryqmp +2024-05-29 16:51:55 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpdxn0e9w4 +2024-05-29 16:51:55 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:51:55 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpbqgryqmp >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpdxn0e9w4 2>&1 +2024-05-29 16:51:55 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:51:55 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:51:55 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 1.65095 +2024-05-29 16:51:55 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:55 INFO +2024-05-29 16:51:55 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:55 INFO Neurosim Plug-In estimated 5.182512000000001e-06p with accuracy 70%. Messages: +2024-05-29 16:51:55 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:55 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:55 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:55 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:55 INFO +2024-05-29 16:51:55 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rdwr_ports=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO CactiSRAM estimated 2.6065000000000003e-11 with accuracy 80%. Messages: +2024-05-29 16:51:56 INFO | Unused arguments (n_rdwr_ports, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, technology) +2024-05-29 16:51:56 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:51:56 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:51:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpwa4nrm4g +2024-05-29 16:51:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp56i5k40c +2024-05-29 16:51:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:51:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpwa4nrm4g >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp56i5k40c 2>&1 +2024-05-29 16:51:56 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:51:56 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 0.05655207999999999p with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 0.016354909999999997p with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO | Building a crossbar with cell file /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/cells/placeholder.cell +2024-05-29 16:51:56 INFO | Neurosim Plugin parsing cell file... +2024-05-29 16:51:56 INFO | Failed to calculate "widthSRAMCellNMOS:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -SRAMCellNMOSWidth (F): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "widthSRAMCellPMOS:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -SRAMCellPMOSWidth (F): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "minSenseVoltage:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -MinSenseVoltage (mV): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "accessTransistorResistance:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -AccessTransistorResistance (ohm): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "WriteVoltage:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -WriteVoltage (V): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "SET_CURRENT". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -SetCurrent (uA): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "SET_POWER". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -SetPower (uW): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "READ_CURRENT". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -ReadCurrent (uA): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "READ_ENERGY". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -ReadEnergy (pJ): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "cellCapacitanceMultiplier:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -CellCapacitanceMultiplier: in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "cellCapacitanceAdjust:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -CellCapacitanceAdjust (F): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "deviceRoadmap:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -DeviceRoadmap -1LP 1HP 2LSTP: in cell file. +2024-05-29 16:51:56 INFO | Running /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/NeuroSim/main /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim_input_20498.cfg +2024-05-29 16:51:56 INFO | Crossbar minimum latency is 2.808 ns to read 8.0 columns at once. +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 0.016354909999999997p with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:51:56 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:51:56 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 1.4807179999999997e-06p with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 0.016354909999999997p with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 0.03243378p with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO | Building a crossbar with cell file /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/cells/placeholder.cell +2024-05-29 16:51:56 INFO | Neurosim Plugin parsing cell file... +2024-05-29 16:51:56 INFO | Failed to calculate "widthSRAMCellNMOS:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -SRAMCellNMOSWidth (F): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "widthSRAMCellPMOS:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -SRAMCellPMOSWidth (F): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "minSenseVoltage:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -MinSenseVoltage (mV): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "accessTransistorResistance:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -AccessTransistorResistance (ohm): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "WriteVoltage:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -WriteVoltage (V): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "SET_CURRENT". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -SetCurrent (uA): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "SET_POWER". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -SetPower (uW): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "READ_CURRENT". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -ReadCurrent (uA): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "READ_ENERGY". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -ReadEnergy (pJ): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "cellCapacitanceMultiplier:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -CellCapacitanceMultiplier: in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "cellCapacitanceAdjust:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -CellCapacitanceAdjust (F): in cell file. +2024-05-29 16:51:56 INFO | Failed to calculate "deviceRoadmap:". Ignore if this value is not needed. +2024-05-29 16:51:56 INFO | Could not find -DeviceRoadmap -1LP 1HP 2LSTP: in cell file. +2024-05-29 16:51:56 INFO | Running /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/NeuroSim/main /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim_input_20498.cfg +2024-05-29 16:51:56 INFO | Crossbar minimum latency is 2.808 ns to read 8.0 columns at once. +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 0.03243378p with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:51:56 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:51:56 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 2.9614360000000003e-06p with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 0.03243378p with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 0.016354909999999997p with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 0.016354909999999997p with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:51:56 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:51:56 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 1.4807179999999997e-06p with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:56 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 0.016354909999999997p with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for fpadder(exponent=8, mantissa=24, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Aladdin_table estimated 16.679p with accuracy 70%. +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for fpmultiplier(exponent=8, mantissa=24, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).multiply(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Aladdin_table estimated 35.3p with accuracy 70%. +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for fpadder(exponent=8, mantissa=24, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Aladdin_table estimated 0.159p with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO ENERGY ESTIMATION for fpmultiplier(exponent=8, mantissa=24, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Aladdin_table estimated 0.3595236p with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 WARNING No action counts are specified as yaml input +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=32, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, PSUM_DATAWIDTH=32, INPUT_WEIGHT_DATAWIDTH=32, global_cycle_seconds=1e-09, technology=45nm, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:51:56 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:51:56 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, PSUM_DATAWIDTH, INPUT_WEIGHT_DATAWIDTH, global_cycle_seconds, technology, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, PSUM_DATAWIDTH=32, INPUT_WEIGHT_DATAWIDTH=32, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:51:56 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=14, meshY=1, version=0.4, PSUM_DATAWIDTH=32, INPUT_WEIGHT_DATAWIDTH=32, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:51:56 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for SRAM(width=64, depth=16384, n_rdwr_ports=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO CactiSRAM estimated 4.29589e-07 with accuracy 80%. Messages: +2024-05-29 16:51:56 INFO | Unused arguments (n_rdwr_ports, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, technology) +2024-05-29 16:51:56 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:51:56 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpgqxm7726 +2024-05-29 16:51:56 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjrj5pk1d +2024-05-29 16:51:56 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:51:56 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpgqxm7726 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjrj5pk1d 2>&1 +2024-05-29 16:51:56 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:51:56 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for intadder(n_bits=14, precision=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 81.44387999999998u^2 with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:51:56 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:51:56 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 23.26968u^2 with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:51:56 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:51:56 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for intadder(n_bits=8, precision=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 46.53936u^2 with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:51:56 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:51:56 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:56 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:56 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:56 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:51:56 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Neurosim Plug-In estimated 23.26968u^2 with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:56 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for fpadder(exponent=8, mantissa=24, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Aladdin_table estimated 2060.0u^2 with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO +2024-05-29 16:51:56 INFO AREA ESTIMATION for fpmultiplier(exponent=8, mantissa=24, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:56 INFO Aladdin_table estimated 2060.0u^2 with accuracy 70%. Messages: +2024-05-29 16:51:56 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:56 INFO flattened architecture is saved to: +2024-05-29 16:51:56 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:51:56 INFO energy reference table is saved to: +2024-05-29 16:51:56 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:51:56 INFO energy reference table summary is saved to: +2024-05-29 16:51:56 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:51:56 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:51:56 INFO area reference table is saved to: +2024-05-29 16:51:56 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:51:56 INFO area reference table summary is saved to: +2024-05-29 16:51:56 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..e2653b99 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,269 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 32 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 32 + INPUT_WEIGHT_DATAWIDTH: 32 + global_cycle_seconds: 1e-09 + technology: "45nm" + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 32 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 32 + INPUT_WEIGHT_DATAWIDTH: 32 + global_cycle_seconds: 1e-09 + technology: "45nm" + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 64 + memory_depth: 16384 + widthscale: 1.0 + depthscale: 1.0 + real_depth: 16384 + area_scale: 1.0 + dynamic_energy_scale: 1.0 + static_energy_scale: 1.0 + n_rdwr_ports: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 32 + INPUT_WEIGHT_DATAWIDTH: 32 + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 32 + INPUT_WEIGHT_DATAWIDTH: 32 + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 32 + datawidth: 32 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 32 + INPUT_WEIGHT_DATAWIDTH: 32 + global_cycle_seconds: 1e-09 + technology: "45nm" + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 1.0 + depthscale: 0.1875 + real_depth: 12 + area_scale: 0.1875 + dynamic_energy_scale: 0.2709823421926786 + static_energy_scale: 0.1875 + n_rdwr_ports: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 32 + datawidth: 32 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 32 + INPUT_WEIGHT_DATAWIDTH: 32 + global_cycle_seconds: 1e-09 + technology: "45nm" + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 192 + widthscale: 1.0 + depthscale: 1.0 + real_depth: 192 + area_scale: 1.0 + dynamic_energy_scale: 1.0 + static_energy_scale: 1.0 + n_rdwr_ports: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 32 + update_fifo_depth: 2 + datawidth: 32 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 32 + INPUT_WEIGHT_DATAWIDTH: 32 + global_cycle_seconds: 1e-09 + technology: "45nm" + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 1.0 + depthscale: 0.25 + real_depth: 16 + area_scale: 0.25 + dynamic_energy_scale: 0.33915108186191795 + static_energy_scale: 0.25 + n_rdwr_ports: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.mac[1..168] + class: fpmac + attributes: + multiplier_width: 32 + adder_width: 32 + datawidth: 32 + has_power_gating: false + meshX: 14 + meshY: 12 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 32 + INPUT_WEIGHT_DATAWIDTH: 32 + global_cycle_seconds: 1e-09 + technology: "45nm" + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..9dadf965 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,42 @@ +#error Tenssella does not support bypass. +t6 +C 32 M 16 R 1 S 1 N 1 P 7 Q 4 +CQPM +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t5 +C 1 M 1 R 1 S 1 N 1 P 8 Q 1 +P +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 14 +Q +7 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s3 +C 4 M 1 R 1 S 3 N 1 P 1 Q 1 +SC +5 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +C 1 M 1 R 3 S 1 N 1 P 1 Q 1 +R +t0 +C 1 M 16 R 1 S 1 N 1 P 1 Q 1 +M diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.oaves.csv b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/fpmac/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/parsed-processed-input.yaml new file mode 100644 index 00000000..c4c26a47 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/parsed-processed-input.yaml @@ -0,0 +1,614 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + PSUM_DATAWIDTH: 16 + INPUT_WEIGHT_DATAWIDTH: 8 + global_cycle_seconds: 1e-09 + technology: "45nm" + has_power_gating: false + power_gated_at: null + local: + - name: DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + required_actions: + - leak + - update + - write + - read + enabled: true + - name: shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + required_actions: + - leak + - update + - write + - read + enabled: true + - name: inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + enabled: true + - name: inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + power_gated_at: null + enabled: true + - name: ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + required_actions: + - leak + - update + - write + - read + enabled: true + - name: weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + required_actions: + - leak + - update + - write + - read + enabled: true + - name: psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + required_actions: + - leak + - update + - write + - read + enabled: true + - name: mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + datawidth: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - type: temporal + permutation: N + target: DRAM + - keep: + - Inputs + - Outputs + bypass: + - Weights + type: bypass + target: shared_glb + - type: temporal + permutation: N + target: shared_glb + - type: spatial + factors: N=1,C=1,P=1,R=1,S=1 + permutation: NCPRSQM + split: 7 + target: inter_PE_column_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_column_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_column_spatial + - type: spatial + factors: N=1,P=1,Q=1,R=1 + permutation: NPQRSCM + split: 4 + target: inter_PE_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - keep: + - Inputs + type: bypass + bypass: + - Outputs + - Weights + target: ifmap_spad + - permutation: NMCPQRS + factors: N=1,M=1,C=1,P=1,Q=1,R=1,S=1 + type: temporal + target: ifmap_spad + - keep: + - Weights + type: bypass + bypass: + - Inputs + - Outputs + target: weights_spad + - permutation: NMPQSCR + factors: N=1,M=1,P=1,Q=1,S=1 + type: temporal + target: weights_spad + - keep: + - Outputs + type: bypass + bypass: + - Inputs + - Weights + target: psum_spad + - permutation: NCPQRSM + factors: N=1,C=1,R=1,S=1,P=1,Q=1 + type: temporal + target: psum_spad +problem: + version: '0.4' + instance: + C: 128 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 56 + Q: 56 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + densities: {} + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + read_write: false + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + read_write: false + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: fpmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: fpadder + class: fpadder + attributes: + exponent: 8 + mantissa: adder_width - exponent + - name: fpmultiplier + class: fpmultiplier + attributes: + exponent: 8 + mantissa: multiplier_width - exponent + actions: + - name: compute + subcomponents: + - name: fpadder + actions: + - name: add + - name: fpmultiplier + actions: + - name: multiply + - name: leak + subcomponents: + - name: fpadder + actions: + - name: leak + - name: fpmultiplier + actions: + - name: leak + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +mapper: + optimization_metrics: + - delay + - energy + version: '0.4' + live_status: false + num_threads: 8 + timeout: 15000 + victory_condition: 500 + algorithm: random_pruned + max_permutations_per_if_visit: 16 + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..b7d7e529 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.ART.yaml @@ -0,0 +1,19 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + area: 0.0 + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + - name: system_top_level.shared_glb[1..1] + area: 429751.88776 + - name: system_top_level.ifmap_spad[1..168] + area: 151.940565 + - name: system_top_level.weights_spad[1..168] + area: 12639.81936 + - name: system_top_level.psum_spad[1..168] + area: 268.17742 + - name: system_top_level.mac[1..168] + area: 417.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..415cd28f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,53 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.shared_glb[1..1] + area: 429751.88776 + primitive_estimations: + - name: storage + estimator: CactiSRAM + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + area: 151.940565 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + area: 12639.81936 + primitive_estimations: + - name: storage.storage[1..6144] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + area: 268.17742 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + area: 417.0 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..aa4778ba --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.ERT.yaml @@ -0,0 +1,89 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + arguments: {} + energy: 26.121552 + - name: read + arguments: {} + energy: 32.342452 + - name: leak + arguments: {} + energy: 0.003351 + - name: update + arguments: {} + energy: 26.121552 + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.271902 + - name: read + arguments: {} + energy: 0.310924 + - name: leak + arguments: {} + energy: 0.000154 + - name: update + arguments: {} + energy: 0.271902 + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + arguments: {} + energy: 2.861554 + - name: read + arguments: {} + energy: 3.005554 + - name: leak + arguments: {} + energy: 0.002416 + - name: update + arguments: {} + energy: 2.861554 + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.336188 + - name: read + arguments: {} + energy: 0.385026 + - name: leak + arguments: {} + energy: 0.000204 + - name: update + arguments: {} + energy: 0.336188 + - name: system_top_level.mac[1..168] + actions: + - name: compute + arguments: {} + energy: 0.315 + - name: leak + arguments: {} + energy: 0.0036 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..1e5693bb --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,115 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + actions: + - name: leak + energy: 0.0 + - name: update + energy: 512.0 + - name: write + energy: 512.0 + - name: read + energy: 512.0 + primitive_estimation(s): + - name: system_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + energy: 26.121552 + - name: read + energy: 32.342452 + - name: leak + energy: 0.003351 + - name: update + energy: 26.121552 + primitive_estimation(s): + - name: storage + estimator: CactiSRAM + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + energy: 0.271902 + - name: read + energy: 0.310924 + - name: leak + energy: 0.000154 + - name: update + energy: 0.271902 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + energy: 2.861554 + - name: read + energy: 3.005554 + - name: leak + energy: 0.002416 + - name: update + energy: 2.861554 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..6144] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + energy: 0.336188 + - name: read + energy: 0.385026 + - name: leak + energy: 0.000204 + - name: update + energy: 0.336188 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + actions: + - name: compute + energy: 0.315 + - name: leak + energy: 0.0036 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.accelergy.log b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..4a18fe99 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.accelergy.log @@ -0,0 +1,928 @@ +2024-05-29 16:51:24 INFO _ _ +2024-05-29 16:51:24 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 16:51:24 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 16:51:24 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 16:51:24 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 16:51:24 INFO |___/ |___/ +2024-05-29 16:51:24 INFO generating outputs according to the following specified output flags... +2024-05-29 16:51:24 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 16:51:24 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 16:51:24 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 16:51:24 INFO config file located: +2024-05-29 16:51:24 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 16:51:24 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 16:51:24 WARNING Please update the file to the latest version. +2024-05-29 16:51:24 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/parsed-processed-input.yaml for architecture info +2024-05-29 16:51:24 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/parsed-processed-input.yaml for compound_components info +2024-05-29 16:51:24 INFO Adding required action "leak" to class DRAM +2024-05-29 16:51:24 INFO Adding required action "update" to class DRAM +2024-05-29 16:51:24 INFO Adding required action "write" to class DRAM +2024-05-29 16:51:24 INFO Adding required action "read" to class DRAM +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_SRAM attributes"memory_width" as "max(32, width)" = 64. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_SRAM attributes"memory_depth" as "max(64, depth)" = 16384. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_SRAM attributes"widthscale" as "width / memory_width" = 1.0. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_SRAM attributes"depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_SRAM attributes"real_depth" as "depth" = 16384. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_SRAM attributes"area_scale" as "widthscale * depthscale" = 1.0. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_SRAM attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 1.0. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_SRAM attributes"static_energy_scale" as "area_scale" = 1.0. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 0.1875. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 12. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.09375. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.1354911710963393. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.09375. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 192. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 1.0. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 192. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.5. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.5. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.5. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"memory_width" as "max(32, width)" = 32. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"memory_depth" as "max(64, depth)" = 64. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"widthscale" as "width / memory_width" = 0.5. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"depthscale" as "depth / memory_depth" = 0.25. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"real_depth" as "depth" = 16. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"area_scale" as "widthscale * depthscale" = 0.125. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"dynamic_energy_scale" as "widthscale * (depthscale ** (1.56 / 2))" = 0.16957554093095897. +2024-05-29 16:51:24 INFO Calculated Architecture class smartbuffer_RF attributes"static_energy_scale" as "area_scale" = 0.125. +2024-05-29 16:51:24 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 16:51:24 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 16:51:24 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 16:51:24 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 16:51:24 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 16:51:24 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 16:51:24 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 16:51:24 INFO Getting all estimators in module +2024-05-29 16:51:24 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 16:51:24 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 16:51:24 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 16:51:24 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 16:51:24 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 16:51:24 INFO Found estimator plug-in: dummy_table () +2024-05-29 16:51:24 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 16:51:24 INFO Found estimator plug-in: Library () +2024-05-29 16:51:24 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 16:51:24 INFO Found estimator plug-in: CactiCache () +2024-05-29 16:51:24 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 16:51:24 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 16:51:24 INFO Calculated storage."width" as "memory_width" = 64. +2024-05-29 16:51:24 INFO Calculated storage."depth" as "memory_depth" = 16384. +2024-05-29 16:51:24 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:51:24 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated storage.area_scale as "area_scale" = 1.0. +2024-05-29 16:51:24 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 14. +2024-05-29 16:51:24 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 14. +2024-05-29 16:51:24 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 1.0. +2024-05-29 16:51:24 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 1.0. +2024-05-29 16:51:24 INFO Calculated action leak energy_scale as "static_energy_scale" = 1.0. +2024-05-29 16:51:24 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 1.0. +2024-05-29 16:51:24 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:51:24 INFO Calculated storage."depth" as "memory_depth" = 64. +2024-05-29 16:51:24 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:51:24 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated storage.area_scale as "area_scale" = 0.09375. +2024-05-29 16:51:24 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:51:24 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:24 INFO Calculated storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:51:24 INFO Calculated storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:51:24 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:51:24 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.1354911710963393. +2024-05-29 16:51:24 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:24 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:24 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.1354911710963393. +2024-05-29 16:51:24 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:24 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:24 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.09375. +2024-05-29 16:51:24 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:51:24 INFO Calculated system_top_level.ifmap_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:24 INFO Calculated system_top_level.ifmap_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.1354911710963393. +2024-05-29 16:51:24 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:24 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:24 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:51:24 INFO Calculated storage."depth" as "memory_depth" = 192. +2024-05-29 16:51:24 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:51:24 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated storage.area_scale as "area_scale" = 0.5. +2024-05-29 16:51:24 INFO Calculated list index expression as "width*depth" = 6144. +2024-05-29 16:51:24 INFO Calculated list index expression as "depth" = 192. +2024-05-29 16:51:24 INFO Calculated storage.storage[1..6144]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated storage.comparator[1..192]."n_bits" as "max(1, ceil(log2(depth)))" = 8. +2024-05-29 16:51:24 INFO Calculated storage.comparator[1..192]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:51:24 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 8. +2024-05-29 16:51:24 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:51:24 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:24 INFO Calculated list index expression as "depth" = 192. +2024-05-29 16:51:24 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:51:24 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:24 INFO Calculated list index expression as "depth" = 192. +2024-05-29 16:51:24 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.5. +2024-05-29 16:51:24 INFO Calculated list index expression as "width*depth" = 6144. +2024-05-29 16:51:24 INFO Calculated system_top_level.weights_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated list index expression as "depth" = 192. +2024-05-29 16:51:24 INFO Calculated system_top_level.weights_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.5. +2024-05-29 16:51:24 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:24 INFO Calculated list index expression as "depth" = 192. +2024-05-29 16:51:24 INFO Calculated storage."width" as "memory_width" = 32. +2024-05-29 16:51:24 INFO Calculated storage."depth" as "memory_depth" = 64. +2024-05-29 16:51:24 INFO Calculated storage."n_rdwr_ports" as "n_rdwr_ports" = 1. +2024-05-29 16:51:24 INFO Calculated storage."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated storage.area_scale as "area_scale" = 0.125. +2024-05-29 16:51:24 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:51:24 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:24 INFO Calculated storage.storage[1..2048]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated storage.comparator[1..64]."n_bits" as "max(1, ceil(log2(depth)))" = 6. +2024-05-29 16:51:24 INFO Calculated storage.comparator[1..64]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated address_generators[0..1]."n_bits" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:51:24 INFO Calculated address_generators[0..1]."precision" as "max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1" = 4. +2024-05-29 16:51:24 INFO Calculated address_generators[0..1]."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.16957554093095897. +2024-05-29 16:51:24 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:24 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:24 INFO Calculated action read energy_scale as "dynamic_energy_scale" = 0.16957554093095897. +2024-05-29 16:51:24 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:24 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:24 INFO Calculated action leak energy_scale as "static_energy_scale" = 0.125. +2024-05-29 16:51:24 INFO Calculated list index expression as "width*depth" = 2048. +2024-05-29 16:51:24 INFO Calculated system_top_level.psum_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:24 INFO Calculated system_top_level.psum_spad[1..168].leak.leak."global_cycle_seconds" as "global_cycle_seconds" = 1e-09. +2024-05-29 16:51:24 INFO Calculated action write energy_scale as "dynamic_energy_scale" = 0.16957554093095897. +2024-05-29 16:51:24 INFO Calculated list index expression as "width" = 32. +2024-05-29 16:51:24 INFO Calculated list index expression as "depth" = 64. +2024-05-29 16:51:24 INFO Calculated intadder."width" as "adder_width" = 16. +2024-05-29 16:51:24 INFO Calculated intmultiplier."width_a" as "multiplier_width" = 8. +2024-05-29 16:51:24 INFO Calculated intmultiplier."width_b" as "multiplier_width" = 8. +2024-05-29 16:51:24 INFO +2024-05-29 16:51:24 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, PSUM_DATAWIDTH=16, INPUT_WEIGHT_DATAWIDTH=8, global_cycle_seconds=1e-09, technology=45nm, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:51:24 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:51:24 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, PSUM_DATAWIDTH, INPUT_WEIGHT_DATAWIDTH, global_cycle_seconds, technology, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:51:24 INFO | Unused arguments (action_latency_cycles) provided for DRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:51:24 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:24 INFO +2024-05-29 16:51:24 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, PSUM_DATAWIDTH=16, INPUT_WEIGHT_DATAWIDTH=8, global_cycle_seconds=1e-09, technology=45nm, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:51:24 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:51:24 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, PSUM_DATAWIDTH, INPUT_WEIGHT_DATAWIDTH, global_cycle_seconds, technology, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:51:24 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.update. Arguments used: () +2024-05-29 16:51:24 INFO +2024-05-29 16:51:24 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, PSUM_DATAWIDTH=16, INPUT_WEIGHT_DATAWIDTH=8, global_cycle_seconds=1e-09, technology=45nm, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:51:24 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:51:24 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, PSUM_DATAWIDTH, INPUT_WEIGHT_DATAWIDTH, global_cycle_seconds, technology, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:51:24 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.write. Arguments used: () +2024-05-29 16:51:24 INFO +2024-05-29 16:51:24 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, PSUM_DATAWIDTH=16, INPUT_WEIGHT_DATAWIDTH=8, global_cycle_seconds=1e-09, technology=45nm, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 16:51:24 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 16:51:24 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, PSUM_DATAWIDTH, INPUT_WEIGHT_DATAWIDTH, global_cycle_seconds, technology, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:51:24 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.read. Arguments used: () +2024-05-29 16:51:24 INFO +2024-05-29 16:51:24 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rdwr_ports=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:24 INFO CactiSRAM estimated 2.6065000000000003e-11 with accuracy 80%. Messages: +2024-05-29 16:51:24 INFO | Unused arguments (n_rdwr_ports, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, technology) +2024-05-29 16:51:24 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:51:24 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:51:24 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpp1ymv_i_ +2024-05-29 16:51:24 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpztyt3j9g +2024-05-29 16:51:24 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:51:24 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpp1ymv_i_ >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpztyt3j9g 2>&1 +2024-05-29 16:51:24 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:51:24 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:51:24 INFO +2024-05-29 16:51:24 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:24 INFO Neurosim Plug-In estimated 0.05655207999999999p with accuracy 70%. Messages: +2024-05-29 16:51:24 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:24 INFO | Building a crossbar with cell file /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/cells/placeholder.cell +2024-05-29 16:51:24 INFO | Neurosim Plugin parsing cell file... +2024-05-29 16:51:24 INFO | Failed to calculate "widthSRAMCellNMOS:". Ignore if this value is not needed. +2024-05-29 16:51:24 INFO | Could not find -SRAMCellNMOSWidth (F): in cell file. +2024-05-29 16:51:24 INFO | Failed to calculate "widthSRAMCellPMOS:". Ignore if this value is not needed. +2024-05-29 16:51:24 INFO | Could not find -SRAMCellPMOSWidth (F): in cell file. +2024-05-29 16:51:24 INFO | Failed to calculate "minSenseVoltage:". Ignore if this value is not needed. +2024-05-29 16:51:24 INFO | Could not find -MinSenseVoltage (mV): in cell file. +2024-05-29 16:51:24 INFO | Failed to calculate "accessTransistorResistance:". Ignore if this value is not needed. +2024-05-29 16:51:24 INFO | Could not find -AccessTransistorResistance (ohm): in cell file. +2024-05-29 16:51:24 INFO | Failed to calculate "WriteVoltage:". Ignore if this value is not needed. +2024-05-29 16:51:24 INFO | Could not find -WriteVoltage (V): in cell file. +2024-05-29 16:51:24 INFO | Failed to calculate "SET_CURRENT". Ignore if this value is not needed. +2024-05-29 16:51:24 INFO | Could not find -SetCurrent (uA): in cell file. +2024-05-29 16:51:24 INFO | Failed to calculate "SET_POWER". Ignore if this value is not needed. +2024-05-29 16:51:24 INFO | Could not find -SetPower (uW): in cell file. +2024-05-29 16:51:24 INFO | Failed to calculate "READ_CURRENT". Ignore if this value is not needed. +2024-05-29 16:51:24 INFO | Could not find -ReadCurrent (uA): in cell file. +2024-05-29 16:51:24 INFO | Failed to calculate "READ_ENERGY". Ignore if this value is not needed. +2024-05-29 16:51:24 INFO | Could not find -ReadEnergy (pJ): in cell file. +2024-05-29 16:51:24 INFO | Failed to calculate "cellCapacitanceMultiplier:". Ignore if this value is not needed. +2024-05-29 16:51:24 INFO | Could not find -CellCapacitanceMultiplier: in cell file. +2024-05-29 16:51:24 INFO | Failed to calculate "cellCapacitanceAdjust:". Ignore if this value is not needed. +2024-05-29 16:51:24 INFO | Could not find -CellCapacitanceAdjust (F): in cell file. +2024-05-29 16:51:24 INFO | Failed to calculate "deviceRoadmap:". Ignore if this value is not needed. +2024-05-29 16:51:24 INFO | Could not find -DeviceRoadmap -1LP 1HP 2LSTP: in cell file. +2024-05-29 16:51:24 INFO | Running /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/NeuroSim/main /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim_input_19705.cfg +2024-05-29 16:51:24 INFO | Crossbar minimum latency is 2.808 ns to read 8.0 columns at once. +2024-05-29 16:51:24 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:24 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:24 INFO +2024-05-29 16:51:24 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rdwr_ports=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:24 INFO CactiSRAM estimated 3.2285900000000004e-11 with accuracy 80%. Messages: +2024-05-29 16:51:24 INFO | Unused arguments (n_rdwr_ports, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, technology) +2024-05-29 16:51:24 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.read. Arguments used: () +2024-05-29 16:51:24 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:51:24 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6lb_144v +2024-05-29 16:51:24 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_gpa3gfr +2024-05-29 16:51:24 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:51:24 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6lb_144v >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_gpa3gfr 2>&1 +2024-05-29 16:51:24 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:51:24 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:51:24 INFO +2024-05-29 16:51:24 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:24 INFO Neurosim Plug-In estimated 0.05655207999999999p with accuracy 70%. Messages: +2024-05-29 16:51:24 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:24 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:24 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:24 INFO +2024-05-29 16:51:24 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rdwr_ports=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO CactiSRAM estimated 3.34055e-15 with accuracy 80%. Messages: +2024-05-29 16:51:25 INFO | Unused arguments (n_rdwr_ports, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, technology) +2024-05-29 16:51:25 INFO | Unused arguments (action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 16:51:25 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:51:25 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7rz0t31j +2024-05-29 16:51:25 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjd_bdi9o +2024-05-29 16:51:25 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:51:25 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp7rz0t31j >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpjd_bdi9o 2>&1 +2024-05-29 16:51:25 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:51:25 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:51:25 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 1.65095 +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Neurosim Plug-In estimated 5.182512000000001e-06p with accuracy 70%. Messages: +2024-05-29 16:51:25 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:25 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for SRAM(width=64, depth=16384, n_rdwr_ports=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO CactiSRAM estimated 2.6065000000000003e-11 with accuracy 80%. Messages: +2024-05-29 16:51:25 INFO | Unused arguments (n_rdwr_ports, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, technology) +2024-05-29 16:51:25 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for SRAM.write. Arguments used: () +2024-05-29 16:51:25 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:51:25 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_gk873lq +2024-05-29 16:51:25 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpl5ef45yy +2024-05-29 16:51:25 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:51:25 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_gk873lq >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpl5ef45yy 2>&1 +2024-05-29 16:51:25 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:51:25 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for intadder(n_bits=14, precision=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Neurosim Plug-In estimated 0.05655207999999999p with accuracy 70%. Messages: +2024-05-29 16:51:25 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:25 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:25 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Neurosim Plug-In estimated 0.016354909999999997p with accuracy 70%. Messages: +2024-05-29 16:51:25 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:25 INFO | Building a crossbar with cell file /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/cells/placeholder.cell +2024-05-29 16:51:25 INFO | Neurosim Plugin parsing cell file... +2024-05-29 16:51:25 INFO | Failed to calculate "widthSRAMCellNMOS:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -SRAMCellNMOSWidth (F): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "widthSRAMCellPMOS:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -SRAMCellPMOSWidth (F): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "minSenseVoltage:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -MinSenseVoltage (mV): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "accessTransistorResistance:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -AccessTransistorResistance (ohm): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "WriteVoltage:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -WriteVoltage (V): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "SET_CURRENT". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -SetCurrent (uA): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "SET_POWER". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -SetPower (uW): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "READ_CURRENT". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -ReadCurrent (uA): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "READ_ENERGY". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -ReadEnergy (pJ): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "cellCapacitanceMultiplier:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -CellCapacitanceMultiplier: in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "cellCapacitanceAdjust:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -CellCapacitanceAdjust (F): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "deviceRoadmap:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -DeviceRoadmap -1LP 1HP 2LSTP: in cell file. +2024-05-29 16:51:25 INFO | Running /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/NeuroSim/main /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim_input_19705.cfg +2024-05-29 16:51:25 INFO | Crossbar minimum latency is 2.808 ns to read 8.0 columns at once. +2024-05-29 16:51:25 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:25 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Neurosim Plug-In estimated 0.016354909999999997p with accuracy 70%. Messages: +2024-05-29 16:51:25 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:25 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:25 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:51:25 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:51:25 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Neurosim Plug-In estimated 1.4807179999999997e-06p with accuracy 70%. Messages: +2024-05-29 16:51:25 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:25 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Neurosim Plug-In estimated 0.016354909999999997p with accuracy 70%. Messages: +2024-05-29 16:51:25 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:25 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:25 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Neurosim Plug-In estimated 0.03243378p with accuracy 70%. Messages: +2024-05-29 16:51:25 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:25 INFO | Building a crossbar with cell file /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/cells/placeholder.cell +2024-05-29 16:51:25 INFO | Neurosim Plugin parsing cell file... +2024-05-29 16:51:25 INFO | Failed to calculate "widthSRAMCellNMOS:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -SRAMCellNMOSWidth (F): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "widthSRAMCellPMOS:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -SRAMCellPMOSWidth (F): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "minSenseVoltage:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -MinSenseVoltage (mV): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "accessTransistorResistance:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -AccessTransistorResistance (ohm): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "WriteVoltage:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -WriteVoltage (V): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "SET_CURRENT". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -SetCurrent (uA): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "SET_POWER". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -SetPower (uW): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "READ_CURRENT". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -ReadCurrent (uA): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "READ_ENERGY". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -ReadEnergy (pJ): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "cellCapacitanceMultiplier:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -CellCapacitanceMultiplier: in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "cellCapacitanceAdjust:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -CellCapacitanceAdjust (F): in cell file. +2024-05-29 16:51:25 INFO | Failed to calculate "deviceRoadmap:". Ignore if this value is not needed. +2024-05-29 16:51:25 INFO | Could not find -DeviceRoadmap -1LP 1HP 2LSTP: in cell file. +2024-05-29 16:51:25 INFO | Running /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/NeuroSim/main /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim_input_19705.cfg +2024-05-29 16:51:25 INFO | Crossbar minimum latency is 2.808 ns to read 8.0 columns at once. +2024-05-29 16:51:25 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:25 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Neurosim Plug-In estimated 0.03243378p with accuracy 70%. Messages: +2024-05-29 16:51:25 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:25 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:25 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:51:25 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:51:25 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Neurosim Plug-In estimated 2.9614360000000003e-06p with accuracy 70%. Messages: +2024-05-29 16:51:25 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:25 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for intadder(n_bits=8, precision=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Neurosim Plug-In estimated 0.03243378p with accuracy 70%. Messages: +2024-05-29 16:51:25 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:25 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:25 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Neurosim Plug-In estimated 0.016354909999999997p with accuracy 70%. Messages: +2024-05-29 16:51:25 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:25 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:25 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.009p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_register.read. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.009, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Neurosim Plug-In estimated 0.016354909999999997p with accuracy 70%. Messages: +2024-05-29 16:51:25 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:25 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:25 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_register.leak. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_register leak has been scaled 1.0x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:51:25 INFO | aladdin_register leak has been scaled 1.0x +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 2.51e-05p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_comparator.leak. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=2.51e-05, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_comparator leak has been scaled 1.0x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:51:25 INFO | aladdin_comparator leak has been scaled 1.0x +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Neurosim Plug-In estimated 1.4807179999999997e-06p with accuracy 70%. Messages: +2024-05-29 16:51:25 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:25 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.0p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_register.write. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_register energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_register energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).compare(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.02947p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_comparator.compare. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.02947, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_comparator energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_comparator energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Neurosim Plug-In estimated 0.016354909999999997p with accuracy 70%. Messages: +2024-05-29 16:51:25 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:25 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:25 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling width from 32 to 16 +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 16:51:25 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.21p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_adder.read. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.21, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 1x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 16:51:25 INFO | aladdin_adder energy has been scaled 1x +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.0012p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.0024, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 0.5x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling width from 32 to 16 +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x leak +2024-05-29 16:51:25 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:51:25 INFO | aladdin_adder leak has been scaled 0.5x +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO ENERGY ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:25 INFO Library estimated 0.0024p with accuracy 90%. Messages: +2024-05-29 16:51:25 INFO | Found 1 entries for aladdin_adder.leak. +2024-05-29 16:51:25 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | value=0.0024, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak', 'aladdin_adder leak has been scaled 1.0x'] +2024-05-29 16:51:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:25 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1.0x leak +2024-05-29 16:51:25 INFO | aladdin_adder leak has been scaled 1.0x +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 WARNING No action counts are specified as yaml input +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO AREA ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, PSUM_DATAWIDTH=16, INPUT_WEIGHT_DATAWIDTH=8, global_cycle_seconds=1e-09, technology=45nm, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:51:25 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 16:51:25 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, PSUM_DATAWIDTH, INPUT_WEIGHT_DATAWIDTH, global_cycle_seconds, technology, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, PSUM_DATAWIDTH=16, INPUT_WEIGHT_DATAWIDTH=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:51:25 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=14, meshY=1, version=0.4, PSUM_DATAWIDTH=16, INPUT_WEIGHT_DATAWIDTH=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 16:51:25 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 16:51:25 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:25 INFO +2024-05-29 16:51:25 INFO AREA ESTIMATION for SRAM(width=64, depth=16384, n_rdwr_ports=1, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:26 INFO CactiSRAM estimated 4.29589e-07 with accuracy 80%. Messages: +2024-05-29 16:51:26 INFO | Unused arguments (n_rdwr_ports, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (width, depth, technology) +2024-05-29 16:51:26 INFO | Calling CACTI with cache_size=131072 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-05-29 16:51:26 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppga_8wgn +2024-05-29 16:51:26 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp51cux54w +2024-05-29 16:51:26 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 16:51:26 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmppga_8wgn >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp51cux54w 2>&1 +2024-05-29 16:51:26 INFO | Cache bandwidth: 8.0 bits/cycle +2024-05-29 16:51:26 INFO | Cache bandwidth: 38.765559223477396 bits/second +2024-05-29 16:51:26 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:26 INFO +2024-05-29 16:51:26 INFO AREA ESTIMATION for intadder(n_bits=14, precision=14, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:26 INFO Neurosim Plug-In estimated 81.44387999999998u^2 with accuracy 70%. Messages: +2024-05-29 16:51:26 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:26 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:26 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:26 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:26 INFO +2024-05-29 16:51:26 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:26 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:51:26 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:26 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:51:26 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:51:26 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:26 INFO +2024-05-29 16:51:26 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:26 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:51:26 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:26 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:51:26 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:51:26 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:26 INFO +2024-05-29 16:51:26 INFO AREA ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:26 INFO Neurosim Plug-In estimated 23.26968u^2 with accuracy 70%. Messages: +2024-05-29 16:51:26 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:26 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:26 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:26 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:26 INFO +2024-05-29 16:51:26 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:26 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:51:26 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:26 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:51:26 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:51:26 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:26 INFO +2024-05-29 16:51:26 INFO AREA ESTIMATION for aladdin_comparator(n_bits=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:26 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:51:26 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:26 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:51:26 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:51:26 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:26 INFO +2024-05-29 16:51:26 INFO AREA ESTIMATION for intadder(n_bits=8, precision=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:26 INFO Neurosim Plug-In estimated 46.53936u^2 with accuracy 70%. Messages: +2024-05-29 16:51:26 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:26 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:26 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:26 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:26 INFO +2024-05-29 16:51:26 INFO AREA ESTIMATION for aladdin_register(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:26 INFO Library estimated 5.98u^2 with accuracy 90%. Messages: +2024-05-29 16:51:26 INFO | Found 4 entries for aladdin_register. +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'write', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'leak', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0', 'area(um^2)': '5.98E+00', 'action': 'update', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=5.98, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_register area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '1', 'dynamic energy(pJ)': '0.009', 'area(um^2)': '5.98E+00', 'action': 'read', 'name': 'aladdin_register', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:26 INFO | Scaled aladdin_register.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:51:26 INFO | aladdin_register area has been scaled 1x +2024-05-29 16:51:26 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:26 INFO +2024-05-29 16:51:26 INFO AREA ESTIMATION for aladdin_comparator(n_bits=6, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:26 INFO Library estimated 71.0u^2 with accuracy 90%. Messages: +2024-05-29 16:51:26 INFO | Found 5 entries for aladdin_comparator. +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'read', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '2.51E-05', 'area(um^2)': '71', 'action': 'leak', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'update', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0', 'area(um^2)': '71', 'action': 'write', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=71.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_comparator area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy(pJ)': '0.02947', 'area(um^2)': '71', 'action': 'compare', 'name': 'aladdin_comparator', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:26 INFO | Scaled aladdin_comparator.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:51:26 INFO | aladdin_comparator area has been scaled 1x +2024-05-29 16:51:26 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:26 INFO +2024-05-29 16:51:26 INFO AREA ESTIMATION for intadder(n_bits=4, precision=4, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:26 INFO Neurosim Plug-In estimated 23.26968u^2 with accuracy 70%. Messages: +2024-05-29 16:51:26 INFO | WARN: Non-numeric 45nm for parameter technology. Using 45 instead. +2024-05-29 16:51:26 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:26 INFO Plug-ins provided accuracy, but failed to estimate: +2024-05-29 16:51:26 INFO | Aladdin_table with accuracy 70% estimating value: KeyError: 'width' +2024-05-29 16:51:26 INFO +2024-05-29 16:51:26 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:26 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 16:51:26 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 16:51:26 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | Scaling width from 32 to 16 +2024-05-29 16:51:26 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:26 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 16:51:26 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:51:26 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 16:51:26 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:26 INFO +2024-05-29 16:51:26 INFO AREA ESTIMATION for aladdin_adder(width_a=8, width_b=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 16:51:26 INFO Library estimated 278.0u^2 with accuracy 90%. Messages: +2024-05-29 16:51:26 INFO | Found 5 entries for aladdin_adder. +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | value=278.0, matching_attrs=3, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 1x'] +2024-05-29 16:51:26 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 16:51:26 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 16:51:26 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 16:51:26 INFO | aladdin_adder area has been scaled 1x +2024-05-29 16:51:26 INFO | Multiplying by n_instances 1 +2024-05-29 16:51:26 INFO flattened architecture is saved to: +2024-05-29 16:51:26 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 16:51:26 INFO energy reference table is saved to: +2024-05-29 16:51:26 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 16:51:26 INFO energy reference table summary is saved to: +2024-05-29 16:51:26 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 16:51:26 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 16:51:26 INFO area reference table is saved to: +2024-05-29 16:51:26 INFO ./timeloop-mapper.ART.yaml +2024-05-29 16:51:26 INFO area reference table summary is saved to: +2024-05-29 16:51:26 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..7823975b --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,269 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 16 + INPUT_WEIGHT_DATAWIDTH: 8 + global_cycle_seconds: 1e-09 + technology: "45nm" + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 16 + INPUT_WEIGHT_DATAWIDTH: 8 + global_cycle_seconds: 1e-09 + technology: "45nm" + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 64 + memory_depth: 16384 + widthscale: 1.0 + depthscale: 1.0 + real_depth: 16384 + area_scale: 1.0 + dynamic_energy_scale: 1.0 + static_energy_scale: 1.0 + n_rdwr_ports: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 16 + INPUT_WEIGHT_DATAWIDTH: 8 + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 16 + INPUT_WEIGHT_DATAWIDTH: 8 + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 16 + INPUT_WEIGHT_DATAWIDTH: 8 + global_cycle_seconds: 1e-09 + technology: "45nm" + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.1875 + real_depth: 12 + area_scale: 0.09375 + dynamic_energy_scale: 0.1354911710963393 + static_energy_scale: 0.09375 + n_rdwr_ports: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 16 + INPUT_WEIGHT_DATAWIDTH: 8 + global_cycle_seconds: 1e-09 + technology: "45nm" + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 192 + widthscale: 0.5 + depthscale: 1.0 + real_depth: 192 + area_scale: 0.5 + dynamic_energy_scale: 0.5 + static_energy_scale: 0.5 + n_rdwr_ports: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 16 + INPUT_WEIGHT_DATAWIDTH: 8 + global_cycle_seconds: 1e-09 + technology: "45nm" + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.25 + real_depth: 16 + area_scale: 0.125 + dynamic_energy_scale: 0.16957554093095897 + static_energy_scale: 0.125 + n_rdwr_ports: 1 + required_actions: + - leak + - update + - write + - read + enabled: true + - name: system_top_level.mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + datawidth: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + power_gated_at: null + version: '0.4' + PSUM_DATAWIDTH: 16 + INPUT_WEIGHT_DATAWIDTH: 8 + global_cycle_seconds: 1e-09 + technology: "45nm" + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..6aa52069 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,42 @@ +#error Tenssella does not support bypass. +t6 +C 4 M 4 R 1 S 1 N 1 P 7 Q 4 +MPCQ +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t5 +C 4 M 2 R 1 S 1 N 1 P 8 Q 1 +PCM +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 14 +Q +7 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s3 +C 1 M 4 R 1 S 3 N 1 P 1 Q 1 +SM +5 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +C 8 M 1 R 3 S 1 N 1 P 1 Q 1 +CR +t0 +C 1 M 8 R 1 S 1 N 1 P 1 Q 1 +M diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.oaves.csv b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/ref-output/intmac/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/run_example.py b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/run_example.py new file mode 100644 index 00000000..96794095 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop+accelergy/run_example.py @@ -0,0 +1,87 @@ +import os +import inspect + +THIS_SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__)) + +import pytimeloop.timeloopfe.v4 as tl + + +def run_exercise_intmac(out_dir: str = "output"): + start_dir = THIS_SCRIPT_DIR + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/arch.yaml"), + os.path.join(start_dir, "arch/components/*.yaml"), + os.path.join(start_dir, "prob/*.yaml"), + os.path.join(start_dir, "mapper/*.yaml"), + jinja_parse_data={ + "mac_class": "intmac", + "input_weight_datawidth": 8, + "psum_datawidth": 16, + }, + ) + tl.call_mapper(spec, output_dir=os.path.join(start_dir, f"{out_dir}/intmac")) + + +def run_exercise_fpmac(out_dir: str = "output"): + start_dir = THIS_SCRIPT_DIR + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/arch.yaml"), + os.path.join(start_dir, "arch/components/*.yaml"), + os.path.join(start_dir, "prob/*.yaml"), + os.path.join(start_dir, "mapper/*.yaml"), + jinja_parse_data={ + "mac_class": "fpmac", + "input_weight_datawidth": 32, + "psum_datawidth": 32, + }, + ) + tl.call_mapper(spec, output_dir=os.path.join(start_dir, f"{out_dir}/fpmac")) + + +if __name__ == "__main__": + import argparse + + parser = argparse.ArgumentParser(description="Run timeloop exercises") + parser.add_argument( + "exercise", + type=str, + help="Exercise to run. 'All' to run all exercises", + default="", + nargs="*", + ) + parser.add_argument( + "--generate-ref-outputs", action="store_true", help="Generate reference output" + ) + parser.add_argument( + "--clear-outputs", action="store_true", help="Clear output directories" + ) + args = parser.parse_args() + + exercise_list = [ + "intmac", + "fpmac", + ] + + if args.clear_outputs: + path = os.path.abspath(THIS_SCRIPT_DIR) + os.system(f"cd {path} ; rm -rf output") + os.system(f"cd {path} ; rm -rf ref-output") + exit() + + def run(target): + func = globals()[f"run_exercise_{target}"] + # Print out the function contents so users can see what the function does + print("\n\n" + "=" * 80) + print(f"Calling exercise {target}. Code is:") + print(inspect.getsource(func)) + if args.generate_ref_outputs: + func("ref-output") + else: + func() + + for e in args.exercise: + if e.lower() == "all": + for e in exercise_list: + run(e) + else: + run(e) diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/.gitignore b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/.gitignore new file mode 100644 index 00000000..2e7b003e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/.gitignore @@ -0,0 +1,7 @@ +*.log +*/timeloop-model.*.yaml +*/timeloop-model.*.txt +*/timeloop-model.*.xml +*/timeloop-mapper.*.yaml +*/timeloop-mapper.*.txt +*/timeloop-mapper.*.xml diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/README.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/README.md new file mode 100644 index 00000000..d6e36115 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/README.md @@ -0,0 +1,35 @@ +Exercise 0 +========== + +## Overview + +This exercise runs a 1D convolution on a toy architecture with a single PE consisting of a small register and a scalar MACC unit. + +## Steps + +To run the exercise, we need to provide 3 inputs to the Timeloop model: +- An architecture. +- A problem. +- A mapping. + +We have provided a separate `.yaml` file for each of these inputs arranged into different sub-directories. To run the exercise, type the following from the exercises/timeloop directory: + +``` + python3 run_example.py 00 +``` + +This generates the following outputs: +- Overall performance (in terms of hardware utilization fraction) and energy efficiency (in terms of pJ/MACC) are reported on `stdout`. +- Detailed statistics are saved to `timeloop-model.stats.txt`. +- A pretty-printed form of the mapping is saved to `timeloop-model.map.txt`. + +## Observations + +- Look at the structure of the `timeloop-model.stats.txt` file. + - It is divided into two main sections, one for Storage and Arithmetic levels, and the other for Networks connecting those levels. The Storage and Arithmetic section is itself divided into subsections, one for each Arithmetic and Storage level in the hardware topology. + - Each section reports the level's specs (which may be user-defined, derived or default), followed by statistics from the model's execution of the mapping. + - Some statistics are separated out into sub-sections for each data-space (such as Weights, Inputs, etc.) + - In these exercises, some statistics are reported as 0 because we are using a simple technology model plugin for Accelergy for this tutorial. + - At the tail-end of the file are some aggregate statistics representing net performance and energy-efficiency. In many studies, we simply `tail` the stats file to obtain these summary statistics. +- The only storage level is `Buffer`, which both acts as the backing store for all operand and result data_spaces, as well as the sole operand source and result destination for each arithmetic operation. +- Note that tiles of "Outputs" are actually partial sums. Accesses to partial sums inside buffers are Read-Modify-Update operations. Look at the number of reads and updates of Outputs at the Buffer. Are they equal? diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/arch/1level.arch.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/arch/1level.arch.yaml new file mode 100644 index 00000000..5cb9a9f9 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/arch/1level.arch.yaml @@ -0,0 +1,22 @@ +architecture: + version: 0.4 + nodes: + - !Container + name: accelerator + attributes: + technology: "40nm" + global_cycle_seconds: 1e-9 + + - !Component + name: Buffer + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + + - !Component + name: MACC + class: intmac + attributes: + width: 8 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/map/conv1d-1level.map.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/map/conv1d-1level.map.yaml new file mode 100644 index 00000000..ee5c1eb1 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/map/conv1d-1level.map.yaml @@ -0,0 +1,6 @@ +mapping: + - target: Buffer + type: temporal + factors: R=3 P=16 + permutation: RP + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/parsed-processed-input.yaml new file mode 100644 index 00000000..60d4abe9 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/parsed-processed-input.yaml @@ -0,0 +1,115 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: accelerator_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - read + - leak + - write + - update + enabled: true + - name: MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D + dimensions: + - R + - P + data_spaces: + - name: Weights + projection: + - - - R + read_write: false + - name: Inputs + projection: + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - P + read_write: true + coefficients: [] + instance: + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: + - target: Buffer + type: temporal + factors: R=3,P=16 + permutation: RP +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.ART.yaml new file mode 100644 index 00000000..433e594e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.ART.yaml @@ -0,0 +1,7 @@ +ART: + version: '0.4' + tables: + - name: accelerator_top_level.Buffer[1..1] + area: 845.98 + - name: accelerator_top_level.MACC[1..1] + area: 466.375 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..903e111d --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.ART_summary.yaml @@ -0,0 +1,9 @@ +ART_summary: + version: '0.4' + table_summary: + - name: accelerator_top_level.Buffer[1..1] + area: 845.98 + primitive_estimations: Aladdin_table + - name: accelerator_top_level.MACC[1..1] + area: 466.375 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.ERT.yaml new file mode 100644 index 00000000..6f0e0e4d --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.ERT.yaml @@ -0,0 +1,32 @@ +ERT: + version: '0.4' + tables: + - name: accelerator_top_level.Buffer[1..1] + actions: + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0003712 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: accelerator_top_level.MACC[1..1] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..cf5b6b5c --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.ERT_summary.yaml @@ -0,0 +1,23 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: accelerator_top_level.Buffer[1..1] + actions: + - name: read + energy: 0.36264 + - name: leak + energy: 0.0003712 + - name: write + energy: 0.36264 + - name: update + energy: 0.36264 + primitive_estimation(s): + - name: accelerator_top_level.Buffer[1..1] + estimator: Aladdin_table + - name: accelerator_top_level.MACC[1..1] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: accelerator_top_level.MACC[1..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..f0d1bb1e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,52 @@ +architecture: + version: '0.4' + local: + - name: accelerator_top_level.Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - read + - leak + - write + - update + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: accelerator_top_level.MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true + area_scale: 1.0 + energy_scale: 1.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.map.tensella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.map.tensella.txt new file mode 100644 index 00000000..bf198a60 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/output/timeloop-model.map.tensella.txt @@ -0,0 +1,3 @@ +t0 +R 3 P 16 +RP diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/prob/conv1d.prob.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/prob/conv1d.prob.yaml new file mode 100644 index 00000000..62074e25 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/prob/conv1d.prob.yaml @@ -0,0 +1,20 @@ +problem: + version: 0.4 + shape: + name: Conv1D + dimensions: [ R, P ] + data_spaces: + - name: Weights + projection: + - [ [R] ] + - name: Inputs + projection: + - [ [R], [P] ] + - name: Outputs + projection: + - [ [P] ] + read_write: True + + instance: + R: 3 + P: 16 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/parsed-processed-input.yaml new file mode 100644 index 00000000..40080007 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/parsed-processed-input.yaml @@ -0,0 +1,115 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: PE_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D + dimensions: + - R + - P + data_spaces: + - name: Weights + projection: + - - - R + read_write: false + - name: Inputs + projection: + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - P + read_write: true + coefficients: [] + instance: + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: + - target: Buffer + type: temporal + factors: R=3,P=16 + permutation: RP +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.ART.yaml new file mode 100644 index 00000000..c92b1f67 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.ART.yaml @@ -0,0 +1,7 @@ +ART: + version: '0.4' + tables: + - name: PE_top_level.Buffer[1..1] + area: 887.84 + - name: PE_top_level.MACC[1..1] + area: 332.25 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..93611d6c --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.ART_summary.yaml @@ -0,0 +1,9 @@ +ART_summary: + version: '0.4' + table_summary: + - name: PE_top_level.Buffer[1..1] + area: 887.84 + primitive_estimations: Aladdin_table + - name: PE_top_level.MACC[1..1] + area: 332.25 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.ERT.yaml new file mode 100644 index 00000000..db8ecb19 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.ERT.yaml @@ -0,0 +1,32 @@ +ERT: + version: '0.4' + tables: + - name: PE_top_level.Buffer[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.000861 + - name: PE_top_level.MACC[1..1] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..ffcfe7b1 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.ERT_summary.yaml @@ -0,0 +1,23 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: PE_top_level.Buffer[1..1] + actions: + - name: update + energy: 0.42564 + - name: read + energy: 0.42564 + - name: write + energy: 0.42564 + - name: leak + energy: 0.000861 + primitive_estimation(s): + - name: PE_top_level.Buffer[1..1] + estimator: Aladdin_table + - name: PE_top_level.MACC[1..1] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: PE_top_level.MACC[1..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..232fa253 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,48 @@ +architecture: + version: '0.4' + local: + - name: PE_top_level.Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: PE_top_level.MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.map.tenssella.txt new file mode 100644 index 00000000..bf198a60 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/00-model-conv1d-1level/ref-output/timeloop-model.map.tenssella.txt @@ -0,0 +1,3 @@ +t0 +R 3 P 16 +RP diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/README.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/README.md new file mode 100644 index 00000000..da75aafa --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/README.md @@ -0,0 +1,37 @@ +Exercise 1 +========== + +## Overview + +In this exercise, we continue to use the 1D convolution problem, but we upgrade the architecture to use a more realistic 2-level storage hierarchy with a large backing SRAM (called `MainMemory`) and a small register file (called `Buffer`) to exploit temporal reuse. We provide 2 example mappings -- **Weight Stationary** and **Output Stationary** -- that exploit reuse in different ways. + +## Steps and Observations + +1. Recall that to run the Timeloop model, we need to provide an architecture, a problem and a single mapping. Thus, to run the Weight Stationary mapping, type the following from the exercises/timeloop directory: + +We have provided a separate `.yaml` file for each of these inputs arranged into different sub-directories. To run the exercise, type the following from the exercises/timeloop directory: + + ``` + python3 run_example.py 01_ws + ``` + + As before, Timeloop produces a `timeloop-model.stats.txt` file with detailed execution statistics. However, also pay attention to the `timeloop-model.map.txt` file. It contains a pretty-formatted version of the loop nest corresponding to the input mapping, annotated with tile sizes for each data-space at each storage level. This file will become extremely useful later when we run the automated mapper. + + > Sidenote: Subsequent `timeloop-model` invocations will overwrite output files (`timeloop-model.stats.txt` and `timeloop-model.map.txt`). You need to manually rename and save these output files if you want to retain them for comparison. For this exercise, you may not need to do this because the summary statistics on `stdout` are sufficient. + +2. Now run the Output Stationary mapping (note that the architecture and problem input files are the same as the previous invocation): + + ``` + python3 run_example.py 01_os + ``` + +3. Compare the statistics from the two runs. Do you see a difference? Why or why not? Do the access count and buffer utilization numbers match the expected numbers from the tables in the Powerpoint slides? + +4. Now let's try something interesting. Edit the `prob/conv1d.prob.yaml` file and change the problem size from `P:16` to `P:1920`. Next, edit both mappings to reflect this change: a mapping _must_ cover the complete iteration space of the original problem, otherwise it is illegal (Timeloop will complain). Now try running both mappings as before. + - Hmmmm... what do you think happened here? Can you change any of the _architecture_ specs to make the mappings work? + + If you decide to increase the sizes of any storage structures, **pay attention to their `class`**, which represents the underlying design used to implement the structure. Different implementations have different sweet-spots in terms of energy efficiency. Try changing the class (look for hints elsewhere in the same YAML file) if you find energy costs to be scaling in undesirable ways. + + > Sidenote: you will learn more about these classes in the **Accelergy** section of the tutorial. + +Does this exercise tell you anything about the relative pros and cons of these two mappings? diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/arch/2level.arch.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/arch/2level.arch.yaml new file mode 100644 index 00000000..f3eda874 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/arch/2level.arch.yaml @@ -0,0 +1,30 @@ +architecture: + version: 0.4 + nodes: + - !Container + name: System + attributes: + technology: "40nm" + global_cycle_seconds: 1e-9 + + - !Component + name: MainMemory + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + + - !Component + name: Buffer + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + + - !Component + name: MACC + class: intmac + attributes: + width: 8 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/map/conv1d-2level-os.map.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/map/conv1d-2level-os.map.yaml new file mode 100644 index 00000000..69eb5c04 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/map/conv1d-2level-os.map.yaml @@ -0,0 +1,11 @@ +mapping: + - target: MainMemory + type: temporal + factors: R=1 P=16 + permutation: PR + + - target: Buffer + type: temporal + factors: R=3 P=1 + permutation: RP + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/map/conv1d-2level-ws.map.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/map/conv1d-2level-ws.map.yaml new file mode 100644 index 00000000..0e6cdc09 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/map/conv1d-2level-ws.map.yaml @@ -0,0 +1,21 @@ +mapping: + # 主存储器层映射 - 负责时间维度的卷积核遍历 + - target: MainMemory + type: temporal + factors: R=3 P=1 # R维度完全展开(3个权重),P维度不分块(1) + permutation: RP # 外层循环R,内层循环P + # 效果: 3个时间步,每步处理1个权重与所有输出位置 + + # 缓存层映射 - 负责空间维度的并行计算 + - target: Buffer + type: temporal + factors: R=1 P=16 # R维度不分块(1),P维度完全展开(16个输出) + permutation: PR # 外层循环P,内层循环R + # 效果: 16个并行计算单元,每个处理1个输出位置 + +# Weight Stationary 映射的核心特征: +# 1. 权重复用: 每个权重值被复用16次(P=16) +# 2. 输出累加: 所有输出位置需要保持用于累加 +# 3. 输入滑动: 输入窗口逐步滑动([0:16) → [1:17) → [2:18)) +# 4. 存储代价: 需要大容量输出缓存来存储完整输出向量 + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/parsed-processed-input.yaml new file mode 100644 index 00000000..0d69a069 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/parsed-processed-input.yaml @@ -0,0 +1,143 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: System_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - write + - read + - leak + enabled: true + - name: Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - write + - read + - leak + enabled: true + - name: MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D + dimensions: + - R + - P + data_spaces: + - name: Weights + projection: + - - - R + read_write: false + - name: Inputs + projection: + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - P + read_write: true + coefficients: [] + instance: + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: + - target: MainMemory + type: temporal + factors: R=1,P=16 + permutation: PR + - target: Buffer + type: temporal + factors: R=3,P=1 + permutation: RP +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.ART.yaml new file mode 100644 index 00000000..25a79159 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.ART.yaml @@ -0,0 +1,9 @@ +ART: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + area: 707084.0 + - name: System_top_level.Buffer[1..1] + area: 845.98 + - name: System_top_level.MACC[1..1] + area: 466.375 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..361d017f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.ART_summary.yaml @@ -0,0 +1,12 @@ +ART_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: System_top_level.Buffer[1..1] + area: 845.98 + primitive_estimations: Aladdin_table + - name: System_top_level.MACC[1..1] + area: 466.375 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.ERT.yaml new file mode 100644 index 00000000..dbf49418 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.ERT.yaml @@ -0,0 +1,54 @@ +ERT: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.8783 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.8783 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.3531 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.00797208 + - name: System_top_level.Buffer[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0003712 + - name: System_top_level.MACC[1..1] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..9cf8f3f2 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.ERT_summary.yaml @@ -0,0 +1,36 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + energy: 30.8783 + - name: write + energy: 30.8783 + - name: read + energy: 43.3531 + - name: leak + energy: 0.00797208 + primitive_estimation(s): + - name: System_top_level.MainMemory[1..1] + estimator: CactiSRAM + - name: System_top_level.Buffer[1..1] + actions: + - name: update + energy: 0.36264 + - name: write + energy: 0.36264 + - name: read + energy: 0.36264 + - name: leak + energy: 0.0003712 + primitive_estimation(s): + - name: System_top_level.Buffer[1..1] + estimator: Aladdin_table + - name: System_top_level.MACC[1..1] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: System_top_level.MACC[1..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..589c4d88 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,82 @@ +architecture: + version: '0.4' + local: + - name: System_top_level.MainMemory[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - write + - read + - leak + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: System_top_level.Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - write + - read + - leak + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: System_top_level.MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true + area_scale: 1.0 + energy_scale: 1.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.map.tensella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.map.tensella.txt new file mode 100644 index 00000000..c0e9ac5b --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/os/timeloop-model.map.tensella.txt @@ -0,0 +1,6 @@ +t1 +R 1 P 16 +P +t0 +R 3 P 1 +R diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/parsed-processed-input.yaml new file mode 100644 index 00000000..09a23f7e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/parsed-processed-input.yaml @@ -0,0 +1,143 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: System_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - leak + - write + - update + - read + enabled: true + - name: Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - leak + - write + - update + - read + enabled: true + - name: MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D + dimensions: + - R + - P + data_spaces: + - name: Weights + projection: + - - - R + read_write: false + - name: Inputs + projection: + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - P + read_write: true + coefficients: [] + instance: + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: + - target: MainMemory + type: temporal + factors: R=3,P=1 + permutation: RP + - target: Buffer + type: temporal + factors: R=1,P=16 + permutation: PR +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.ART.yaml new file mode 100644 index 00000000..25a79159 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.ART.yaml @@ -0,0 +1,9 @@ +ART: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + area: 707084.0 + - name: System_top_level.Buffer[1..1] + area: 845.98 + - name: System_top_level.MACC[1..1] + area: 466.375 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..361d017f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.ART_summary.yaml @@ -0,0 +1,12 @@ +ART_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: System_top_level.Buffer[1..1] + area: 845.98 + primitive_estimations: Aladdin_table + - name: System_top_level.MACC[1..1] + area: 466.375 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.ERT.yaml new file mode 100644 index 00000000..90e0f5a3 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.ERT.yaml @@ -0,0 +1,54 @@ +ERT: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.00797208 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.8783 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.8783 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.3531 + - name: System_top_level.Buffer[1..1] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0003712 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: System_top_level.MACC[1..1] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..a1f509f6 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.ERT_summary.yaml @@ -0,0 +1,36 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + actions: + - name: leak + energy: 0.00797208 + - name: write + energy: 30.8783 + - name: update + energy: 30.8783 + - name: read + energy: 43.3531 + primitive_estimation(s): + - name: System_top_level.MainMemory[1..1] + estimator: CactiSRAM + - name: System_top_level.Buffer[1..1] + actions: + - name: leak + energy: 0.0003712 + - name: write + energy: 0.36264 + - name: update + energy: 0.36264 + - name: read + energy: 0.36264 + primitive_estimation(s): + - name: System_top_level.Buffer[1..1] + estimator: Aladdin_table + - name: System_top_level.MACC[1..1] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: System_top_level.MACC[1..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..67fb1ceb --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,82 @@ +architecture: + version: '0.4' + local: + - name: System_top_level.MainMemory[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - write + - update + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: System_top_level.Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - write + - update + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: System_top_level.MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true + area_scale: 1.0 + energy_scale: 1.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.map.tensella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.map.tensella.txt new file mode 100644 index 00000000..e34f4341 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/output/ws/timeloop-model.map.tensella.txt @@ -0,0 +1,6 @@ +t1 +R 3 P 1 +R +t0 +R 1 P 16 +P diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/prob/conv1d.prob.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/prob/conv1d.prob.yaml new file mode 100644 index 00000000..62074e25 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/prob/conv1d.prob.yaml @@ -0,0 +1,20 @@ +problem: + version: 0.4 + shape: + name: Conv1D + dimensions: [ R, P ] + data_spaces: + - name: Weights + projection: + - [ [R] ] + - name: Inputs + projection: + - [ [R], [P] ] + - name: Outputs + projection: + - [ [P] ] + read_write: True + + instance: + R: 3 + P: 16 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/parsed-processed-input.yaml new file mode 100644 index 00000000..99bd3285 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/parsed-processed-input.yaml @@ -0,0 +1,143 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: PE_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D + dimensions: + - R + - P + data_spaces: + - name: Weights + projection: + - - - R + read_write: false + - name: Inputs + projection: + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - P + read_write: true + coefficients: [] + instance: + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: + - target: MainMemory + type: temporal + factors: R=1,P=16 + permutation: PR + - target: Buffer + type: temporal + factors: R=3,P=1 + permutation: RP +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.ART.yaml new file mode 100644 index 00000000..bb5c12d7 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.ART.yaml @@ -0,0 +1,9 @@ +ART: + version: '0.4' + tables: + - name: PE_top_level.MainMemory[1..1] + area: 707084.0 + - name: PE_top_level.Buffer[1..1] + area: 887.84 + - name: PE_top_level.MACC[1..1] + area: 332.25 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..61c8d865 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.ART_summary.yaml @@ -0,0 +1,12 @@ +ART_summary: + version: '0.4' + table_summary: + - name: PE_top_level.MainMemory[1..1] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: PE_top_level.Buffer[1..1] + area: 887.84 + primitive_estimations: Aladdin_table + - name: PE_top_level.MACC[1..1] + area: 332.25 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.ERT.yaml new file mode 100644 index 00000000..9394a25d --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.ERT.yaml @@ -0,0 +1,54 @@ +ERT: + version: '0.4' + tables: + - name: PE_top_level.MainMemory[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.353054 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.007972 + - name: PE_top_level.Buffer[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.000861 + - name: PE_top_level.MACC[1..1] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..f942cfa4 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.ERT_summary.yaml @@ -0,0 +1,36 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: PE_top_level.MainMemory[1..1] + actions: + - name: update + energy: 30.878292 + - name: read + energy: 43.353054 + - name: write + energy: 30.878292 + - name: leak + energy: 0.007972 + primitive_estimation(s): + - name: PE_top_level.MainMemory[1..1] + estimator: CactiSRAM + - name: PE_top_level.Buffer[1..1] + actions: + - name: update + energy: 0.42564 + - name: read + energy: 0.42564 + - name: write + energy: 0.42564 + - name: leak + energy: 0.000861 + primitive_estimation(s): + - name: PE_top_level.Buffer[1..1] + estimator: Aladdin_table + - name: PE_top_level.MACC[1..1] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: PE_top_level.MACC[1..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..a3384d2e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,76 @@ +architecture: + version: '0.4' + local: + - name: PE_top_level.MainMemory[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: PE_top_level.Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: PE_top_level.MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.map.tenssella.txt new file mode 100644 index 00000000..c0e9ac5b --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/os/timeloop-model.map.tenssella.txt @@ -0,0 +1,6 @@ +t1 +R 1 P 16 +P +t0 +R 3 P 1 +R diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/parsed-processed-input.yaml new file mode 100644 index 00000000..5619d2ba --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/parsed-processed-input.yaml @@ -0,0 +1,143 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: PE_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D + dimensions: + - R + - P + data_spaces: + - name: Weights + projection: + - - - R + read_write: false + - name: Inputs + projection: + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - P + read_write: true + coefficients: [] + instance: + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: + - target: MainMemory + type: temporal + factors: R=3,P=1 + permutation: RP + - target: Buffer + type: temporal + factors: R=1,P=16 + permutation: PR +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.ART.yaml new file mode 100644 index 00000000..bb5c12d7 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.ART.yaml @@ -0,0 +1,9 @@ +ART: + version: '0.4' + tables: + - name: PE_top_level.MainMemory[1..1] + area: 707084.0 + - name: PE_top_level.Buffer[1..1] + area: 887.84 + - name: PE_top_level.MACC[1..1] + area: 332.25 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..61c8d865 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.ART_summary.yaml @@ -0,0 +1,12 @@ +ART_summary: + version: '0.4' + table_summary: + - name: PE_top_level.MainMemory[1..1] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: PE_top_level.Buffer[1..1] + area: 887.84 + primitive_estimations: Aladdin_table + - name: PE_top_level.MACC[1..1] + area: 332.25 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.ERT.yaml new file mode 100644 index 00000000..9394a25d --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.ERT.yaml @@ -0,0 +1,54 @@ +ERT: + version: '0.4' + tables: + - name: PE_top_level.MainMemory[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.353054 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.007972 + - name: PE_top_level.Buffer[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.000861 + - name: PE_top_level.MACC[1..1] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..f942cfa4 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.ERT_summary.yaml @@ -0,0 +1,36 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: PE_top_level.MainMemory[1..1] + actions: + - name: update + energy: 30.878292 + - name: read + energy: 43.353054 + - name: write + energy: 30.878292 + - name: leak + energy: 0.007972 + primitive_estimation(s): + - name: PE_top_level.MainMemory[1..1] + estimator: CactiSRAM + - name: PE_top_level.Buffer[1..1] + actions: + - name: update + energy: 0.42564 + - name: read + energy: 0.42564 + - name: write + energy: 0.42564 + - name: leak + energy: 0.000861 + primitive_estimation(s): + - name: PE_top_level.Buffer[1..1] + estimator: Aladdin_table + - name: PE_top_level.MACC[1..1] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: PE_top_level.MACC[1..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..a3384d2e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,76 @@ +architecture: + version: '0.4' + local: + - name: PE_top_level.MainMemory[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: PE_top_level.Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: PE_top_level.MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.map.tenssella.txt new file mode 100644 index 00000000..e34f4341 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/01-model-conv1d-2level/ref-output/ws/timeloop-model.map.tenssella.txt @@ -0,0 +1,6 @@ +t1 +R 3 P 1 +R +t0 +R 1 P 16 +P diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/README.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/README.md new file mode 100644 index 00000000..f0b8c3a0 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/README.md @@ -0,0 +1,29 @@ +Exercise 2 +========== + +## Overview + +In this exercise, we continue to use the 2-level architecture from the previous exercise, but introduce a new dimension to the problem shape: **Output Channels** (represented by the dimension `K`). As a result, the space of interesting mappings becomes richer. We also explore **tiling** the `K` dimension. + +## Steps and Observations + +1. Open the `prob/conv1d+oc.prob.yaml` and `map/conv1d+oc-2level-os.map.yaml` files, compare them to the corresponding files from the previous exercise, and observe how the additional dimension requires additional directives in the mapping. + +2. Open the `map/conv1d+oc-2level-os-tiled.map.yaml` and compare it to the un-tiled mapping above (to be precise, the above mapping was also tiled, but in a degenerate way). What we have done here is _factorized_ the `K` dimension into two factors and placed the factors at two different storage levels. Think about how this factorization results in breaking up each data-space -- Weights, Inputs and Outputs. Does it affect all spaces? + +3. Run `timeloop-model` on each mapping (be sure to also include the problem and architecture files in the invocation) and look at the statistics. Which mapping is more efficient? Why? + +To run the exercise, type the following from the exercises/timeloop directory: +``` + python3 run_example.py 02_os + python3 run_example.py 02_os_tiled +``` + +4. Experiment with the following in your free lab time: + - Tile shapes and sizes (by re-factoring `P` and `K` between Buffer and MainMemory). + - Loop orders (by changing the permutation). + +5. Consider the following: + - Can you think names for some of these dataflows? What "stationarity" do they exhibit? + - How many distinct mappings are there? + - Can you find the optimal mapping? diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/arch/2level.arch.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/arch/2level.arch.yaml new file mode 100644 index 00000000..c9382f52 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/arch/2level.arch.yaml @@ -0,0 +1,33 @@ +architecture: + version: 0.4 + nodes: + - !Container + name: System + attributes: + technology: "40nm" + global_cycle_seconds: 1e-9 + + - !Component + name: MainMemory + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + + - !Container + name: PE + + - !Component + name: Buffer + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + + - !Component + name: MACC + class: intmac + attributes: + width: 8 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/map/conv1d+oc-2level-os-tiled.map.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/map/conv1d+oc-2level-os-tiled.map.yaml new file mode 100644 index 00000000..0e47a6d1 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/map/conv1d+oc-2level-os-tiled.map.yaml @@ -0,0 +1,11 @@ +mapping: + - target: MainMemory + type: temporal + factors: R=1 P=16 K=16 + permutation: PRK + + - target: Buffer + type: temporal + factors: R=3 P=1 K=2 + permutation: RPK + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/map/conv1d+oc-2level-os.map.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/map/conv1d+oc-2level-os.map.yaml new file mode 100644 index 00000000..0f50eb82 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/map/conv1d+oc-2level-os.map.yaml @@ -0,0 +1,11 @@ +mapping: + - target: MainMemory + type: temporal + factors: R=1 P=16 K=32 + permutation: PRK + + - target: Buffer + type: temporal + factors: R=3 P=1 K=1 + permutation: RPK + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/prob/conv1d+oc.prob.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/prob/conv1d+oc.prob.yaml new file mode 100644 index 00000000..bdadfdc4 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/prob/conv1d+oc.prob.yaml @@ -0,0 +1,23 @@ +problem: + version: 0.4 + shape: + name: Conv1D_OC + dimensions: [ K, R, P ] + data_spaces: + - name: Weights + projection: + - [ [K] ] + - [ [R] ] + - name: Inputs + projection: + - [ [R], [P] ] + - name: Outputs + projection: + - [ [K] ] + - [ [P] ] + read_write: True + + instance: + K: 32 + R: 3 + P: 16 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/parsed-processed-input.yaml new file mode 100644 index 00000000..ebda5dbb --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/parsed-processed-input.yaml @@ -0,0 +1,147 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: PE_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D_OC + dimensions: + - K + - R + - P + data_spaces: + - name: Weights + projection: + - - - K + - - - R + read_write: false + - name: Inputs + projection: + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - K + - - - P + read_write: true + coefficients: [] + instance: + K: 32 + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: + - target: MainMemory + type: temporal + factors: R=1,P=16,K=32 + permutation: PRK + - target: Buffer + type: temporal + factors: R=3,P=1,K=1 + permutation: RPK +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.ART.yaml new file mode 100644 index 00000000..bb5c12d7 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.ART.yaml @@ -0,0 +1,9 @@ +ART: + version: '0.4' + tables: + - name: PE_top_level.MainMemory[1..1] + area: 707084.0 + - name: PE_top_level.Buffer[1..1] + area: 887.84 + - name: PE_top_level.MACC[1..1] + area: 332.25 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..61c8d865 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.ART_summary.yaml @@ -0,0 +1,12 @@ +ART_summary: + version: '0.4' + table_summary: + - name: PE_top_level.MainMemory[1..1] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: PE_top_level.Buffer[1..1] + area: 887.84 + primitive_estimations: Aladdin_table + - name: PE_top_level.MACC[1..1] + area: 332.25 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.ERT.yaml new file mode 100644 index 00000000..9394a25d --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.ERT.yaml @@ -0,0 +1,54 @@ +ERT: + version: '0.4' + tables: + - name: PE_top_level.MainMemory[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.353054 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.007972 + - name: PE_top_level.Buffer[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.000861 + - name: PE_top_level.MACC[1..1] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..f942cfa4 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.ERT_summary.yaml @@ -0,0 +1,36 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: PE_top_level.MainMemory[1..1] + actions: + - name: update + energy: 30.878292 + - name: read + energy: 43.353054 + - name: write + energy: 30.878292 + - name: leak + energy: 0.007972 + primitive_estimation(s): + - name: PE_top_level.MainMemory[1..1] + estimator: CactiSRAM + - name: PE_top_level.Buffer[1..1] + actions: + - name: update + energy: 0.42564 + - name: read + energy: 0.42564 + - name: write + energy: 0.42564 + - name: leak + energy: 0.000861 + primitive_estimation(s): + - name: PE_top_level.Buffer[1..1] + estimator: Aladdin_table + - name: PE_top_level.MACC[1..1] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: PE_top_level.MACC[1..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..a3384d2e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,76 @@ +architecture: + version: '0.4' + local: + - name: PE_top_level.MainMemory[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: PE_top_level.Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: PE_top_level.MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.map.tenssella.txt new file mode 100644 index 00000000..3a05057f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/no-tiling/timeloop-model.map.tenssella.txt @@ -0,0 +1,6 @@ +t1 +K 32 R 1 P 16 +PK +t0 +K 1 R 3 P 1 +R diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/parsed-processed-input.yaml new file mode 100644 index 00000000..d6f84a2a --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/parsed-processed-input.yaml @@ -0,0 +1,147 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: PE_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D_OC + dimensions: + - K + - R + - P + data_spaces: + - name: Weights + projection: + - - - K + - - - R + read_write: false + - name: Inputs + projection: + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - K + - - - P + read_write: true + coefficients: [] + instance: + K: 32 + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: + - target: MainMemory + type: temporal + factors: R=1,P=16,K=16 + permutation: PRK + - target: Buffer + type: temporal + factors: R=3,P=1,K=2 + permutation: RPK +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.ART.yaml new file mode 100644 index 00000000..bb5c12d7 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.ART.yaml @@ -0,0 +1,9 @@ +ART: + version: '0.4' + tables: + - name: PE_top_level.MainMemory[1..1] + area: 707084.0 + - name: PE_top_level.Buffer[1..1] + area: 887.84 + - name: PE_top_level.MACC[1..1] + area: 332.25 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..61c8d865 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.ART_summary.yaml @@ -0,0 +1,12 @@ +ART_summary: + version: '0.4' + table_summary: + - name: PE_top_level.MainMemory[1..1] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: PE_top_level.Buffer[1..1] + area: 887.84 + primitive_estimations: Aladdin_table + - name: PE_top_level.MACC[1..1] + area: 332.25 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.ERT.yaml new file mode 100644 index 00000000..9394a25d --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.ERT.yaml @@ -0,0 +1,54 @@ +ERT: + version: '0.4' + tables: + - name: PE_top_level.MainMemory[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.353054 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.007972 + - name: PE_top_level.Buffer[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.000861 + - name: PE_top_level.MACC[1..1] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..f942cfa4 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.ERT_summary.yaml @@ -0,0 +1,36 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: PE_top_level.MainMemory[1..1] + actions: + - name: update + energy: 30.878292 + - name: read + energy: 43.353054 + - name: write + energy: 30.878292 + - name: leak + energy: 0.007972 + primitive_estimation(s): + - name: PE_top_level.MainMemory[1..1] + estimator: CactiSRAM + - name: PE_top_level.Buffer[1..1] + actions: + - name: update + energy: 0.42564 + - name: read + energy: 0.42564 + - name: write + energy: 0.42564 + - name: leak + energy: 0.000861 + primitive_estimation(s): + - name: PE_top_level.Buffer[1..1] + estimator: Aladdin_table + - name: PE_top_level.MACC[1..1] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: PE_top_level.MACC[1..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..a3384d2e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,76 @@ +architecture: + version: '0.4' + local: + - name: PE_top_level.MainMemory[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: PE_top_level.Buffer[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: PE_top_level.MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.map.tenssella.txt new file mode 100644 index 00000000..ae040dbd --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/02-model-conv1d+oc-2level/ref-output/tiling/timeloop-model.map.tenssella.txt @@ -0,0 +1,6 @@ +t1 +K 16 R 1 P 16 +PK +t0 +K 2 R 3 P 1 +RK diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/README.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/README.md new file mode 100644 index 00000000..0b168d8f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/README.md @@ -0,0 +1,24 @@ +Exercise 3 +========== + +## Overview + +In this exercise, we continue to use the problem shape from the previous exercise, i.e., a 1D Convolution with Output Channels. However, we add more realism and complexity to our architecture by making it a 3-level hierarchy with a DRAM level acting as the main backing store. Additionally, we also learn about a new mapping technique that allows data_spaces to optionally _bypass_ one or more storage levels. + +## Steps and Observations + +1. Open the `arch/3level.arch.yaml` and `map/conv1d+oc-3level.map.yaml` files. Observe how the addition of a storage level in the architecture requires adding a new mapping directive corresponding to that level. The space of mappings opens up even further: you can now factor a problem dimension across 3 levels instead of 2, and you can use a different permutation at each level. + +2. In all exercises so far, our mappings have created tiles of various shapes and sizes for each data-space, and we have always assumed that each data-space must have a tile resident at each storage level. However, this strict inclusivity is not required. At times, it may be beneficial for a data-space to _bypass_ a storage level---for example, if there isn't enough reuse of that data-space at that level. This opens up that level's capacity to larger tiles for other data_spaces, which may (or may not) end up being more optimal. Timeloop's mapping format allows us to express bypassing. To see an example, open the `map/conv1d+oc-3level-bypass.map.yaml`. This is just a random bypassing strategy that we created for illustration and is not based on any insights. + +3. Run the Timeloop model on both mappings. Was bypassing more or less efficient in this case? + +To run the exercise, type the following from the exercises/timeloop directory: +``` + python3 run_example.py 03_bypass + python3 run_example.py 03_no_bypass +``` + +4. Can you come up with a better bypassing strategy? What happens if you also change the other variables in the mapping, i.e., tiling factors and permutations? How do they interplay with bypassing options? + + If you find a better bypassing strategy than any of the provided mappings, hold on to it. In a later exercise, we will run Timeloop's automated _mapper_ on this very same problem and architecture. You can compare what you found vs. what the mapper found! diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/arch/3level.arch.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/arch/3level.arch.yaml new file mode 100644 index 00000000..1ec3043c --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/arch/3level.arch.yaml @@ -0,0 +1,41 @@ +architecture: + version: 0.4 + nodes: + - !Container + name: System + attributes: + technology: "40nm" + global_cycle_seconds: 1e-9 + + - !Component + name: MainMemory + class: DRAM + attributes: + depth: 327680 + width: 256 + datawidth: 8 + + - !Component + name: GlobalBuffer + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + + - !Container + name: PE + + - !Component + name: RegisterFile + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + + - !Component + name: MACC + class: intmac + attributes: + width: 8 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/map/conv1d+oc-3level-bypass.map.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/map/conv1d+oc-3level-bypass.map.yaml new file mode 100644 index 00000000..c860acb9 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/map/conv1d+oc-3level-bypass.map.yaml @@ -0,0 +1,33 @@ +mapping: + - target: MainMemory + type: temporal + factors: R=1 P=1 K=1 + permutation: PRK + + - target: GlobalBuffer + type: temporal + factors: R=1 P=16 K=16 + permutation: PRK + + - target: RegisterFile + type: temporal + factors: R=3 P=1 K=2 + permutation: RPK + + # Bypass + + - target: GlobalBuffer + type: dataspace + keep: + - Weights + - Inputs + bypass: + - Outputs + + - target: RegisterFile + type: dataspace + keep: + - Outputs + bypass: + - Weights + - Inputs diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/map/conv1d+oc-3level.map.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/map/conv1d+oc-3level.map.yaml new file mode 100644 index 00000000..ef3bd0d0 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/map/conv1d+oc-3level.map.yaml @@ -0,0 +1,16 @@ +mapping: + - target: MainMemory + type: temporal + factors: R=1 P=1 K=1 + permutation: PRK + + - target: GlobalBuffer + type: temporal + factors: R=1 P=16 K=16 + permutation: PRK + + - target: RegisterFile + type: temporal + factors: R=3 P=1 K=2 + permutation: RPK + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/parsed-processed-input.yaml new file mode 100644 index 00000000..fe41ed54 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/parsed-processed-input.yaml @@ -0,0 +1,175 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: System_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: DRAM + attributes: + depth: 327680 + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - read + - update + - write + - leak + enabled: true + - name: GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - read + - update + - write + - leak + enabled: true + - name: RegisterFile[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - read + - update + - write + - leak + enabled: true + - name: MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D_OC + dimensions: + - K + - R + - P + data_spaces: + - name: Weights + projection: + - - - K + - - - R + read_write: false + - name: Inputs + projection: + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - K + - - - P + read_write: true + coefficients: [] + instance: + K: 32 + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: + - target: MainMemory + type: temporal + factors: R=1,P=1,K=1 + permutation: PRK + - target: GlobalBuffer + type: temporal + factors: R=1,P=16,K=16 + permutation: PRK + - target: RegisterFile + type: temporal + factors: R=3,P=1,K=2 + permutation: RPK +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.ART.yaml new file mode 100644 index 00000000..6b5c9f33 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.ART.yaml @@ -0,0 +1,11 @@ +ART: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + - name: System_top_level.RegisterFile[1..1] + area: 845.98 + - name: System_top_level.MACC[1..1] + area: 466.375 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..343bd2dd --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.ART_summary.yaml @@ -0,0 +1,15 @@ +ART_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: System_top_level.RegisterFile[1..1] + area: 845.98 + primitive_estimations: Aladdin_table + - name: System_top_level.MACC[1..1] + area: 466.375 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.ERT.yaml new file mode 100644 index 00000000..6a9e4e94 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.ERT.yaml @@ -0,0 +1,76 @@ +ERT: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + actions: + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.3531 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.8783 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.8783 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.00797208 + - name: System_top_level.RegisterFile[1..1] + actions: + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0003712 + - name: System_top_level.MACC[1..1] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..37210b87 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.ERT_summary.yaml @@ -0,0 +1,49 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + actions: + - name: read + energy: 2048.0 + - name: update + energy: 2048.0 + - name: write + energy: 2048.0 + - name: leak + energy: 0.0 + primitive_estimation(s): + - name: System_top_level.MainMemory[1..1] + estimator: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: read + energy: 43.3531 + - name: update + energy: 30.8783 + - name: write + energy: 30.8783 + - name: leak + energy: 0.00797208 + primitive_estimation(s): + - name: System_top_level.GlobalBuffer[1..1] + estimator: CactiSRAM + - name: System_top_level.RegisterFile[1..1] + actions: + - name: read + energy: 0.36264 + - name: update + energy: 0.36264 + - name: write + energy: 0.36264 + - name: leak + energy: 0.0003712 + primitive_estimation(s): + - name: System_top_level.RegisterFile[1..1] + estimator: Aladdin_table + - name: System_top_level.MACC[1..1] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: System_top_level.MACC[1..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..ce9b54e1 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,112 @@ +architecture: + version: '0.4' + local: + - name: System_top_level.MainMemory[1..1] + class: DRAM + attributes: + depth: 327680 + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - read + - update + - write + - leak + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: System_top_level.GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - read + - update + - write + - leak + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: System_top_level.RegisterFile[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - read + - update + - write + - leak + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: System_top_level.MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true + area_scale: 1.0 + energy_scale: 1.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.map.tensella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.map.tensella.txt new file mode 100644 index 00000000..b5873b21 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/output/no-bypass/timeloop-model.map.tensella.txt @@ -0,0 +1,9 @@ +t2 +K 1 R 1 P 1 +P +t1 +K 16 R 1 P 16 +PK +t0 +K 2 R 3 P 1 +RK diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/prob/conv1d+oc.prob.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/prob/conv1d+oc.prob.yaml new file mode 100644 index 00000000..bdadfdc4 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/prob/conv1d+oc.prob.yaml @@ -0,0 +1,23 @@ +problem: + version: 0.4 + shape: + name: Conv1D_OC + dimensions: [ K, R, P ] + data_spaces: + - name: Weights + projection: + - [ [K] ] + - [ [R] ] + - name: Inputs + projection: + - [ [R], [P] ] + - name: Outputs + projection: + - [ [K] ] + - [ [P] ] + read_write: True + + instance: + K: 32 + R: 3 + P: 16 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/parsed-processed-input.yaml new file mode 100644 index 00000000..231fbc12 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/parsed-processed-input.yaml @@ -0,0 +1,188 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: System_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: RegisterFile[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D_OC + dimensions: + - K + - R + - P + data_spaces: + - name: Weights + projection: + - - - K + - - - R + read_write: false + - name: Inputs + projection: + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - K + - - - P + read_write: true + coefficients: [] + instance: + K: 32 + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: + - target: MainMemory + type: temporal + factors: R=1,P=1,K=1 + permutation: PRK + - target: GlobalBuffer + type: temporal + factors: R=1,P=16,K=16 + permutation: PRK + - target: GlobalBuffer + type: bypass + keep: + - Weights + - Inputs + bypass: + - Outputs + - target: RegisterFile + type: temporal + factors: R=3,P=1,K=2 + permutation: RPK + - target: RegisterFile + type: bypass + keep: + - Outputs + bypass: + - Weights + - Inputs +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.ART.yaml new file mode 100644 index 00000000..9cb5b2d5 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.ART.yaml @@ -0,0 +1,11 @@ +ART: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + - name: System_top_level.RegisterFile[1..1] + area: 887.84 + - name: System_top_level.MACC[1..1] + area: 332.25 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..63fcc26f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.ART_summary.yaml @@ -0,0 +1,15 @@ +ART_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: System_top_level.RegisterFile[1..1] + area: 887.84 + primitive_estimations: Aladdin_table + - name: System_top_level.MACC[1..1] + area: 332.25 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.ERT.yaml new file mode 100644 index 00000000..60cf462c --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.ERT.yaml @@ -0,0 +1,76 @@ +ERT: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.353054 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.007972 + - name: System_top_level.RegisterFile[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.000861 + - name: System_top_level.MACC[1..1] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..2fcba9d8 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.ERT_summary.yaml @@ -0,0 +1,49 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + energy: 2048.0 + - name: read + energy: 2048.0 + - name: write + energy: 2048.0 + - name: leak + energy: 0.0 + primitive_estimation(s): + - name: System_top_level.MainMemory[1..1] + estimator: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: update + energy: 30.878292 + - name: read + energy: 43.353054 + - name: write + energy: 30.878292 + - name: leak + energy: 0.007972 + primitive_estimation(s): + - name: System_top_level.GlobalBuffer[1..1] + estimator: CactiSRAM + - name: System_top_level.RegisterFile[1..1] + actions: + - name: update + energy: 0.42564 + - name: read + energy: 0.42564 + - name: write + energy: 0.42564 + - name: leak + energy: 0.000861 + primitive_estimation(s): + - name: System_top_level.RegisterFile[1..1] + estimator: Aladdin_table + - name: System_top_level.MACC[1..1] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: System_top_level.MACC[1..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..d09c92af --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,103 @@ +architecture: + version: '0.4' + local: + - name: System_top_level.MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.RegisterFile[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.map.tenssella.txt new file mode 100644 index 00000000..4812a4d1 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/bypass/timeloop-model.map.tenssella.txt @@ -0,0 +1,12 @@ +#error Tenssella does not support bypass. +t2 +K 1 R 1 P 1 +P +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +K 16 R 1 P 16 +PK +t0 +K 2 R 3 P 1 +RK diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/parsed-processed-input.yaml new file mode 100644 index 00000000..fc8aabe8 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/parsed-processed-input.yaml @@ -0,0 +1,174 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: System_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: RegisterFile[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D_OC + dimensions: + - K + - R + - P + data_spaces: + - name: Weights + projection: + - - - K + - - - R + read_write: false + - name: Inputs + projection: + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - K + - - - P + read_write: true + coefficients: [] + instance: + K: 32 + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: + - target: MainMemory + type: temporal + factors: R=1,P=1,K=1 + permutation: PRK + - target: GlobalBuffer + type: temporal + factors: R=1,P=16,K=16 + permutation: PRK + - target: RegisterFile + type: temporal + factors: R=3,P=1,K=2 + permutation: RPK +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.ART.yaml new file mode 100644 index 00000000..9cb5b2d5 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.ART.yaml @@ -0,0 +1,11 @@ +ART: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + - name: System_top_level.RegisterFile[1..1] + area: 887.84 + - name: System_top_level.MACC[1..1] + area: 332.25 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..63fcc26f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.ART_summary.yaml @@ -0,0 +1,15 @@ +ART_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: System_top_level.RegisterFile[1..1] + area: 887.84 + primitive_estimations: Aladdin_table + - name: System_top_level.MACC[1..1] + area: 332.25 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.ERT.yaml new file mode 100644 index 00000000..60cf462c --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.ERT.yaml @@ -0,0 +1,76 @@ +ERT: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.353054 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.007972 + - name: System_top_level.RegisterFile[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.000861 + - name: System_top_level.MACC[1..1] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..2fcba9d8 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.ERT_summary.yaml @@ -0,0 +1,49 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + energy: 2048.0 + - name: read + energy: 2048.0 + - name: write + energy: 2048.0 + - name: leak + energy: 0.0 + primitive_estimation(s): + - name: System_top_level.MainMemory[1..1] + estimator: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: update + energy: 30.878292 + - name: read + energy: 43.353054 + - name: write + energy: 30.878292 + - name: leak + energy: 0.007972 + primitive_estimation(s): + - name: System_top_level.GlobalBuffer[1..1] + estimator: CactiSRAM + - name: System_top_level.RegisterFile[1..1] + actions: + - name: update + energy: 0.42564 + - name: read + energy: 0.42564 + - name: write + energy: 0.42564 + - name: leak + energy: 0.000861 + primitive_estimation(s): + - name: System_top_level.RegisterFile[1..1] + estimator: Aladdin_table + - name: System_top_level.MACC[1..1] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: System_top_level.MACC[1..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..d09c92af --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,103 @@ +architecture: + version: '0.4' + local: + - name: System_top_level.MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.RegisterFile[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.map.tenssella.txt new file mode 100644 index 00000000..b5873b21 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/03-model-conv1d+oc-3level/ref-output/no-bypass/timeloop-model.map.tenssella.txt @@ -0,0 +1,9 @@ +t2 +K 1 R 1 P 1 +P +t1 +K 16 R 1 P 16 +PK +t0 +K 2 R 3 P 1 +RK diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/README.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/README.md new file mode 100644 index 00000000..09c2835e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/README.md @@ -0,0 +1,43 @@ +Exercise 4 +========== + +## Overview + +The architectures used in all prior exercises have been completely devoid of parallelism. However, as we are well aware, DNN accelerators are always designed to exploit the massive amounts of parallelism inherently present in the computation of each layer. Timeloop's architecture model allows parallelism to be expressed in a hierarchical manner. In this exercise, we introduce parallelism in one level of our example architecture's hierarchy by stamping out multiple *spatial instances* of a PE that share a single Global Buffer and backing DRAM. We also introduce another dimension to the problem shape: Input Channels. + +## Steps and Observations + +1. Open the `arch/3levelspatial.arch.yaml` and compare it to the previous exercise's `arch/3level.arch.yaml`. The two specifications look remarkably similar, except that this new version uses an array notation `[]` to stamp out multiple _instances_ of the RegisterFile and the MACC units. + > Picture the (abstract) hardware topology this creates: a single Global Buffer _fans out_ to an array of parallel Register Files inside PEs. This fanout represents the amplification in parallelism between the Global Buffer and Register File levels. Just like we created **temporal** tiling levels to take advantage of amplification of _storage capacity_ between levels, we will create **spatial** tiling levels to take advantage of amplification of _parallelism_ between levels. And just like we had a large space of choices in determining factors and permutations to create temporal tiles, we similarly have a space of choices in determining factors and permutations for spatial tiles. + + +2. Examine the mapping file `map/conv1d+oc+ic-3levelspatial-kp-ws.map.yaml`. + - First, consider the file name itself. Similar to Exercise 1, the `ws` in the file name indicates that the mapping exhibits Weight Stationary behavior (in this case, at the RegisterFile level). The `kp` in the file name stands for **K-Partitioned**, i.e., we map the problem shape's `K` (i.e., Output Channel) dimension across the available parallelism on the hardware. + - Now look at the mapping specification. Observe that there is a new mapping directive with `target:GlobalBuffer` and `type:spatial`. By convention, a spatial tiling level that describes amplification of parallelism between an outer and an inner level is associated with the _outer_ level (in this case, the Global Buffer). This new directive only has a single non-unit factor: `K16`, which means that the dataspace tiles get _partitioned_ into 16 tiles along the K-dimension. + > Spatial partitioning often leads to potent forms of hardware reuse. In this example, partitioning along the K dimension means that the Weight and Output dataspaces get partitioned along that dimension and **distributed** to the RegisterFile, but the Input dataspace (which is unaffected by K) gets _copied_ to each RegisterFile. These Inputs can be **multicast** from the GlobalBuffer to the RegisterFiles, avoiding repeated accesses to the GlobalBuffer. Timeloop automatically detects and exploits these multicast opportunities. + +3. Now examine the mapping file `map/conv1d+oc+ic-3levelspatial-cp-ws.map.yaml`. + - This is similar to the above mapping, except that the partitioning is along the `C` (i.e., Input Channel) dimension here. + > Consider the consequences of this partitioning strategy. Both Weights and Input Channels get split along C and distributed across the Register Files. However, Outputs are unaffected by the C dimension. This means that partial sums for the same outputs will be generated in parallel across the PEs. As they move from the RegisterFiles in the PEs to the GlobalBuffer, they can in fact be **spatially-reduced** before being placed into the GlobalBuffer. This phenomenon is the inverse of a multicast. + +4. Run both mappings and examine the statistics. It may be very instructive to diff them visually. The differences are minor, but there is a notable difference in energy consumption. Can you figure out why? + +To run the exercise, type the following from the exercises/timeloop directory: +``` + python3 run_example.py 04_cp + python3 run_example.py 04_kp +``` + + +5. We only gave two example mappings in this exercise. Between all the factors, permutations and bypass options across the temporal and spatial tiling levels, how many choices of mappings are there? What if we increased the problem's dimension sizes? + +## Takeaways + +Consider the following question: +> What is the performance and energy-efficiency of a given problem on a given architecture? + +We hope the exercises so far have shown that: +1. The question is only meaningful if we are also given a specific mapping. +2. For meaningfully complex problems and architectures, the space of mappings is often too large to reason about manually. + +To that end, we now proceed to examples that use Timeloop's **mapper** to automatically build and explore the space of mappings. diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/arch/3levelspatial.arch.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/arch/3levelspatial.arch.yaml new file mode 100644 index 00000000..a4cbe327 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/arch/3levelspatial.arch.yaml @@ -0,0 +1,42 @@ +architecture: + version: 0.4 + nodes: + - !Container + name: System + attributes: + technology: "40nm" + global_cycle_seconds: 1e-9 + + - !Component + name: MainMemory + class: DRAM + attributes: + width: 256 + datawidth: 8 + depth: 16777216 + + - !Component + name: GlobalBuffer + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + + - !Container + name: PE + spatial: {meshX: 16} + + - !Component + name: RegisterFile + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + + - !Component + name: MACC + class: intmac + attributes: + width: 8 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/map/conv1d+oc+ic-3levelspatial-cp-ws.map.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/map/conv1d+oc+ic-3levelspatial-cp-ws.map.yaml new file mode 100644 index 00000000..2bb87ef8 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/map/conv1d+oc+ic-3levelspatial-cp-ws.map.yaml @@ -0,0 +1,21 @@ +mapping: + - target: MainMemory + type: temporal + factors: R=1 P=1 K=1 C=1 + permutation: PRKC + + - target: GlobalBuffer + type: temporal + factors: R=3 P=1 K=32 C=2 + permutation: PRKC + + - target: PE + type: spatial + factors: R=1 P=1 K=1 C=16 + permutation: PRKC + + - target: RegisterFile + type: temporal + factors: R=1 P=16 K=1 C=1 + permutation: RPKC + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/map/conv1d+oc+ic-3levelspatial-kp-ws.map.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/map/conv1d+oc+ic-3levelspatial-kp-ws.map.yaml new file mode 100644 index 00000000..edfc31cc --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/map/conv1d+oc+ic-3levelspatial-kp-ws.map.yaml @@ -0,0 +1,21 @@ +mapping: + - target: MainMemory + type: temporal + factors: R=1 P=1 K=1 C=1 + permutation: PRKC + + - target: GlobalBuffer + type: temporal + factors: R=3 P=1 K=2 C=32 + permutation: PRKC + + - target: PE + type: spatial + factors: R=1 P=1 K=16 C=1 + permutation: PRKC + + - target: RegisterFile + type: temporal + factors: R=1 P=16 K=1 C=1 + permutation: RPKC + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/parsed-processed-input.yaml new file mode 100644 index 00000000..9a1c0324 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/parsed-processed-input.yaml @@ -0,0 +1,212 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: System_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + depth: 16777216 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - read + - update + - write + - leak + enabled: true + - name: GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - read + - update + - write + - leak + enabled: true + - name: inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-9 + power_gated_at: null + enabled: true + - name: RegisterFile[1..16] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - read + - update + - write + - leak + enabled: true + - name: MACC[1..16] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D_OC + dimensions: + - C + - K + - R + - P + data_spaces: + - name: Weights + projection: + - - - C + - - - K + - - - R + read_write: false + - name: Inputs + projection: + - - - C + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - K + - - - P + read_write: true + coefficients: [] + instance: + C: 32 + K: 32 + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: + - target: MainMemory + type: temporal + factors: R=1,P=1,K=1,C=1 + permutation: PRKC + - target: GlobalBuffer + type: temporal + factors: R=3,P=1,K=32,C=2 + permutation: PRKC + - type: spatial + target: inter_PE_spatial + factors: R=1,P=1,K=1,C=16 + permutation: PRKC + - factors: C=1,K=1,R=1,P=1 + permutation: CKRP + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - target: RegisterFile + type: temporal + factors: R=1,P=16,K=1,C=1 + permutation: RPKC +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.ART.yaml new file mode 100644 index 00000000..fc0de09a --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.ART.yaml @@ -0,0 +1,13 @@ +ART: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + - name: System_top_level.inter_PE_spatial[1..1] + area: 1.0 + - name: System_top_level.RegisterFile[1..16] + area: 845.98 + - name: System_top_level.MACC[1..16] + area: 466.375 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..8af419d5 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.ART_summary.yaml @@ -0,0 +1,18 @@ +ART_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: System_top_level.inter_PE_spatial[1..1] + area: 1.0 + primitive_estimations: dummy + - name: System_top_level.RegisterFile[1..16] + area: 845.98 + primitive_estimations: Aladdin_table + - name: System_top_level.MACC[1..16] + area: 466.375 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.ERT.yaml new file mode 100644 index 00000000..ef9bc529 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.ERT.yaml @@ -0,0 +1,76 @@ +ERT: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + actions: + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.3531 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.8783 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.8783 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.00797208 + - name: System_top_level.RegisterFile[1..16] + actions: + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0003712 + - name: System_top_level.MACC[1..16] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..5dd9c35e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.ERT_summary.yaml @@ -0,0 +1,49 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + actions: + - name: read + energy: 2048.0 + - name: update + energy: 2048.0 + - name: write + energy: 2048.0 + - name: leak + energy: 0.0 + primitive_estimation(s): + - name: System_top_level.MainMemory[1..1] + estimator: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: read + energy: 43.3531 + - name: update + energy: 30.8783 + - name: write + energy: 30.8783 + - name: leak + energy: 0.00797208 + primitive_estimation(s): + - name: System_top_level.GlobalBuffer[1..1] + estimator: CactiSRAM + - name: System_top_level.RegisterFile[1..16] + actions: + - name: read + energy: 0.36264 + - name: update + energy: 0.36264 + - name: write + energy: 0.36264 + - name: leak + energy: 0.0003712 + primitive_estimation(s): + - name: System_top_level.RegisterFile[1..16] + estimator: Aladdin_table + - name: System_top_level.MACC[1..16] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: System_top_level.MACC[1..16] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..ffbf29ca --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,137 @@ +architecture: + version: '0.4' + local: + - name: System_top_level.MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + depth: 16777216 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - read + - update + - write + - leak + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: System_top_level.GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - read + - update + - write + - leak + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: System_top_level.inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: System_top_level.RegisterFile[1..16] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - read + - update + - write + - leak + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: System_top_level.MACC[1..16] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true + area_scale: 1.0 + energy_scale: 1.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.map.tensella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.map.tensella.txt new file mode 100644 index 00000000..81a341d8 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/cp/timeloop-model.map.tensella.txt @@ -0,0 +1,19 @@ +t3 +C 1 K 1 R 1 P 1 +P +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 2 K 32 R 3 P 1 +RKC +t1 +C 1 K 1 R 1 P 1 +P +s1 +C 16 K 1 R 1 P 1 +C +4 +t0 +C 1 K 1 R 1 P 16 +P diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/parsed-processed-input.yaml new file mode 100644 index 00000000..3308ffc8 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/parsed-processed-input.yaml @@ -0,0 +1,212 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: System_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + depth: 16777216 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - leak + - update + - read + - write + enabled: true + - name: GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - leak + - update + - read + - write + enabled: true + - name: inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-9 + power_gated_at: null + enabled: true + - name: RegisterFile[1..16] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - leak + - update + - read + - write + enabled: true + - name: MACC[1..16] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D_OC + dimensions: + - C + - K + - R + - P + data_spaces: + - name: Weights + projection: + - - - C + - - - K + - - - R + read_write: false + - name: Inputs + projection: + - - - C + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - K + - - - P + read_write: true + coefficients: [] + instance: + C: 32 + K: 32 + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: + - target: MainMemory + type: temporal + factors: R=1,P=1,K=1,C=1 + permutation: PRKC + - target: GlobalBuffer + type: temporal + factors: R=3,P=1,K=2,C=32 + permutation: PRKC + - type: spatial + target: inter_PE_spatial + factors: R=1,P=1,K=16,C=1 + permutation: PRKC + - factors: C=1,K=1,R=1,P=1 + permutation: CKRP + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - target: RegisterFile + type: temporal + factors: R=1,P=16,K=1,C=1 + permutation: RPKC +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.ART.yaml new file mode 100644 index 00000000..fc0de09a --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.ART.yaml @@ -0,0 +1,13 @@ +ART: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + - name: System_top_level.inter_PE_spatial[1..1] + area: 1.0 + - name: System_top_level.RegisterFile[1..16] + area: 845.98 + - name: System_top_level.MACC[1..16] + area: 466.375 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..8af419d5 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.ART_summary.yaml @@ -0,0 +1,18 @@ +ART_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: System_top_level.inter_PE_spatial[1..1] + area: 1.0 + primitive_estimations: dummy + - name: System_top_level.RegisterFile[1..16] + area: 845.98 + primitive_estimations: Aladdin_table + - name: System_top_level.MACC[1..16] + area: 466.375 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.ERT.yaml new file mode 100644 index 00000000..2c351977 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.ERT.yaml @@ -0,0 +1,76 @@ +ERT: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.00797208 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.8783 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.3531 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.8783 + - name: System_top_level.RegisterFile[1..16] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0003712 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.36264 + - name: System_top_level.MACC[1..16] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..ba9980de --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.ERT_summary.yaml @@ -0,0 +1,49 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + actions: + - name: leak + energy: 0.0 + - name: update + energy: 2048.0 + - name: read + energy: 2048.0 + - name: write + energy: 2048.0 + primitive_estimation(s): + - name: System_top_level.MainMemory[1..1] + estimator: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: leak + energy: 0.00797208 + - name: update + energy: 30.8783 + - name: read + energy: 43.3531 + - name: write + energy: 30.8783 + primitive_estimation(s): + - name: System_top_level.GlobalBuffer[1..1] + estimator: CactiSRAM + - name: System_top_level.RegisterFile[1..16] + actions: + - name: leak + energy: 0.0003712 + - name: update + energy: 0.36264 + - name: read + energy: 0.36264 + - name: write + energy: 0.36264 + primitive_estimation(s): + - name: System_top_level.RegisterFile[1..16] + estimator: Aladdin_table + - name: System_top_level.MACC[1..16] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: System_top_level.MACC[1..16] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..c183c7ae --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,137 @@ +architecture: + version: '0.4' + local: + - name: System_top_level.MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + depth: 16777216 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - update + - read + - write + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: System_top_level.GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - update + - read + - write + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: System_top_level.inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: System_top_level.RegisterFile[1..16] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - update + - read + - write + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: System_top_level.MACC[1..16] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true + area_scale: 1.0 + energy_scale: 1.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.map.tensella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.map.tensella.txt new file mode 100644 index 00000000..3c3e675b --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/timeloop-model.map.tensella.txt @@ -0,0 +1,19 @@ +t3 +C 1 K 1 R 1 P 1 +P +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 32 K 2 R 3 P 1 +RKC +t1 +C 1 K 1 R 1 P 1 +P +s1 +C 1 K 16 R 1 P 1 +K +4 +t0 +C 1 K 1 R 1 P 16 +P diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/prob/conv1d+oc+ic.prob.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/prob/conv1d+oc+ic.prob.yaml new file mode 100644 index 00000000..704d4c10 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/prob/conv1d+oc+ic.prob.yaml @@ -0,0 +1,26 @@ +problem: + version: 0.4 + shape: + name: Conv1D_OC + dimensions: [ C, K, R, P ] + data_spaces: + - name: Weights + projection: + - [ [C] ] + - [ [K] ] + - [ [R] ] + - name: Inputs + projection: + - [ [C] ] + - [ [R], [P] ] + - name: Outputs + projection: + - [ [K] ] + - [ [P] ] + read_write: True + + instance: + C: 32 + K: 32 + R: 3 + P: 16 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/parsed-processed-input.yaml new file mode 100644 index 00000000..37426bc4 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/parsed-processed-input.yaml @@ -0,0 +1,211 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: System_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-9 + power_gated_at: null + enabled: true + - name: GlobalBuffer[1..16] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: RegisterFile[1..16] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: MACC[1..16] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D_OC + dimensions: + - C + - K + - R + - P + data_spaces: + - name: Weights + projection: + - - - C + - - - K + - - - R + read_write: false + - name: Inputs + projection: + - - - C + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - K + - - - P + read_write: true + coefficients: [] + instance: + C: 32 + K: 32 + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: + - target: MainMemory + type: temporal + factors: R=1,P=1,K=1,C=1 + permutation: PRKC + - type: spatial + target: inter_PE_spatial + factors: R=1,P=1,K=1,C=16 + permutation: PRKC + - factors: C=1,K=1,R=1,P=1 + permutation: CKRP + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - target: GlobalBuffer + type: temporal + factors: R=3,P=1,K=32,C=2 + permutation: PRKC + - target: RegisterFile + type: temporal + factors: R=1,P=16,K=1,C=1 + permutation: RPKC +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.ART.yaml new file mode 100644 index 00000000..9819520f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.ART.yaml @@ -0,0 +1,13 @@ +ART: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + - name: System_top_level.inter_PE_spatial[1..1] + area: 1.0 + - name: System_top_level.GlobalBuffer[1..16] + area: 707084.0 + - name: System_top_level.RegisterFile[1..16] + area: 887.84 + - name: System_top_level.MACC[1..16] + area: 332.25 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..bf08c869 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.ART_summary.yaml @@ -0,0 +1,18 @@ +ART_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: System_top_level.inter_PE_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: System_top_level.GlobalBuffer[1..16] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: System_top_level.RegisterFile[1..16] + area: 887.84 + primitive_estimations: Aladdin_table + - name: System_top_level.MACC[1..16] + area: 332.25 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.ERT.yaml new file mode 100644 index 00000000..b78e128b --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.ERT.yaml @@ -0,0 +1,76 @@ +ERT: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: System_top_level.GlobalBuffer[1..16] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.353054 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.007972 + - name: System_top_level.RegisterFile[1..16] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.000861 + - name: System_top_level.MACC[1..16] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..c5c1ce8d --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.ERT_summary.yaml @@ -0,0 +1,49 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + energy: 2048.0 + - name: read + energy: 2048.0 + - name: write + energy: 2048.0 + - name: leak + energy: 0.0 + primitive_estimation(s): + - name: System_top_level.MainMemory[1..1] + estimator: CactiDRAM + - name: System_top_level.GlobalBuffer[1..16] + actions: + - name: update + energy: 30.878292 + - name: read + energy: 43.353054 + - name: write + energy: 30.878292 + - name: leak + energy: 0.007972 + primitive_estimation(s): + - name: System_top_level.GlobalBuffer[1..16] + estimator: CactiSRAM + - name: System_top_level.RegisterFile[1..16] + actions: + - name: update + energy: 0.42564 + - name: read + energy: 0.42564 + - name: write + energy: 0.42564 + - name: leak + energy: 0.000861 + primitive_estimation(s): + - name: System_top_level.RegisterFile[1..16] + estimator: Aladdin_table + - name: System_top_level.MACC[1..16] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: System_top_level.MACC[1..16] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..e6a9a58e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,126 @@ +architecture: + version: '0.4' + local: + - name: System_top_level.MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: System_top_level.GlobalBuffer[1..16] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.RegisterFile[1..16] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.MACC[1..16] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.map.tenssella.txt new file mode 100644 index 00000000..d7e6ba1f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/cp/timeloop-model.map.tenssella.txt @@ -0,0 +1,19 @@ +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 1 K 1 R 1 P 1 +P +t2 +C 1 K 1 R 1 P 1 +P +s2 +C 16 K 1 R 1 P 1 +C +4 +t1 +C 2 K 32 R 3 P 1 +RKC +t0 +C 1 K 1 R 1 P 16 +P diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/parsed-processed-input.yaml new file mode 100644 index 00000000..78bab3a6 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/parsed-processed-input.yaml @@ -0,0 +1,211 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: System_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-9 + power_gated_at: null + enabled: true + - name: GlobalBuffer[1..16] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: RegisterFile[1..16] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: MACC[1..16] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D_OC + dimensions: + - C + - K + - R + - P + data_spaces: + - name: Weights + projection: + - - - C + - - - K + - - - R + read_write: false + - name: Inputs + projection: + - - - C + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - K + - - - P + read_write: true + coefficients: [] + instance: + C: 32 + K: 32 + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: + - target: MainMemory + type: temporal + factors: R=1,P=1,K=1,C=1 + permutation: PRKC + - type: spatial + target: inter_PE_spatial + factors: R=1,P=1,K=16,C=1 + permutation: PRKC + - factors: C=1,K=1,R=1,P=1 + permutation: CKRP + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - target: GlobalBuffer + type: temporal + factors: R=3,P=1,K=2,C=32 + permutation: PRKC + - target: RegisterFile + type: temporal + factors: R=1,P=16,K=1,C=1 + permutation: RPKC +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.ART.yaml new file mode 100644 index 00000000..9819520f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.ART.yaml @@ -0,0 +1,13 @@ +ART: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + - name: System_top_level.inter_PE_spatial[1..1] + area: 1.0 + - name: System_top_level.GlobalBuffer[1..16] + area: 707084.0 + - name: System_top_level.RegisterFile[1..16] + area: 887.84 + - name: System_top_level.MACC[1..16] + area: 332.25 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..bf08c869 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.ART_summary.yaml @@ -0,0 +1,18 @@ +ART_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: System_top_level.inter_PE_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: System_top_level.GlobalBuffer[1..16] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: System_top_level.RegisterFile[1..16] + area: 887.84 + primitive_estimations: Aladdin_table + - name: System_top_level.MACC[1..16] + area: 332.25 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.ERT.yaml new file mode 100644 index 00000000..b78e128b --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.ERT.yaml @@ -0,0 +1,76 @@ +ERT: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: System_top_level.GlobalBuffer[1..16] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.353054 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.007972 + - name: System_top_level.RegisterFile[1..16] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.000861 + - name: System_top_level.MACC[1..16] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..c5c1ce8d --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.ERT_summary.yaml @@ -0,0 +1,49 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + energy: 2048.0 + - name: read + energy: 2048.0 + - name: write + energy: 2048.0 + - name: leak + energy: 0.0 + primitive_estimation(s): + - name: System_top_level.MainMemory[1..1] + estimator: CactiDRAM + - name: System_top_level.GlobalBuffer[1..16] + actions: + - name: update + energy: 30.878292 + - name: read + energy: 43.353054 + - name: write + energy: 30.878292 + - name: leak + energy: 0.007972 + primitive_estimation(s): + - name: System_top_level.GlobalBuffer[1..16] + estimator: CactiSRAM + - name: System_top_level.RegisterFile[1..16] + actions: + - name: update + energy: 0.42564 + - name: read + energy: 0.42564 + - name: write + energy: 0.42564 + - name: leak + energy: 0.000861 + primitive_estimation(s): + - name: System_top_level.RegisterFile[1..16] + estimator: Aladdin_table + - name: System_top_level.MACC[1..16] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: System_top_level.MACC[1..16] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..e6a9a58e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,126 @@ +architecture: + version: '0.4' + local: + - name: System_top_level.MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: System_top_level.GlobalBuffer[1..16] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.RegisterFile[1..16] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.MACC[1..16] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 16 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.map.tenssella.txt new file mode 100644 index 00000000..230c3b9b --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/ref-output/kp/timeloop-model.map.tenssella.txt @@ -0,0 +1,19 @@ +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 1 K 1 R 1 P 1 +P +t2 +C 1 K 1 R 1 P 1 +P +s2 +C 1 K 16 R 1 P 1 +K +4 +t1 +C 32 K 2 R 3 P 1 +RKC +t0 +C 1 K 1 R 1 P 16 +P diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/README.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/README.md new file mode 100644 index 00000000..559a8bac --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/README.md @@ -0,0 +1,63 @@ +Exercise 5 +========== + +## Overview + +In this exercise, we will use Timeloop's **mapper** to automatically construct and explore the _mapspace_ (i.e., the space of legal mappings) of a problem on an architecture. To keep the mapspace manageable for this tutorial setting, we revert back to the 1D Convolution with Output Channels problem shape and the 3-level temporal architecture from Exercise 3. + +## Preparation + +Similar to the model, the mapper needs: +* An architecture. +* A problem. + +However, unlike the model, the mapper does not need an explicit mapping (it finds those for us). Instead, it needs: +* A set of _architecture constraints_ that reflect portions of the dataflow that are fixed in the hardware (grouped under the YAML configuration key `architecture_constraints`). These are not used in this exercise. +* An optional set of _mapspace constraints_ to restrict the mapspace (grouped under the YAML configuration key `mapspace_constraints`). +* A set of options for the mapper application itself, including user-interface glags and directives to guide the search heuristics (grouped under the YAML configuration key `mapper`). + +We have provided 3 alternative sets of constraints for this exercise. + +Study the three alternative constraints files in `constraints`: + 1. `conv1d+oc-3level-1mapping.constraints.yaml`. In this example, we have abused the constraints system to completely "bake" every single variable of the mapspace to reduce it down to a size of 1. In fact, this single remaining mapping is identical to the mapping we used in Exercise 3 (`map/conv1d+oc-3level.map.yaml`). The syntax is nearly identical, but the semantics are subtly different. You can express inequalities in constraints (e.g., `K<=16`), and permutations can be partially constrained. + 2. `conv1d+oc-3level-freebypass.constraints.yaml`: In this example, we lock down all factorizations and permutations in the mapping, but leave bypassing un-specified. This allows the mapper to explore all bypassing options. + > Be careful about how Bypass directives are treated by the model vs. the mapper. If you don't specify any bypass directives in a mapping, the model assumes they are set to `keep` (i.e., do not bypass). Remember that a mapping cannot have any non-determinism. However, the mapper treats anything left un-specified in the constraints as options to explore in the mapspace. If you want to lock down a specific bypass strategy, you need to create an explicit constraint to restrict the mapper. + 3. `null.constraints.yaml`: In this example, we remove all constraints and let the mapper explore the complete mapspace. + +Can you mentally calculate the size of the mapspace for each of these? + +Next, look at the `mapper/exhaustive.mapper.yaml` file. The directives here instruct the mapper to exhaustively explore the complete mapspace. Observe: +* The `optimization_metric` gives the mapper a prioritized list of metrics to compare mappings. In this example, `delay` is the highest priority. If two mappings have the same delay, they will be compared based on `energy`. The set of metrics supported today include `energy`, `delay`, `edp` (energy-delay product), and `last_level_accesses`, but this list can be trivially expanded to _any_ metric that the model generates (as in `stats.txt`) with just a few lines of code. +* The mapper can launch multiple threads to speed up the search. It will divide up the mapspace among all threads. If the `num_threads` directive isn't specified, the mapper will query the underlying host for the number of available CPU contexts and use that many threads. + +Next, we will run the mapper, once on each of the constraints files. It is useful to envision what is going to happen: +* The mapper will construct a mapspace based on the architecture and problem specifications. +* It will then constrain the mapspace based on the provided constraints. +* Next, it will _prune_ some redundant mappings out of the mapspace. +* It will then begin selecting mappings out of the mapspace, evaluate each mapping (using the same model we were manually invoking in previous exercises), and walk through the entire mapspace exhaustively before terminating. +* Finally, it will print the stats of the optimal mapping, as well as the mapping itself in a human-readable loop-nest form. + +## Steps and Observations + +Run all 3 experiments. +1. To run the exercise, type the following from the exercises/timeloop directory: + ``` + python3 run_example.py 05_baked + python3 run_example.py 05_bypass + ``` + + 1. Observe the output log. Timeloop prints out the size of the mapspace in each dimension. The total size of the mapspace is the product of all these mapspace dimensions. Everything is 1 in this example because the mapspace is completely locked down. + 2. Compare the results with the default mapping provided in Exercise 3. The numbers should be identical. +2. Now run the mapper with `conv1d+oc-3level-freebypass.constraints.yaml`. Recall that our objective here is to let the mapper find the best bypassing strategy for a given set of factorization and permutations. + 1. Observe from the log that all mapspace sizes are 1 _except_ for the `DatatypeBypass` subspace. + 2. Compare the results with what you obtained in Exercise 3. Were you able to find this mapping? +3. Now run the mapper with `null.constraints.yaml`. This may take a few seconds. If you wish, you can comment out the `num_threads` directive in `mapper/exhaustive.mapper.yaml`. You can also hit Ctrl+C to interrupt the search. It will terminate graceully and emit the optimal mapping it found so far. + ``` + python3 run_example.py 05_null + ``` + 1. Did it find an even better mapping? + +> For each of these runs, be sure to look at the generated `timeloop-mapper.map.txt`. This is the optimal mapping found by the mapper shown in a loop-nest format. + +## Takeaways +Mapspace constraints are used to limit the search space (and thereby speed up the search heuristics) based on the user's intuition on a what may constitute a good mapping. In contrast, architecture constraints are used to represent hardware capabilities (or rather, incapabilities). Many hardware accelerators aren't designed to be flexible enough to execute any pattern of data-movement loop nests that a mapper can throw at them. They are restricted (with good reason) to execute a limited set of alternative shapes of mappings, or _dataflows_. This simplifies the hardware design of networks and internal state machines. Timeloop presently uses an identical specification language to describe both styles of constraints, though that may change in future. diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/arch/3level.arch.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/arch/3level.arch.yaml new file mode 100644 index 00000000..0c2527bc --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/arch/3level.arch.yaml @@ -0,0 +1,41 @@ +architecture: + version: 0.4 + nodes: + - !Container + name: System + attributes: + technology: "40nm" + global_cycle_seconds: 1e-9 + + - !Component + name: MainMemory + class: DRAM + attributes: + width: 256 + datawidth: 8 + + - !Component + name: GlobalBuffer + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + + - !Container + name: PE + + - !Component + name: RegisterFile + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + + - !Component + name: MACC + class: intmac + attributes: + width: 8 + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/constraints/conv1d+oc-3level-1mapping.constraints.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/constraints/conv1d+oc-3level-1mapping.constraints.yaml new file mode 100644 index 00000000..5c81a04c --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/constraints/conv1d+oc-3level-1mapping.constraints.yaml @@ -0,0 +1,39 @@ +# These directives completely constrain every single aspect of the mapspace, +# thereby reducing the space down to single degenerate mapping. Running the +# mapper with these constraints will produce the same result as running +# the model directly on that degenerate mapping (which is coincidentally +# specified in a similar syntax). + +mapspace_constraints: + version: 0.4 + targets: + - target: MainMemory + type: temporal + factors: R=1 P=1 K=1 + permutation: PRK + + - target: GlobalBuffer + type: temporal + factors: R=1 P=16 K=16 + permutation: PRK + + - target: RegisterFile + type: temporal + factors: R=3 P=1 K=2 + permutation: RPK + + # Do not allow bypass anywhere. + + - target: GlobalBuffer + type: dataspace + keep: + - Weights + - Inputs + - Outputs + + - target: RegisterFile + type: dataspace + keep: + - Weights + - Inputs + - Outputs diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/constraints/conv1d+oc-3level-freebypass.constraints.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/constraints/conv1d+oc-3level-freebypass.constraints.yaml new file mode 100644 index 00000000..5e97b4db --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/constraints/conv1d+oc-3level-freebypass.constraints.yaml @@ -0,0 +1,25 @@ +# These directives constrain all aspects of the mapspace *except* all the +# ways for data_spaces to bypass storage levels. Timeloop assumes that +# all data_spaces originate in the last-level storage and therefore must +# reside there. However, all options are open for the other 2 storage +# levels in this example. since there are 3 data_spaces, the total number +# of choices = 2^(2*3) = 64, which is the size of the mapspace. + +mapspace_constraints: + version: 0.4 + targets: + - target: MainMemory + type: temporal + factors: R=1 P=1 K=1 + permutation: PRK + + - target: GlobalBuffer + type: temporal + factors: R=1 P=16 K=16 + permutation: PRK + + - target: RegisterFile + type: temporal + factors: R=3 P=1 K=2 + permutation: RPK + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/constraints/null.constraints.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/constraints/null.constraints.yaml new file mode 100644 index 00000000..7c473b23 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/constraints/null.constraints.yaml @@ -0,0 +1,5 @@ +# No constraints. Set the mapper free! + +mapspace_constraints: + version: 0.4 + targets: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/mapper/exhaustive.mapper.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/mapper/exhaustive.mapper.yaml new file mode 100644 index 00000000..875ca584 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/mapper/exhaustive.mapper.yaml @@ -0,0 +1,8 @@ +mapper: + version: 0.4 + optimization_metric: [ delay, energy ] + num_threads: 1 + algorithm: linear_pruned + victory_condition: 0 + timeout: 0 + diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/prob/conv1d+oc.prob.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/prob/conv1d+oc.prob.yaml new file mode 100644 index 00000000..bdadfdc4 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/prob/conv1d+oc.prob.yaml @@ -0,0 +1,23 @@ +problem: + version: 0.4 + shape: + name: Conv1D_OC + dimensions: [ K, R, P ] + data_spaces: + - name: Weights + projection: + - [ [K] ] + - [ [R] ] + - name: Inputs + projection: + - [ [R], [P] ] + - name: Outputs + projection: + - [ [K] ] + - [ [P] ] + read_write: True + + instance: + K: 32 + R: 3 + P: 16 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/parsed-processed-input.yaml new file mode 100644 index 00000000..a7048603 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/parsed-processed-input.yaml @@ -0,0 +1,188 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: System_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: RegisterFile[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - target: MainMemory + type: temporal + factors: R=1,P=1,K=1 + permutation: PRK + - target: GlobalBuffer + type: temporal + factors: R=1,P=16,K=16 + permutation: PRK + - target: GlobalBuffer + type: bypass + keep: + - Weights + - Inputs + - Outputs + - target: RegisterFile + type: temporal + factors: R=3,P=1,K=2 + permutation: RPK + - target: RegisterFile + type: bypass + keep: + - Weights + - Inputs + - Outputs +problem: + version: '0.4' + shape: + name: Conv1D_OC + dimensions: + - K + - R + - P + data_spaces: + - name: Weights + projection: + - - - K + - - - R + read_write: false + - name: Inputs + projection: + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - K + - - - P + read_write: true + coefficients: [] + instance: + K: 32 + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: [] +mapper: + version: '0.4' + optimization_metric: + - delay + - energy + num_threads: 1 + algorithm: linear_pruned + victory_condition: 0 + timeout: 0 + out_prefix: timeloop-mapper + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..9cb5b2d5 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.ART.yaml @@ -0,0 +1,11 @@ +ART: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + - name: System_top_level.RegisterFile[1..1] + area: 887.84 + - name: System_top_level.MACC[1..1] + area: 332.25 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..63fcc26f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,15 @@ +ART_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: System_top_level.RegisterFile[1..1] + area: 887.84 + primitive_estimations: Aladdin_table + - name: System_top_level.MACC[1..1] + area: 332.25 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..60cf462c --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.ERT.yaml @@ -0,0 +1,76 @@ +ERT: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.353054 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.007972 + - name: System_top_level.RegisterFile[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.000861 + - name: System_top_level.MACC[1..1] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..2fcba9d8 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,49 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + energy: 2048.0 + - name: read + energy: 2048.0 + - name: write + energy: 2048.0 + - name: leak + energy: 0.0 + primitive_estimation(s): + - name: System_top_level.MainMemory[1..1] + estimator: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: update + energy: 30.878292 + - name: read + energy: 43.353054 + - name: write + energy: 30.878292 + - name: leak + energy: 0.007972 + primitive_estimation(s): + - name: System_top_level.GlobalBuffer[1..1] + estimator: CactiSRAM + - name: System_top_level.RegisterFile[1..1] + actions: + - name: update + energy: 0.42564 + - name: read + energy: 0.42564 + - name: write + energy: 0.42564 + - name: leak + energy: 0.000861 + primitive_estimation(s): + - name: System_top_level.RegisterFile[1..1] + estimator: Aladdin_table + - name: System_top_level.MACC[1..1] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: System_top_level.MACC[1..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..d09c92af --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,103 @@ +architecture: + version: '0.4' + local: + - name: System_top_level.MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.RegisterFile[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..441cac7d --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,9 @@ +t2 +K 1 R 1 P 1 +P +t1 +K 16 R 1 P 16 +PK +t0 +K 2 R 3 P 1 +KR diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.oaves.csv b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/baked/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/parsed-processed-input.yaml new file mode 100644 index 00000000..05ccdb89 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/parsed-processed-input.yaml @@ -0,0 +1,176 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: System_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: RegisterFile[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - target: MainMemory + type: temporal + factors: R=1,P=1,K=1 + permutation: PRK + - target: GlobalBuffer + type: temporal + factors: R=1,P=16,K=16 + permutation: PRK + - target: RegisterFile + type: temporal + factors: R=3,P=1,K=2 + permutation: RPK +problem: + version: '0.4' + shape: + name: Conv1D_OC + dimensions: + - K + - R + - P + data_spaces: + - name: Weights + projection: + - - - K + - - - R + read_write: false + - name: Inputs + projection: + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - K + - - - P + read_write: true + coefficients: [] + instance: + K: 32 + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: [] +mapper: + version: '0.4' + optimization_metric: + - delay + - energy + num_threads: 1 + algorithm: linear_pruned + victory_condition: 0 + timeout: 0 + out_prefix: timeloop-mapper + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..9cb5b2d5 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.ART.yaml @@ -0,0 +1,11 @@ +ART: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + - name: System_top_level.RegisterFile[1..1] + area: 887.84 + - name: System_top_level.MACC[1..1] + area: 332.25 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..63fcc26f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,15 @@ +ART_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: System_top_level.RegisterFile[1..1] + area: 887.84 + primitive_estimations: Aladdin_table + - name: System_top_level.MACC[1..1] + area: 332.25 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..60cf462c --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.ERT.yaml @@ -0,0 +1,76 @@ +ERT: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.353054 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.007972 + - name: System_top_level.RegisterFile[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.000861 + - name: System_top_level.MACC[1..1] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..2fcba9d8 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,49 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + energy: 2048.0 + - name: read + energy: 2048.0 + - name: write + energy: 2048.0 + - name: leak + energy: 0.0 + primitive_estimation(s): + - name: System_top_level.MainMemory[1..1] + estimator: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: update + energy: 30.878292 + - name: read + energy: 43.353054 + - name: write + energy: 30.878292 + - name: leak + energy: 0.007972 + primitive_estimation(s): + - name: System_top_level.GlobalBuffer[1..1] + estimator: CactiSRAM + - name: System_top_level.RegisterFile[1..1] + actions: + - name: update + energy: 0.42564 + - name: read + energy: 0.42564 + - name: write + energy: 0.42564 + - name: leak + energy: 0.000861 + primitive_estimation(s): + - name: System_top_level.RegisterFile[1..1] + estimator: Aladdin_table + - name: System_top_level.MACC[1..1] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: System_top_level.MACC[1..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..d09c92af --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,103 @@ +architecture: + version: '0.4' + local: + - name: System_top_level.MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.RegisterFile[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..6e3aef9e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,11 @@ +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +K 1 R 1 P 1 +P +t1 +K 16 R 1 P 16 +PK +t0 +K 2 R 3 P 1 +KR diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.oaves.csv b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/freebypass/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/parsed-processed-input.yaml new file mode 100644 index 00000000..91b03edc --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/parsed-processed-input.yaml @@ -0,0 +1,164 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: System_top_level + attributes: + version: '0.4' + technology: "40nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: RegisterFile[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + shape: + name: Conv1D_OC + dimensions: + - K + - R + - P + data_spaces: + - name: Weights + projection: + - - - K + - - - R + read_write: false + - name: Inputs + projection: + - - - R + - - P + read_write: false + - name: Outputs + projection: + - - - K + - - - P + read_write: true + coefficients: [] + instance: + K: 32 + R: 3 + P: 16 + densities: {} +compound_components: + version: '0.4' + classes: [] +mapping: [] +mapper: + version: '0.4' + optimization_metric: + - delay + - energy + num_threads: 1 + algorithm: linear_pruned + victory_condition: 0 + timeout: 0 + out_prefix: timeloop-mapper + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..9cb5b2d5 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.ART.yaml @@ -0,0 +1,11 @@ +ART: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + - name: System_top_level.RegisterFile[1..1] + area: 887.84 + - name: System_top_level.MACC[1..1] + area: 332.25 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..63fcc26f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,15 @@ +ART_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + area: 707084.0 + primitive_estimations: CactiSRAM + - name: System_top_level.RegisterFile[1..1] + area: 887.84 + primitive_estimations: Aladdin_table + - name: System_top_level.MACC[1..1] + area: 332.25 + primitive_estimations: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..60cf462c --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.ERT.yaml @@ -0,0 +1,76 @@ +ERT: + version: '0.4' + tables: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 2048.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 43.353054 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 30.878292 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.007972 + - name: System_top_level.RegisterFile[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.42564 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.000861 + - name: System_top_level.MACC[1..1] + actions: + - name: compute + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.845 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..2fcba9d8 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,49 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: System_top_level.MainMemory[1..1] + actions: + - name: update + energy: 2048.0 + - name: read + energy: 2048.0 + - name: write + energy: 2048.0 + - name: leak + energy: 0.0 + primitive_estimation(s): + - name: System_top_level.MainMemory[1..1] + estimator: CactiDRAM + - name: System_top_level.GlobalBuffer[1..1] + actions: + - name: update + energy: 30.878292 + - name: read + energy: 43.353054 + - name: write + energy: 30.878292 + - name: leak + energy: 0.007972 + primitive_estimation(s): + - name: System_top_level.GlobalBuffer[1..1] + estimator: CactiSRAM + - name: System_top_level.RegisterFile[1..1] + actions: + - name: update + energy: 0.42564 + - name: read + energy: 0.42564 + - name: write + energy: 0.42564 + - name: leak + energy: 0.000861 + primitive_estimation(s): + - name: System_top_level.RegisterFile[1..1] + estimator: Aladdin_table + - name: System_top_level.MACC[1..1] + actions: + - name: compute + energy: 0.845 + primitive_estimation(s): + - name: System_top_level.MACC[1..1] + estimator: Aladdin_table diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..d09c92af --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,103 @@ +architecture: + version: '0.4' + local: + - name: System_top_level.MainMemory[1..1] + class: DRAM + attributes: + width: 256 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.GlobalBuffer[1..1] + class: SRAM + attributes: + depth: 32768 + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.RegisterFile[1..1] + class: regfile + attributes: + depth: 64 + width: 8 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: System_top_level.MACC[1..1] + class: intmac + attributes: + width: 8 + has_power_gating: false + meshX: 1 + meshY: 1 + technology: "40nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..b25580ae --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,15 @@ +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +K 1 R 1 P 1 +P +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +K 1 R 1 P 1 +P +t0 +K 32 R 3 P 16 +KRP diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.oaves.csv b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/05-mapper-conv1d+oc-3level/ref-output/null/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/README.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/README.md new file mode 100644 index 00000000..cc5963c1 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/README.md @@ -0,0 +1,39 @@ +Exercise 6 +========== + +## Overview + +In this exercise, we present a set of detailed architecture and constraints specifications used to describe the Eyeriss accelerator architecture. The constraints include directives to model the _Row Stationary_ dataflow. We use a 7-deep loop nest representing a full Convolutional Neural Network layer as the input problem. We run the mapper on an example instance of the layer shape to find an optimal mapping on the Eyeriss architecture and derive performance, energy and other statistics from the execution. + +## Steps and Observations + +Take a look at the YAML files describing the problem, architecture, mapspace constraints and mapper configuration. +* The problem should be fairly straightforward to understand, but note the use of a new directive called `coefficients`, which are used to set up the _stride_ and _dilation_ parameters used in index calculation. +* The architecture is similar to that from exercise 4, with the following differences: + * There are 256 PEs instead of 16. + * Inside each PE is a set of 3 register files, one each for Weights, Inputs and Outputs. Bypass directives in the constraints are used to force each data-space into its designated register file. + * There is a `DummyBuffer` level between the GlobalBuffer and PEs. This is fake buffer with 0 size that bypasses all data. It is a simulation hack used to work around a temporary spatial-mapping limitation. +* The mapspace constraints may look daunting, but they follow the same rules as the constraints in the previous exercise and set up factor, permutation and bypass constraints for each temporal and spatial tiling level in the architecture. +* The mapper configuration contains a new flag called `live_status`. This triggers an ncurses-based UI screen that allows you to track the activity of all mapper threads. + +To run the exercise, type the following from the exercises/timeloop directory: +``` + python3 run_example.py 06 +``` + +The status screen shows the following per-thread statistics: +* Total mappings visited. +* Invalid mappings rejected (because of capacity violations or spatial fanout violations). +* Valid mappings evaluated. +* Consecutive invalid mappings rejected. +* Sub-optimal valid mappings evaluated since the last update of the optimal mapping. +* Stats for the optimal mapping seen thus far. + +The mapper terminates gracefully when any of the following conditions are met: +* Every mapping in the mapspace has been visited. +* Number of valid mappings evaluated >= `search_size`. +* Consecutive invalid mappings rejected >= `timeout`. +* Consecutive sub-optimal valid mappings evaluated >= `victory_condition`. +* SIGINT (Ctrl+C) is detected. + +Please experiment with the configuration files to get comfortable with the tool. We will have a combined Timeloop+Accelergy lab exercise based on this architecture after the Accelergy presentation. diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/arch/components/intmac.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/arch/components/intmac.yaml new file mode 100644 index 00000000..b96f4813 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/arch/components/intmac.yaml @@ -0,0 +1,32 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + + subcomponents: + - name: intadder + class: aladdin_adder + attributes: {width: adder_width} + + - name: intmultiplier + class: aladdin_adder + attributes: {width_a: multiplier_width, width_b: multiplier_width} + + actions: + - name: compute + subcomponents: + - name: intadder + actions: [{name: read}] + - name: intmultiplier + actions: [{name: read}] + - name: leak + subcomponents: + - name: intadder + actions: [{name: leak}] + - name: intmultiplier + actions: [{name: leak}] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/arch/components/regfile.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/arch/components/regfile.yaml new file mode 100644 index 00000000..006ce976 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/arch/components/regfile.yaml @@ -0,0 +1,45 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + + + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + + # We don't need to scale the address generators + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + + actions: + - &write_action + name: write + subcomponents: + - name: storage[1..width] + actions: [{name: write}] + - name: comparator[1..depth] + actions: [{name: compare}] + - name: read + subcomponents: + - name: storage[1..width] + actions: [{name: read}] + - name: comparator[1..depth] + actions: [{name: compare}] + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: [{name: leak, arguments: {global_cycle_seconds: global_cycle_seconds}}] + - name: comparator[1..depth] + actions: [{name: leak, arguments: {global_cycle_seconds: global_cycle_seconds}}] + - name: update + << : *write_action # Update is the same as write \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/arch/components/smartbuffer_RF.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/arch/components/smartbuffer_RF.yaml new file mode 100644 index 00000000..0ed5d7d4 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/arch/components/smartbuffer_RF.yaml @@ -0,0 +1,63 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + # CACTI requires >= 4B wide and >= 64 entries deep + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + + area_scale: widthscale * depthscale + # CACTI scaling: 2x depth --> 1.56x dynamic power + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale # Leakage proportional to area + n_rdwr_ports: 1 # Can be overwridden + global_cycle_seconds: "must_specify" + + + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + + # We don't need to scale the address generators + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + + actions: + - &write_action + name: write + subcomponents: + - name: storage + actions: [{name: write, energy_scale: dynamic_energy_scale}] + - name: address_generators[0] + actions: [{name: add}] + - name: read + subcomponents: + - name: storage + actions: [{name: read, energy_scale: dynamic_energy_scale}] + - name: address_generators[1] + actions: [{name: add}] + - name: leak + subcomponents: + - name: storage + actions: [{name: leak, energy_scale: static_energy_scale}] + - name: address_generators[0..1] + actions: [{name: leak}] + - name: update + << : *write_action # Update is the same as write \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/arch/components/smartbuffer_SRAM.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/arch/components/smartbuffer_SRAM.yaml new file mode 100644 index 00000000..33069be6 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/arch/components/smartbuffer_SRAM.yaml @@ -0,0 +1,63 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + # CACTI requires >= 4B wide and >= 64 entries deep + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + + area_scale: widthscale * depthscale + # CACTI scaling: 2x depth --> 1.56x dynamic power + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale # Leakage proportional to area + n_rdwr_ports: 1 # Can be overwridden + global_cycle_seconds: "must_specify" + + + subcomponents: + - name: storage + class: SRAM + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + + # We don't need to scale the address generators + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + + actions: + - &write_action + name: write + subcomponents: + - name: storage + actions: [{name: write, energy_scale: dynamic_energy_scale}] + - name: address_generators[0] + actions: [{name: add}] + - name: read + subcomponents: + - name: storage + actions: [{name: read, energy_scale: dynamic_energy_scale}] + - name: address_generators[1] + actions: [{name: add}] + - name: leak + subcomponents: + - name: storage + actions: [{name: leak, energy_scale: static_energy_scale}] + - name: address_generators[0..1] + actions: [{name: leak}] + - name: update + << : *write_action # Update is the same as write \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/arch/eyeriss_like.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/arch/eyeriss_like.yaml new file mode 100644 index 00000000..3528b423 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/arch/eyeriss_like.yaml @@ -0,0 +1,108 @@ +architecture: + # ============================================================ + # Architecture Description + # ============================================================ + version: 0.4 + nodes: # Top-level is hierarchical + - !Container # Top-level system + name: system + attributes: + technology: "32nm" + global_cycle_seconds: 1e-9 + + - !Component # DRAM main memory + name: DRAM + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + depth: 1048576 + - !Container # Eyeriss accelerator + name: eyeriss + + - !Component # Global buffer for inputs & outputs + name: shared_glb + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + constraints: + dataspace: {keep: [Inputs, Outputs], bypass: [Weights]} + + - !Container # Each column of PEs produces a different psum row + name: PE_column + spatial: {meshX: 14} + constraints: + spatial: + permutation: [N, C, P, R, S, Q, M] + factors: [N=1, C=1, P=1, R=1, S=1] + split: 7 + + - !Container # Each PE in the column receives a different filter row + name: PE + spatial: {meshY: 12} + constraints: + spatial: + split: 4 + permutation: [N, P, Q, R, S, C, M] + factors: [N=1, P=1, Q=1, R=1] + + - !Parallel # Input/Output/Weight scratchpads in parallel + nodes: + - !Component # Input scratchpad + name: ifmap_spad + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + constraints: + dataspace: {keep: [Inputs]} + temporal: + permutation: [N, M, C, P, Q, R, S] + factors: [N=1, M=1, C=1, P=1, Q=1, R=1, S=1] + + - !Component # Weight scratchpad + name: weights_spad + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + constraints: + dataspace: {keep: [Weights]} + temporal: + permutation: [N, M, P, Q, S, C, R] + factors: [N=1, M=1, P=1, Q=1, S=1] + + - !Component # Output scratchpad + name: psum_spad + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + constraints: + dataspace: {keep: [Outputs]} + temporal: + permutation: [N, C, P, Q, R, S, M] + factors: [N=1, C=1, R=1, S=1, P=1, Q=1] + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/mapper/mapper.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/mapper/mapper.yaml new file mode 100644 index 00000000..00f6b69f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/mapper/mapper.yaml @@ -0,0 +1,9 @@ +mapper: + version: 0.4 + optimization_metrics: [ delay, energy ] + live_status: False + num_threads: 8 + timeout: 15000 + victory_condition: 500 + algorithm: random_pruned + max_permutations_per_if_visit: 16 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/parsed-processed-input.yaml new file mode 100644 index 00000000..b507267e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/parsed-processed-input.yaml @@ -0,0 +1,592 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "32nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + depth: 1048576 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - write + - update + - leak + - read + enabled: true + - name: shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - write + - update + - leak + - read + enabled: true + - name: inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-9 + power_gated_at: null + enabled: true + - name: inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + global_cycle_seconds: 1e-9 + power_gated_at: null + enabled: true + - name: ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - write + - update + - leak + - read + enabled: true + - name: weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - write + - update + - leak + - read + enabled: true + - name: psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - write + - update + - leak + - read + enabled: true + - name: mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - type: temporal + permutation: N + target: DRAM + - keep: + - Inputs + - Outputs + bypass: + - Weights + type: bypass + target: shared_glb + - type: temporal + permutation: N + target: shared_glb + - type: spatial + factors: N=1,C=1,P=1,R=1,S=1 + permutation: NCPRSQM + split: 7 + target: inter_PE_column_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_column_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_column_spatial + - type: spatial + factors: N=1,P=1,Q=1,R=1 + permutation: NPQRSCM + split: 4 + target: inter_PE_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - keep: + - Inputs + type: bypass + bypass: + - Outputs + - Weights + target: ifmap_spad + - permutation: NMCPQRS + factors: N=1,M=1,C=1,P=1,Q=1,R=1,S=1 + type: temporal + target: ifmap_spad + - keep: + - Weights + type: bypass + bypass: + - Outputs + - Inputs + target: weights_spad + - permutation: NMPQSCR + factors: N=1,M=1,P=1,Q=1,S=1 + type: temporal + target: weights_spad + - keep: + - Outputs + type: bypass + bypass: + - Weights + - Inputs + target: psum_spad + - permutation: NCPQRSM + factors: N=1,C=1,R=1,S=1,P=1,Q=1 + type: temporal + target: psum_spad +problem: + version: '0.4' + instance: + C: 128 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 56 + Q: 56 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + densities: {} + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + read_write: false + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + read_write: false + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +mapper: + optimization_metrics: + - delay + - energy + version: '0.4' + live_status: false + num_threads: 8 + timeout: 15000 + victory_condition: 500 + algorithm: random_pruned + max_permutations_per_if_visit: 16 + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..0c904bbb --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.ART.yaml @@ -0,0 +1,19 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + area: 0.0 + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + - name: system_top_level.shared_glb[1..1] + area: 217363.0 + - name: system_top_level.ifmap_spad[1..168] + area: 1270.75 + - name: system_top_level.weights_spad[1..168] + area: 20002.6 + - name: system_top_level.psum_spad[1..168] + area: 1686.49 + - name: system_top_level.mac[1..168] + area: 330.392 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..6d89e0ad --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,53 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + primitive_estimations: dummy + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + primitive_estimations: dummy + - name: system_top_level.shared_glb[1..1] + area: 217363.0 + primitive_estimations: + - name: storage + estimator: CactiSRAM + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + area: 1270.75 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + area: 20002.6 + primitive_estimations: + - name: storage.storage[1..6144] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + area: 1686.49 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + area: 330.392 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..98fc39d0 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.ERT.yaml @@ -0,0 +1,89 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + actions: + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + arguments: {} + energy: 14.1379 + - name: read + arguments: {} + energy: 18.1838 + - name: leak + arguments: {} + energy: 0.00565154 + - name: update + arguments: {} + energy: 14.1379 + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.221404 + - name: read + arguments: {} + energy: 0.253957 + - name: leak + arguments: {} + energy: 0.000127419 + - name: update + arguments: {} + energy: 0.221404 + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + arguments: {} + energy: 2.37642 + - name: read + arguments: {} + energy: 2.49655 + - name: leak + arguments: {} + energy: 0.00201372 + - name: update + arguments: {} + energy: 2.37642 + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.275033 + - name: read + arguments: {} + energy: 0.315775 + - name: leak + arguments: {} + energy: 0.000169297 + - name: update + arguments: {} + energy: 0.275033 + - name: system_top_level.mac[1..168] + actions: + - name: compute + arguments: {} + energy: 0.262781 + - name: leak + arguments: {} + energy: 0.00300321 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..2b44a84f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,115 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + actions: + - name: write + energy: 512.0 + - name: update + energy: 512.0 + - name: leak + energy: 0.0 + - name: read + energy: 512.0 + primitive_estimation(s): + - name: system_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + energy: 14.1379 + - name: read + energy: 18.1838 + - name: leak + energy: 0.00565154 + - name: update + energy: 14.1379 + primitive_estimation(s): + - name: storage + estimator: CactiSRAM + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + energy: 0.221404 + - name: read + energy: 0.253957 + - name: leak + energy: 0.000127419 + - name: update + energy: 0.221404 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + energy: 2.37642 + - name: read + energy: 2.49655 + - name: leak + energy: 0.00201372 + - name: update + energy: 2.37642 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..6144] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + energy: 0.275033 + - name: read + energy: 0.315775 + - name: leak + energy: 0.000169297 + - name: update + energy: 0.275033 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + actions: + - name: compute + energy: 0.262781 + - name: leak + energy: 0.00300321 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..8b3070f8 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,269 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + depth: 1048576 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - write + - update + - leak + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 64 + memory_depth: 16384 + widthscale: 1.0 + depthscale: 1.0 + real_depth: 16384 + area_scale: 1.0 + dynamic_energy_scale: 1.0 + static_energy_scale: 1.0 + n_rdwr_ports: 1 + required_actions: + - write + - update + - leak + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.1875 + real_depth: 12 + area_scale: 0.09375 + dynamic_energy_scale: 0.1354911710963393 + static_energy_scale: 0.09375 + n_rdwr_ports: 1 + required_actions: + - write + - update + - leak + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 192 + widthscale: 0.5 + depthscale: 1.0 + real_depth: 192 + area_scale: 0.5 + dynamic_energy_scale: 0.5 + static_energy_scale: 0.5 + n_rdwr_ports: 1 + required_actions: + - write + - update + - leak + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.25 + real_depth: 16 + area_scale: 0.125 + dynamic_energy_scale: 0.16957554093095897 + static_energy_scale: 0.125 + n_rdwr_ports: 1 + required_actions: + - write + - update + - leak + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true + area_scale: 1.0 + energy_scale: 1.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.map.tensella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.map.tensella.txt new file mode 100644 index 00000000..e25ce5cb --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.map.tensella.txt @@ -0,0 +1,42 @@ +#error Tenssella does not support bypass. +t6 +C 128 M 1 R 1 S 1 N 1 P 4 Q 4 +CPQ +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t5 +C 1 M 8 R 1 S 1 N 1 P 14 Q 7 +PQM +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s4 +C 1 M 4 R 1 S 1 N 1 P 1 Q 2 +QM +7 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s3 +C 1 M 4 R 1 S 3 N 1 P 1 Q 1 +SM +5 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +C 1 M 1 R 3 S 1 N 1 P 1 Q 1 +R +t0 +C 1 M 2 R 1 S 1 N 1 P 1 Q 1 +M diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.orojenesis.csv b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/output/timeloop-mapper.orojenesis.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/prob/VGG02_layer5.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/prob/VGG02_layer5.yaml new file mode 100644 index 00000000..ad835e64 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/prob/VGG02_layer5.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 128 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 56 + Q: 56 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/parsed-processed-input.yaml new file mode 100644 index 00000000..3600d9ea --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/parsed-processed-input.yaml @@ -0,0 +1,591 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "32nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-9 + power_gated_at: null + enabled: true + - name: inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + global_cycle_seconds: 1e-9 + power_gated_at: null + enabled: true + - name: ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - type: temporal + permutation: N + target: DRAM + - keep: + - Inputs + - Outputs + bypass: + - Weights + type: bypass + target: shared_glb + - type: temporal + permutation: N + target: shared_glb + - type: spatial + factors: N=1,C=1,P=1,R=1,S=1 + permutation: NCPRSQM + split: 7 + target: inter_PE_column_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_column_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_column_spatial + - type: spatial + factors: N=1,P=1,Q=1,R=1 + permutation: NPQRSCM + split: 4 + target: inter_PE_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - keep: + - Inputs + type: bypass + bypass: + - Outputs + - Weights + target: ifmap_spad + - permutation: NMCPQRS + factors: N=1,M=1,C=1,P=1,Q=1,R=1,S=1 + type: temporal + target: ifmap_spad + - keep: + - Weights + type: bypass + bypass: + - Outputs + - Inputs + target: weights_spad + - permutation: NMPQSCR + factors: N=1,M=1,P=1,Q=1,S=1 + type: temporal + target: weights_spad + - keep: + - Outputs + type: bypass + bypass: + - Weights + - Inputs + target: psum_spad + - permutation: NCPQRSM + factors: N=1,C=1,R=1,S=1,P=1,Q=1 + type: temporal + target: psum_spad +problem: + version: '0.4' + instance: + C: 128 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 56 + Q: 56 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + densities: {} + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + read_write: false + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + read_write: false + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +mapper: + optimization_metrics: + - delay + - energy + version: '0.4' + live_status: false + num_threads: 8 + timeout: 15000 + victory_condition: 500 + algorithm: random_pruned + max_permutations_per_if_visit: 16 + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..3abe0818 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.ART.yaml @@ -0,0 +1,19 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + area: 0.0 + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + - name: system_top_level.shared_glb[1..1] + area: 217363.36892 + - name: system_top_level.ifmap_spad[1..168] + area: 70.091961 + - name: system_top_level.weights_spad[1..168] + area: 5816.44278 + - name: system_top_level.psum_spad[1..168] + area: 123.627348 + - name: system_top_level.mac[1..168] + area: 191.82 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..4ab3cd6a --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,53 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.shared_glb[1..1] + area: 217363.36892 + primitive_estimations: + - name: storage + estimator: CactiSRAM + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + area: 70.091961 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + area: 5816.44278 + primitive_estimations: + - name: storage.storage[1..6144] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + area: 123.627348 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + area: 191.82 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..805cd7b5 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.ERT.yaml @@ -0,0 +1,89 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + arguments: {} + energy: 14.137929 + - name: read + arguments: {} + energy: 18.183829 + - name: leak + arguments: {} + energy: 0.005652 + - name: update + arguments: {} + energy: 14.137929 + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.176713 + - name: read + arguments: {} + energy: 0.202442 + - name: leak + arguments: {} + energy: 0.000101 + - name: update + arguments: {} + energy: 0.176713 + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + arguments: {} + energy: 1.881657 + - name: read + arguments: {} + energy: 1.976602 + - name: leak + arguments: {} + energy: 0.001592 + - name: update + arguments: {} + energy: 1.881657 + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.2191 + - name: read + arguments: {} + energy: 0.2513 + - name: leak + arguments: {} + energy: 0.000134 + - name: update + arguments: {} + energy: 0.2191 + - name: system_top_level.mac[1..168] + actions: + - name: compute + arguments: {} + energy: 0.207692 + - name: leak + arguments: {} + energy: 0.002374 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..c657ad36 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,115 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + actions: + - name: update + energy: 512.0 + - name: read + energy: 512.0 + - name: write + energy: 512.0 + - name: leak + energy: 0.0 + primitive_estimation(s): + - name: system_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + energy: 14.137929 + - name: read + energy: 18.183829 + - name: leak + energy: 0.005652 + - name: update + energy: 14.137929 + primitive_estimation(s): + - name: storage + estimator: CactiSRAM + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + energy: 0.176713 + - name: read + energy: 0.202442 + - name: leak + energy: 0.000101 + - name: update + energy: 0.176713 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + energy: 1.881657 + - name: read + energy: 1.976602 + - name: leak + energy: 0.001592 + - name: update + energy: 1.881657 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..6144] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + energy: 0.2191 + - name: read + energy: 0.2513 + - name: leak + energy: 0.000134 + - name: update + energy: 0.2191 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + actions: + - name: compute + energy: 0.207692 + - name: leak + energy: 0.002374 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..ece40ad8 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,252 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 64 + memory_depth: 16384 + widthscale: 1.0 + depthscale: 1.0 + real_depth: 16384 + area_scale: 1.0 + dynamic_energy_scale: 1.0 + static_energy_scale: 1.0 + n_rdwr_ports: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.1875 + real_depth: 12 + area_scale: 0.09375 + dynamic_energy_scale: 0.1354911710963393 + static_energy_scale: 0.09375 + n_rdwr_ports: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 192 + widthscale: 0.5 + depthscale: 1.0 + real_depth: 192 + area_scale: 0.5 + dynamic_energy_scale: 0.5 + static_energy_scale: 0.5 + n_rdwr_ports: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.25 + real_depth: 16 + area_scale: 0.125 + dynamic_energy_scale: 0.16957554093095897 + static_energy_scale: 0.125 + n_rdwr_ports: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..6aa52069 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,42 @@ +#error Tenssella does not support bypass. +t6 +C 4 M 4 R 1 S 1 N 1 P 7 Q 4 +MPCQ +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t5 +C 4 M 2 R 1 S 1 N 1 P 8 Q 1 +PCM +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 14 +Q +7 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s3 +C 1 M 4 R 1 S 3 N 1 P 1 Q 1 +SM +5 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +C 8 M 1 R 3 S 1 N 1 P 1 Q 1 +CR +t0 +C 1 M 8 R 1 S 1 N 1 P 1 Q 1 +M diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.oaves.csv b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-mapper-convlayer-eyeriss/ref-output/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/README.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/README.md new file mode 100644 index 00000000..cc5963c1 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/README.md @@ -0,0 +1,39 @@ +Exercise 6 +========== + +## Overview + +In this exercise, we present a set of detailed architecture and constraints specifications used to describe the Eyeriss accelerator architecture. The constraints include directives to model the _Row Stationary_ dataflow. We use a 7-deep loop nest representing a full Convolutional Neural Network layer as the input problem. We run the mapper on an example instance of the layer shape to find an optimal mapping on the Eyeriss architecture and derive performance, energy and other statistics from the execution. + +## Steps and Observations + +Take a look at the YAML files describing the problem, architecture, mapspace constraints and mapper configuration. +* The problem should be fairly straightforward to understand, but note the use of a new directive called `coefficients`, which are used to set up the _stride_ and _dilation_ parameters used in index calculation. +* The architecture is similar to that from exercise 4, with the following differences: + * There are 256 PEs instead of 16. + * Inside each PE is a set of 3 register files, one each for Weights, Inputs and Outputs. Bypass directives in the constraints are used to force each data-space into its designated register file. + * There is a `DummyBuffer` level between the GlobalBuffer and PEs. This is fake buffer with 0 size that bypasses all data. It is a simulation hack used to work around a temporary spatial-mapping limitation. +* The mapspace constraints may look daunting, but they follow the same rules as the constraints in the previous exercise and set up factor, permutation and bypass constraints for each temporal and spatial tiling level in the architecture. +* The mapper configuration contains a new flag called `live_status`. This triggers an ncurses-based UI screen that allows you to track the activity of all mapper threads. + +To run the exercise, type the following from the exercises/timeloop directory: +``` + python3 run_example.py 06 +``` + +The status screen shows the following per-thread statistics: +* Total mappings visited. +* Invalid mappings rejected (because of capacity violations or spatial fanout violations). +* Valid mappings evaluated. +* Consecutive invalid mappings rejected. +* Sub-optimal valid mappings evaluated since the last update of the optimal mapping. +* Stats for the optimal mapping seen thus far. + +The mapper terminates gracefully when any of the following conditions are met: +* Every mapping in the mapspace has been visited. +* Number of valid mappings evaluated >= `search_size`. +* Consecutive invalid mappings rejected >= `timeout`. +* Consecutive sub-optimal valid mappings evaluated >= `victory_condition`. +* SIGINT (Ctrl+C) is detected. + +Please experiment with the configuration files to get comfortable with the tool. We will have a combined Timeloop+Accelergy lab exercise based on this architecture after the Accelergy presentation. diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/arch/components/intmac.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/arch/components/intmac.yaml new file mode 100644 index 00000000..b96f4813 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/arch/components/intmac.yaml @@ -0,0 +1,32 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + + subcomponents: + - name: intadder + class: aladdin_adder + attributes: {width: adder_width} + + - name: intmultiplier + class: aladdin_adder + attributes: {width_a: multiplier_width, width_b: multiplier_width} + + actions: + - name: compute + subcomponents: + - name: intadder + actions: [{name: read}] + - name: intmultiplier + actions: [{name: read}] + - name: leak + subcomponents: + - name: intadder + actions: [{name: leak}] + - name: intmultiplier + actions: [{name: leak}] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/arch/components/regfile.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/arch/components/regfile.yaml new file mode 100644 index 00000000..006ce976 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/arch/components/regfile.yaml @@ -0,0 +1,45 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + + + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + + # We don't need to scale the address generators + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + + actions: + - &write_action + name: write + subcomponents: + - name: storage[1..width] + actions: [{name: write}] + - name: comparator[1..depth] + actions: [{name: compare}] + - name: read + subcomponents: + - name: storage[1..width] + actions: [{name: read}] + - name: comparator[1..depth] + actions: [{name: compare}] + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: [{name: leak, arguments: {global_cycle_seconds: global_cycle_seconds}}] + - name: comparator[1..depth] + actions: [{name: leak, arguments: {global_cycle_seconds: global_cycle_seconds}}] + - name: update + << : *write_action # Update is the same as write \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/arch/components/smartbuffer_RF.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/arch/components/smartbuffer_RF.yaml new file mode 100644 index 00000000..0ed5d7d4 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/arch/components/smartbuffer_RF.yaml @@ -0,0 +1,63 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + # CACTI requires >= 4B wide and >= 64 entries deep + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + + area_scale: widthscale * depthscale + # CACTI scaling: 2x depth --> 1.56x dynamic power + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale # Leakage proportional to area + n_rdwr_ports: 1 # Can be overwridden + global_cycle_seconds: "must_specify" + + + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + + # We don't need to scale the address generators + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + + actions: + - &write_action + name: write + subcomponents: + - name: storage + actions: [{name: write, energy_scale: dynamic_energy_scale}] + - name: address_generators[0] + actions: [{name: add}] + - name: read + subcomponents: + - name: storage + actions: [{name: read, energy_scale: dynamic_energy_scale}] + - name: address_generators[1] + actions: [{name: add}] + - name: leak + subcomponents: + - name: storage + actions: [{name: leak, energy_scale: static_energy_scale}] + - name: address_generators[0..1] + actions: [{name: leak}] + - name: update + << : *write_action # Update is the same as write \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/arch/components/smartbuffer_SRAM.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/arch/components/smartbuffer_SRAM.yaml new file mode 100644 index 00000000..33069be6 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/arch/components/smartbuffer_SRAM.yaml @@ -0,0 +1,63 @@ +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + # CACTI requires >= 4B wide and >= 64 entries deep + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + + area_scale: widthscale * depthscale + # CACTI scaling: 2x depth --> 1.56x dynamic power + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale # Leakage proportional to area + n_rdwr_ports: 1 # Can be overwridden + global_cycle_seconds: "must_specify" + + + subcomponents: + - name: storage + class: SRAM + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + + # We don't need to scale the address generators + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + global_cycle_seconds: global_cycle_seconds + + actions: + - &write_action + name: write + subcomponents: + - name: storage + actions: [{name: write, energy_scale: dynamic_energy_scale}] + - name: address_generators[0] + actions: [{name: add}] + - name: read + subcomponents: + - name: storage + actions: [{name: read, energy_scale: dynamic_energy_scale}] + - name: address_generators[1] + actions: [{name: add}] + - name: leak + subcomponents: + - name: storage + actions: [{name: leak, energy_scale: static_energy_scale}] + - name: address_generators[0..1] + actions: [{name: leak}] + - name: update + << : *write_action # Update is the same as write \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/arch/eyeriss_like.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/arch/eyeriss_like.yaml new file mode 100644 index 00000000..a5fe2eef --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/arch/eyeriss_like.yaml @@ -0,0 +1,81 @@ +architecture: + # ============================================================ + # Architecture Description + # ============================================================ + version: 0.4 + nodes: # Top-level is hierarchical + - !Container # Top-level system + name: system + attributes: + technology: "32nm" + global_cycle_seconds: 1e-9 + + - !Component # DRAM main memory + name: DRAM + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + depth: 1048576 + - !Container # Eyeriss accelerator + name: eyeriss + + - !Component # Global buffer for inputs & outputs + name: shared_glb + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + + - !Container # Each column of PEs produces a different psum row + name: PE_column + spatial: {meshX: 14} + + - !Container # Each PE in the column receives a different filter row + name: PE + spatial: {meshY: 12} + + - !Parallel # Input/Output/Weight scratchpads in parallel + nodes: + - !Component # Input scratchpad + name: ifmap_spad + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + + - !Component # Weight scratchpad + name: weights_spad + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + + - !Component # Output scratchpad + name: psum_spad + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/parsed-processed-input.yaml new file mode 100644 index 00000000..a22bdd0b --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/parsed-processed-input.yaml @@ -0,0 +1,597 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "32nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + depth: 1048576 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - leak + - write + - read + - update + enabled: true + - name: shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - leak + - write + - read + - update + enabled: true + - name: inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-9 + power_gated_at: null + enabled: true + - name: inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + global_cycle_seconds: 1e-9 + power_gated_at: null + enabled: true + - name: ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - leak + - write + - read + - update + enabled: true + - name: weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - leak + - write + - read + - update + enabled: true + - name: psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - leak + - write + - read + - update + enabled: true + - name: mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: [] +problem: + version: '0.4' + instance: + C: 128 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 56 + Q: 56 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + densities: {} + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + read_write: false + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + read_write: false + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: + - target: DRAM + type: temporal + factors: C=4,M=4,R=1,S=1,N=1,P=7,Q=4 + permutation: MPCQRSN + - target: DRAM + type: bypass + keep: + - Weights + - Inputs + - Outputs + - target: shared_glb + type: temporal + factors: C=4,M=2,R=1,S=1,N=1,P=8,Q=1 + permutation: PCMRSNQ + - target: shared_glb + type: bypass + keep: + - Inputs + - Outputs + bypass: + - Weights + - type: spatial + target: inter_PE_column_spatial + factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=14 + permutation: QCMRSNP + split: 1 + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_column_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_column_spatial + - type: spatial + target: inter_PE_spatial + factors: C=1,M=4,R=1,S=3,N=1,P=1,Q=1 + permutation: SMCRNPQ + split: 0 + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - target: ifmap_spad + type: temporal + factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + - target: ifmap_spad + type: bypass + keep: + - Inputs + bypass: + - Weights + - Outputs + - target: weights_spad + type: temporal + factors: C=8,M=1,R=3,S=1,N=1,P=1,Q=1 + permutation: CRMSNPQ + - target: weights_spad + type: bypass + keep: + - Weights + bypass: + - Inputs + - Outputs + - target: psum_spad + type: temporal + factors: C=1,M=8,R=1,S=1,N=1,P=1,Q=1 + permutation: MCRSNPQ + - target: psum_spad + type: bypass + keep: + - Outputs + bypass: + - Weights + - Inputs +mapper: + version: '0.4' + out_prefix: timeloop-mapper + num_threads: 8 + optimization_metric: [] + search_size: null + timeout: 1000 + victory_condition: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + live_status: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + algorithm: hybrid + filter_revisits: false + max_permutations_per_if_visit: 16 +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..0c904bbb --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.ART.yaml @@ -0,0 +1,19 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + area: 0.0 + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + - name: system_top_level.shared_glb[1..1] + area: 217363.0 + - name: system_top_level.ifmap_spad[1..168] + area: 1270.75 + - name: system_top_level.weights_spad[1..168] + area: 20002.6 + - name: system_top_level.psum_spad[1..168] + area: 1686.49 + - name: system_top_level.mac[1..168] + area: 330.392 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..6d89e0ad --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,53 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + primitive_estimations: dummy + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + primitive_estimations: dummy + - name: system_top_level.shared_glb[1..1] + area: 217363.0 + primitive_estimations: + - name: storage + estimator: CactiSRAM + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + area: 1270.75 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + area: 20002.6 + primitive_estimations: + - name: storage.storage[1..6144] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + area: 1686.49 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + area: 330.392 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..f82dc2be --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.ERT.yaml @@ -0,0 +1,89 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + actions: + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + arguments: {} + energy: 14.1379 + - name: read + arguments: {} + energy: 18.1838 + - name: leak + arguments: {} + energy: 0.00565154 + - name: update + arguments: {} + energy: 14.1379 + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.221404 + - name: read + arguments: {} + energy: 0.253957 + - name: leak + arguments: {} + energy: 0.000127419 + - name: update + arguments: {} + energy: 0.221404 + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + arguments: {} + energy: 2.37642 + - name: read + arguments: {} + energy: 2.49655 + - name: leak + arguments: {} + energy: 0.00201372 + - name: update + arguments: {} + energy: 2.37642 + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.275033 + - name: read + arguments: {} + energy: 0.315775 + - name: leak + arguments: {} + energy: 0.000169297 + - name: update + arguments: {} + energy: 0.275033 + - name: system_top_level.mac[1..168] + actions: + - name: compute + arguments: {} + energy: 0.262781 + - name: leak + arguments: {} + energy: 0.00300321 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..a27c6a5f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,115 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + actions: + - name: read + energy: 512.0 + - name: update + energy: 512.0 + - name: leak + energy: 0.0 + - name: write + energy: 512.0 + primitive_estimation(s): + - name: system_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + energy: 14.1379 + - name: read + energy: 18.1838 + - name: leak + energy: 0.00565154 + - name: update + energy: 14.1379 + primitive_estimation(s): + - name: storage + estimator: CactiSRAM + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + energy: 0.221404 + - name: read + energy: 0.253957 + - name: leak + energy: 0.000127419 + - name: update + energy: 0.221404 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + energy: 2.37642 + - name: read + energy: 2.49655 + - name: leak + energy: 0.00201372 + - name: update + energy: 2.37642 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..6144] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + energy: 0.275033 + - name: read + energy: 0.315775 + - name: leak + energy: 0.000169297 + - name: update + energy: 0.275033 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + actions: + - name: compute + energy: 0.262781 + - name: leak + energy: 0.00300321 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..b8100d9c --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,269 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + depth: 1048576 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 64 + memory_depth: 16384 + widthscale: 1.0 + depthscale: 1.0 + real_depth: 16384 + area_scale: 1.0 + dynamic_energy_scale: 1.0 + static_energy_scale: 1.0 + n_rdwr_ports: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.1875 + real_depth: 12 + area_scale: 0.09375 + dynamic_energy_scale: 0.1354911710963393 + static_energy_scale: 0.09375 + n_rdwr_ports: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 192 + widthscale: 0.5 + depthscale: 1.0 + real_depth: 192 + area_scale: 0.5 + dynamic_energy_scale: 0.5 + static_energy_scale: 0.5 + n_rdwr_ports: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.25 + real_depth: 16 + area_scale: 0.125 + dynamic_energy_scale: 0.16957554093095897 + static_energy_scale: 0.125 + n_rdwr_ports: 1 + required_actions: + - read + - update + - leak + - write + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true + area_scale: 1.0 + energy_scale: 1.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.map.tensella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.map.tensella.txt new file mode 100644 index 00000000..6aa52069 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.map.tensella.txt @@ -0,0 +1,42 @@ +#error Tenssella does not support bypass. +t6 +C 4 M 4 R 1 S 1 N 1 P 7 Q 4 +MPCQ +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t5 +C 4 M 2 R 1 S 1 N 1 P 8 Q 1 +PCM +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 14 +Q +7 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s3 +C 1 M 4 R 1 S 3 N 1 P 1 Q 1 +SM +5 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +C 8 M 1 R 3 S 1 N 1 P 1 Q 1 +CR +t0 +C 1 M 8 R 1 S 1 N 1 P 1 Q 1 +M diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.orojenesis.csv b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-mapper.orojenesis.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.ART.yaml new file mode 100644 index 00000000..0c904bbb --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.ART.yaml @@ -0,0 +1,19 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + area: 0.0 + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + - name: system_top_level.shared_glb[1..1] + area: 217363.0 + - name: system_top_level.ifmap_spad[1..168] + area: 1270.75 + - name: system_top_level.weights_spad[1..168] + area: 20002.6 + - name: system_top_level.psum_spad[1..168] + area: 1686.49 + - name: system_top_level.mac[1..168] + area: 330.392 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.ART_summary.yaml new file mode 100644 index 00000000..6d89e0ad --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.ART_summary.yaml @@ -0,0 +1,53 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + primitive_estimations: dummy + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + primitive_estimations: dummy + - name: system_top_level.shared_glb[1..1] + area: 217363.0 + primitive_estimations: + - name: storage + estimator: CactiSRAM + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + area: 1270.75 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + area: 20002.6 + primitive_estimations: + - name: storage.storage[1..6144] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + area: 1686.49 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + area: 330.392 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.ERT.yaml new file mode 100644 index 00000000..e00da4ca --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.ERT.yaml @@ -0,0 +1,89 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + arguments: {} + energy: 14.1379 + - name: read + arguments: {} + energy: 18.1838 + - name: leak + arguments: {} + energy: 0.00565154 + - name: update + arguments: {} + energy: 14.1379 + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.221404 + - name: read + arguments: {} + energy: 0.253957 + - name: leak + arguments: {} + energy: 0.000127419 + - name: update + arguments: {} + energy: 0.221404 + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + arguments: {} + energy: 2.37642 + - name: read + arguments: {} + energy: 2.49655 + - name: leak + arguments: {} + energy: 0.00201372 + - name: update + arguments: {} + energy: 2.37642 + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.275033 + - name: read + arguments: {} + energy: 0.315775 + - name: leak + arguments: {} + energy: 0.000169297 + - name: update + arguments: {} + energy: 0.275033 + - name: system_top_level.mac[1..168] + actions: + - name: compute + arguments: {} + energy: 0.262781 + - name: leak + arguments: {} + energy: 0.00300321 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.ERT_summary.yaml new file mode 100644 index 00000000..9c5e0c41 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.ERT_summary.yaml @@ -0,0 +1,115 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + actions: + - name: leak + energy: 0.0 + - name: write + energy: 512.0 + - name: read + energy: 512.0 + - name: update + energy: 512.0 + primitive_estimation(s): + - name: system_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + energy: 14.1379 + - name: read + energy: 18.1838 + - name: leak + energy: 0.00565154 + - name: update + energy: 14.1379 + primitive_estimation(s): + - name: storage + estimator: CactiSRAM + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + energy: 0.221404 + - name: read + energy: 0.253957 + - name: leak + energy: 0.000127419 + - name: update + energy: 0.221404 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + energy: 2.37642 + - name: read + energy: 2.49655 + - name: leak + energy: 0.00201372 + - name: update + energy: 2.37642 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..6144] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + energy: 0.275033 + - name: read + energy: 0.315775 + - name: leak + energy: 0.000169297 + - name: update + energy: 0.275033 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + actions: + - name: compute + energy: 0.262781 + - name: leak + energy: 0.00300321 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.flattened_architecture.yaml new file mode 100644 index 00000000..b4121e8e --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.flattened_architecture.yaml @@ -0,0 +1,269 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + depth: 1048576 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - write + - read + - update + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 64 + memory_depth: 16384 + widthscale: 1.0 + depthscale: 1.0 + real_depth: 16384 + area_scale: 1.0 + dynamic_energy_scale: 1.0 + static_energy_scale: 1.0 + n_rdwr_ports: 1 + required_actions: + - leak + - write + - read + - update + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.1875 + real_depth: 12 + area_scale: 0.09375 + dynamic_energy_scale: 0.1354911710963393 + static_energy_scale: 0.09375 + n_rdwr_ports: 1 + required_actions: + - leak + - write + - read + - update + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 192 + widthscale: 0.5 + depthscale: 1.0 + real_depth: 192 + area_scale: 0.5 + dynamic_energy_scale: 0.5 + static_energy_scale: 0.5 + n_rdwr_ports: 1 + required_actions: + - leak + - write + - read + - update + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.25 + real_depth: 16 + area_scale: 0.125 + dynamic_energy_scale: 0.16957554093095897 + static_energy_scale: 0.125 + n_rdwr_ports: 1 + required_actions: + - leak + - write + - read + - update + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true + area_scale: 1.0 + energy_scale: 1.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.map.tensella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.map.tensella.txt new file mode 100644 index 00000000..6aa52069 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/output/timeloop-model.map.tensella.txt @@ -0,0 +1,42 @@ +#error Tenssella does not support bypass. +t6 +C 4 M 4 R 1 S 1 N 1 P 7 Q 4 +MPCQ +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t5 +C 4 M 2 R 1 S 1 N 1 P 8 Q 1 +PCM +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 14 +Q +7 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s3 +C 1 M 4 R 1 S 3 N 1 P 1 Q 1 +SM +5 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +C 8 M 1 R 3 S 1 N 1 P 1 Q 1 +CR +t0 +C 1 M 8 R 1 S 1 N 1 P 1 Q 1 +M diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/prob/VGG02_layer5.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/prob/VGG02_layer5.yaml new file mode 100644 index 00000000..ad835e64 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/prob/VGG02_layer5.yaml @@ -0,0 +1,59 @@ +problem: + version: 0.4 + instance: + C: 128 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 56 + Q: 56 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/parsed-processed-input.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/parsed-processed-input.yaml new file mode 100644 index 00000000..3600d9ea --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/parsed-processed-input.yaml @@ -0,0 +1,591 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "32nm" + global_cycle_seconds: 1e-9 + has_power_gating: false + power_gated_at: null + local: + - name: DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-9 + power_gated_at: null + enabled: true + - name: inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + global_cycle_seconds: 1e-9 + power_gated_at: null + enabled: true + - name: ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - update + - read + - write + - leak + enabled: true + - name: mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-9 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - type: temporal + permutation: N + target: DRAM + - keep: + - Inputs + - Outputs + bypass: + - Weights + type: bypass + target: shared_glb + - type: temporal + permutation: N + target: shared_glb + - type: spatial + factors: N=1,C=1,P=1,R=1,S=1 + permutation: NCPRSQM + split: 7 + target: inter_PE_column_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_column_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_column_spatial + - type: spatial + factors: N=1,P=1,Q=1,R=1 + permutation: NPQRSCM + split: 4 + target: inter_PE_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1 + permutation: CMRSNPQ + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial + - keep: + - Inputs + type: bypass + bypass: + - Outputs + - Weights + target: ifmap_spad + - permutation: NMCPQRS + factors: N=1,M=1,C=1,P=1,Q=1,R=1,S=1 + type: temporal + target: ifmap_spad + - keep: + - Weights + type: bypass + bypass: + - Outputs + - Inputs + target: weights_spad + - permutation: NMPQSCR + factors: N=1,M=1,P=1,Q=1,S=1 + type: temporal + target: weights_spad + - keep: + - Outputs + type: bypass + bypass: + - Weights + - Inputs + target: psum_spad + - permutation: NCPQRSM + factors: N=1,C=1,R=1,S=1,P=1,Q=1 + type: temporal + target: psum_spad +problem: + version: '0.4' + instance: + C: 128 + Hdilation: 1 + Hstride: 1 + M: 256 + N: 1 + P: 56 + Q: 56 + R: 3 + S: 3 + Wdilation: 1 + Wstride: 1 + densities: {} + shape: + coefficients: + - default: 1 + name: Wstride + - default: 1 + name: Hstride + - default: 1 + name: Wdilation + - default: 1 + name: Hdilation + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + read_write: false + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + read_write: false + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + name: CNN_Layer +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + technology: "must_specify" + multiplier_width: "must_specify" + adder_width: "must_specify" + global_cycle_seconds: "must_specify" + subcomponents: + - name: intadder + class: aladdin_adder + attributes: + width: adder_width + - name: intmultiplier + class: aladdin_adder + attributes: + width_a: multiplier_width + width_b: multiplier_width + actions: + - name: compute + subcomponents: + - name: intadder + actions: + - name: read + - name: intmultiplier + actions: + - name: read + - name: leak + subcomponents: + - name: intadder + actions: + - name: leak + - name: intmultiplier + actions: + - name: leak + - name: smartbuffer_RF + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: regfile + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: regfile + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + subcomponents: + - name: storage[1..width*depth] + class: aladdin_register + attributes: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + class: aladdin_comparator + attributes: + n_bits: max(1, ceil(log2(depth))) + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: read + subcomponents: + - name: storage[1..width] + actions: + - name: read + - name: comparator[1..depth] + actions: + - name: compare + - name: leak + subcomponents: + - name: storage[1..width*depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: comparator[1..depth] + actions: + - name: leak + arguments: + global_cycle_seconds: global_cycle_seconds + - name: update + subcomponents: + - name: storage[1..width] + actions: + - name: write + - name: comparator[1..depth] + actions: + - name: compare + - name: smartbuffer_SRAM + attributes: + technology: "must_specify" + width: "must_specify" + depth: "must_specify" + memory_width: max(32, width) + memory_depth: max(64, depth) + widthscale: width / memory_width + depthscale: depth / memory_depth + real_depth: depth + area_scale: widthscale * depthscale + dynamic_energy_scale: widthscale * (depthscale ** (1.56 / 2)) + static_energy_scale: area_scale + n_rdwr_ports: 1 + global_cycle_seconds: "must_specify" + subcomponents: + - name: storage + class: SRAM + area_scale: area_scale + attributes: + width: memory_width + depth: memory_depth + n_rdwr_ports: n_rdwr_ports + global_cycle_seconds: global_cycle_seconds + - name: address_generators[0..1] + class: intadder + attributes: + n_bits: max(1, ceil(log2(real_depth))) if real_depth >= 1 else 1 + precision: max(1, ceil(log2(real_depth))) if real_depth >= 1 else + 1 + global_cycle_seconds: global_cycle_seconds + actions: + - name: write + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add + - name: read + subcomponents: + - name: storage + actions: + - name: read + energy_scale: dynamic_energy_scale + - name: address_generators[1] + actions: + - name: add + - name: leak + subcomponents: + - name: storage + actions: + - name: leak + energy_scale: static_energy_scale + - name: address_generators[0..1] + actions: + - name: leak + - name: update + subcomponents: + - name: storage + actions: + - name: write + energy_scale: dynamic_energy_scale + - name: address_generators[0] + actions: + - name: add +mapping: [] +mapper: + optimization_metrics: + - delay + - energy + version: '0.4' + live_status: false + num_threads: 8 + timeout: 15000 + victory_condition: 500 + algorithm: random_pruned + max_permutations_per_if_visit: 16 + out_prefix: timeloop-mapper + optimization_metric: [] + search_size: null + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + max_temporal_loops_in_a_mapping: -1 + filter_revisits: false +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..3abe0818 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.ART.yaml @@ -0,0 +1,19 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + area: 0.0 + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + - name: system_top_level.shared_glb[1..1] + area: 217363.36892 + - name: system_top_level.ifmap_spad[1..168] + area: 70.091961 + - name: system_top_level.weights_spad[1..168] + area: 5816.44278 + - name: system_top_level.psum_spad[1..168] + area: 123.627348 + - name: system_top_level.mac[1..168] + area: 191.82 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..4ab3cd6a --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,53 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.shared_glb[1..1] + area: 217363.36892 + primitive_estimations: + - name: storage + estimator: CactiSRAM + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + area: 70.091961 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + area: 5816.44278 + primitive_estimations: + - name: storage.storage[1..6144] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + area: 123.627348 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + area: 191.82 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..805cd7b5 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.ERT.yaml @@ -0,0 +1,89 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + actions: + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + arguments: {} + energy: 14.137929 + - name: read + arguments: {} + energy: 18.183829 + - name: leak + arguments: {} + energy: 0.005652 + - name: update + arguments: {} + energy: 14.137929 + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.176713 + - name: read + arguments: {} + energy: 0.202442 + - name: leak + arguments: {} + energy: 0.000101 + - name: update + arguments: {} + energy: 0.176713 + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + arguments: {} + energy: 1.881657 + - name: read + arguments: {} + energy: 1.976602 + - name: leak + arguments: {} + energy: 0.001592 + - name: update + arguments: {} + energy: 1.881657 + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.2191 + - name: read + arguments: {} + energy: 0.2513 + - name: leak + arguments: {} + energy: 0.000134 + - name: update + arguments: {} + energy: 0.2191 + - name: system_top_level.mac[1..168] + actions: + - name: compute + arguments: {} + energy: 0.207692 + - name: leak + arguments: {} + energy: 0.002374 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..c657ad36 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,115 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + actions: + - name: update + energy: 512.0 + - name: read + energy: 512.0 + - name: write + energy: 512.0 + - name: leak + energy: 0.0 + primitive_estimation(s): + - name: system_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + energy: 14.137929 + - name: read + energy: 18.183829 + - name: leak + energy: 0.005652 + - name: update + energy: 14.137929 + primitive_estimation(s): + - name: storage + estimator: CactiSRAM + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + energy: 0.176713 + - name: read + energy: 0.202442 + - name: leak + energy: 0.000101 + - name: update + energy: 0.176713 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + energy: 1.881657 + - name: read + energy: 1.976602 + - name: leak + energy: 0.001592 + - name: update + energy: 1.881657 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..6144] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + energy: 0.2191 + - name: read + energy: 0.2513 + - name: leak + energy: 0.000134 + - name: update + energy: 0.2191 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + actions: + - name: compute + energy: 0.207692 + - name: leak + energy: 0.002374 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..ece40ad8 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,252 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 64 + memory_depth: 16384 + widthscale: 1.0 + depthscale: 1.0 + real_depth: 16384 + area_scale: 1.0 + dynamic_energy_scale: 1.0 + static_energy_scale: 1.0 + n_rdwr_ports: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.1875 + real_depth: 12 + area_scale: 0.09375 + dynamic_energy_scale: 0.1354911710963393 + static_energy_scale: 0.09375 + n_rdwr_ports: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 192 + widthscale: 0.5 + depthscale: 1.0 + real_depth: 192 + area_scale: 0.5 + dynamic_energy_scale: 0.5 + static_energy_scale: 0.5 + n_rdwr_ports: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.25 + real_depth: 16 + area_scale: 0.125 + dynamic_energy_scale: 0.16957554093095897 + static_energy_scale: 0.125 + n_rdwr_ports: 1 + required_actions: + - update + - read + - write + - leak + enabled: true + - name: system_top_level.mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.map.tenssella.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..6aa52069 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,42 @@ +#error Tenssella does not support bypass. +t6 +C 4 M 4 R 1 S 1 N 1 P 7 Q 4 +MPCQ +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t5 +C 4 M 2 R 1 S 1 N 1 P 8 Q 1 +PCM +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s4 +C 1 M 1 R 1 S 1 N 1 P 1 Q 14 +Q +7 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t3 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +s3 +C 1 M 4 R 1 S 3 N 1 P 1 Q 1 +SM +5 +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t2 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 +Q +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +C 8 M 1 R 3 S 1 N 1 P 1 Q 1 +CR +t0 +C 1 M 8 R 1 S 1 N 1 P 1 Q 1 +M diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.oaves.csv b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/06-model-convlayer-eyeriss/ref-output/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/TRACE_GUIDE.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/TRACE_GUIDE.md new file mode 100644 index 00000000..bcc88297 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/TRACE_GUIDE.md @@ -0,0 +1,122 @@ +# Timeloop 追踪功能使用指南 + +## 概述 + +Timeloop的追踪功能可以生成详细的point-sets访问轨迹,显示嵌套循环分析在空间-时间中访问的每个坐标。这对于深入理解映射行为非常有用,但会显著降低仿真速度。 + +## 启用方式 + +### 方法1: 使用修改后的run_example.py + +```bash +# 正常运行 +python run_example.py 00 + +# 启用追踪模式 +python run_example.py 00 --enable-trace +``` + +### 方法2: 手动设置环境变量 + +```bash +export TIMELOOP_ENABLE_TRACING=1 +export TIMELOOP_DISABLE_TEMPORAL_EXTRAPOLATION=1 +export TIMELOOP_DISABLE_SPATIAL_EXTRAPOLATION=1 + +# 然后运行任何timeloop命令 +python run_example.py 00 +``` + +### 方法3: 使用便捷脚本 + +```bash +# 正常模式 +python run_with_trace.py 00 + +# 追踪模式 +python run_with_trace.py 00 --enable-trace +``` + +## 环境变量说明 + +| 变量名 | 作用 | 影响 | +|--------|------|------| +| `TIMELOOP_ENABLE_TRACING=1` | 启用追踪输出 | 生成详细的访问轨迹 | +| `TIMELOOP_DISABLE_TEMPORAL_EXTRAPOLATION=1` | 禁用时间外推 | 完整仿真所有时间步骤 | +| `TIMELOOP_DISABLE_SPATIAL_EXTRAPOLATION=1` | 禁用空间外推 | 完整仿真所有空间位置 | + +## 使用场景 + +### ✅ 适合追踪的情况 +- 分析特定映射的详细行为 +- 调试映射问题 +- 理解数据访问模式 +- 验证优化效果 + +### ❌ 不适合追踪的情况 +- 运行mapper搜索大量映射 +- 快速原型验证 +- 大规模工作负载分析 +- 性能基准测试 + +## 输出差异 + +### 正常模式输出 +``` +Utilization = 1.00 | pJ/Compute = 2.175 | Cycles = 48 +``` + +### 追踪模式输出 +``` +🔍 启用Timeloop追踪模式: + - TIMELOOP_ENABLE_TRACING=1 + - TIMELOOP_DISABLE_TEMPORAL_EXTRAPOLATION=1 + - TIMELOOP_DISABLE_SPATIAL_EXTRAPOLATION=1 + +Start Parsering Layout +No Layout specified, so using bandwidth based modeling + t/ s/ Weights: { [0:3), } Inputs: { [0:18), } Outputs: { [0:16), } +Utilization = 1.00 | pJ/Compute = 2.175 | Cycles = 48 +[详细的point-sets访问轨迹...] +``` + +## 性能影响 + +| 模式 | 速度 | 详细程度 | 推荐用途 | +|------|------|----------|----------| +| 正常模式 | 快速 | 基本统计 | 快速分析和搜索 | +| 追踪模式 | 很慢 | 极详细 | 深入调试和理解 | + +## 示例命令 + +```bash +# 基础练习追踪 +python run_example.py 00 --enable-trace + +# 权重静止映射追踪 +python run_example.py 01_ws --enable-trace + +# 输出静止映射追踪 +python run_example.py 01_os --enable-trace + +# 清除之前的输出并运行追踪 +python run_example.py --clear-outputs +python run_example.py 00 --enable-trace +``` + +## 注意事项 + +1. **仅在timeloop-model上使用**: 追踪应该仅用于特定映射分析,不要与mapper一起使用 +2. **性能开销**: 追踪模式会让Timeloop表现得更像周期级仿真器而非快速分析模型 +3. **输出大小**: 追踪输出可能非常大,确保有足够的磁盘空间 +4. **调试用途**: 主要用于理解和调试映射,不适合生产性能分析 + +## 查看结果 + +追踪结果会保存在相应练习的output目录中,例如: +``` +00-model-conv1d-1level/output/ +├── timeloop-model.stats.txt # 统计信息 +├── timeloop-model.map.txt # 映射详情 +└── [追踪相关文件...] # 详细追踪数据 +``` diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/check_outputs.py b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/check_outputs.py new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/mapping_analysis.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/mapping_analysis.md new file mode 100644 index 00000000..57c3afaa --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/mapping_analysis.md @@ -0,0 +1,90 @@ +# Weight Stationary vs Output Stationary 映射分析 + +## 问题规模 +``` +R=3 (卷积核大小) +P=16 (输出特征图大小) +Input Size = P + R - 1 = 18 +``` + +## Weight Stationary (WS) 分析 + +### 时间步分解 +``` +时间步 0: Weight[0] × Input[0:16] → Output[0:16] +时间步 1: Weight[1] × Input[1:17] → Output[0:16] (累加) +时间步 2: Weight[2] × Input[2:18] → Output[0:16] (累加) +``` + +### 存储需求 +- **Buffer层存储**: + - Weights: 1个权重值 (在每个时间步) + - Inputs: 16个输入值 (滑动窗口) + - Outputs: 16个输出值 (完整存储用于累加) + +- **数据复用**: + - Weight复用: ✅ 每个权重值被复用16次 + - Input复用: ❌ 输入值使用后即丢弃 + - Output复用: ❌ 需要保持用于累加 + +### 优势与代价 +**优势**: +- Weight访存最少 (3次 vs 48次无复用的情况) +- Buffer中Weight存储需求最小 + +**代价**: +- 必须存储完整的Output向量用于累加 +- Input需要连续供给,无法复用 + +## Output Stationary (OS) 对比 + +### 预期行为 (OS映射) +``` +空间位置 0: Weight[0:3] × Input[0:3] → Output[0] +空间位置 1: Weight[0:3] × Input[1:4] → Output[1] +... +空间位置15: Weight[0:3] × Input[15:18] → Output[15] +``` + +### OS存储需求 +- **Buffer层存储**: + - Weights: 3个权重值 (完整卷积核) + - Inputs: 3个输入值 (当前窗口) + - Outputs: 1个输出值 (当前计算结果) + +## 权衡分析总结 + +| 维度 | Weight Stationary | Output Stationary | +|------|-------------------|-------------------| +| Weight存储 | 1个值/时间步 | 3个值 (完整) | +| Input存储 | 16个值 (滑动窗口) | 3个值 (当前窗口) | +| Output存储 | 16个值 (完整) | 1个值 (当前) | +| Weight复用 | ✅ 高复用 | ✅ 中等复用 | +| Input复用 | ❌ 无复用 | ✅ 相邻窗口重叠 | +| Output复用 | ❌ 累加需求 | ✅ 立即写出 | + +## 实际性能影响 + +从Timeloop输出: +``` +Utilization = 1.00 | pJ/Compute = 7.241 | Cycles = 48 +``` + +这表明: +- 计算单元利用率100% +- 每次计算消耗7.241 pJ +- 总计算周期48个 (3个时间步 × 16个并行计算) + +## 设计选择的启示 + +**WS适合的场景**: +- Weight参数量大,访存代价高 +- Output缓存充足 +- 计算密集型应用 + +**OS适合的场景**: +- Input数据流大,带宽受限 +- Output需要立即处理 +- 存储受限的边缘设备 + +这种分析展示了硬件加速器设计中经典的**存储层次与数据复用的权衡**问题。 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/parser.py b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/parser.py new file mode 100644 index 00000000..df2f3735 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/parser.py @@ -0,0 +1,96 @@ +import re +from pprint import pprint + +def parse_hyper_rects_to_set(rects_str): + """ + 辅助函数:将 '{ [..:..), ... }' 格式的字符串解析为超矩形字符串的集合。 + + *** v4 最终修复: *** + 使用更通用的正则表达式,不再强制要求结尾处有逗号。 + 旧模式: r'(\[.*?:\s*.*?,\))' (错误地要求必须有 ',)') + 新模式: r'(\[.*?)\)' (正确地匹配从'['到')'的所有内容) + """ + if not rects_str.strip(): + return set() + # 新的、最终修正的正则表达式 + rects = re.findall(r'\[.*?\)', rects_str) + # 返回一个集合,其中每个元素都是一个类似 "[...]" 的字符串 + return set(rects) + +def parse_log_file(log_path, target_space_stamp): + # (此函数其余部分与 v3 相同,我们只修复了上面的辅助函数) + log_pattern = re.compile( + r"^\s*t/([0-9/]+)/\s+s/([0-9/]+)/\s+" + r"Weights:\s*\{(.*?)\}\s+" + r"Inputs:\s*\{(.*?)\}\s+" + r"Outputs:.*$" + ) + structured_data = {} + with open(log_path, 'r') as f: + for line in f: + match = log_pattern.match(line) + if match: + t_str = match.group(1).strip('/') + s_str = match.group(2).strip('/') + time_stamp = tuple(map(int, t_str.split('/'))) + space_stamp = tuple(map(int, s_str.split('/'))) + + weights_content = match.group(3) + inputs_content = match.group(4) + + weights_set = parse_hyper_rects_to_set(weights_content) + inputs_set = parse_hyper_rects_to_set(inputs_content) + point_set = weights_set.union(inputs_set) # <--- 现在这个 union 将会成功! + + if space_stamp not in structured_data: + structured_data[space_stamp] = [] + + if point_set: + structured_data[space_stamp].append((time_stamp, point_set)) + + for pe_data in structured_data.values(): + pe_data.sort(key=lambda x: x[0]) + return structured_data + +def calculate_delta_stream(pe_time_series_data): + # (此函数无需更改) + delta_stream = [] + if not pe_time_series_data: + return delta_stream + prev_point_set = set() + for time_stamp, current_point_set in pe_time_series_data: + delta_set = current_point_set - prev_point_set + delta_stream.append((time_stamp, delta_set)) + prev_point_set = current_point_set + return delta_stream + +# --- 主程序 --- +if __name__ == "__main__": + # 请确保这里的路径是正确的 + LOG_FILE_PATH = "/home/arch/accelergy-timeloop-infrastructure/src/timeloop/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/test.txt" + # 关键路径PE的空间戳,请根据您的日志确认其元组长度 + CRITICAL_PATH_PE_SPACE_STAMP = (0, 0, 0, 0, 0, 0) + + all_data = parse_log_file(LOG_FILE_PATH, CRITICAL_PATH_PE_SPACE_STAMP) + + if CRITICAL_PATH_PE_SPACE_STAMP in all_data and all_data[CRITICAL_PATH_PE_SPACE_STAMP]: + critical_path_data = all_data[CRITICAL_PATH_PE_SPACE_STAMP] + print(f"\n--- 成功解析并筛选出 Space Stamp: {CRITICAL_PATH_PE_SPACE_STAMP} 的非空数据 ---") + + delta_t_stream = calculate_delta_stream(critical_path_data) + + print("\n--- Delta_t 数据需求流计算结果 ---") + print(f"{'时间戳 (Timestamp)':<25} | {'新增数据需求 (Delta_t Set)'}") + print("-" * 80) + + lines_printed = 0 + for time_stamp, delta in delta_t_stream: + if delta: + print(f"{str(time_stamp):<25} | ", end="") + pprint(delta, width=120) # 增加了宽度以便更好地显示 + lines_printed += 1 + + if lines_printed == 0: + print("计算完成,但所有 Delta_t 均为空集 (这可能意味着数据在第一个时间步就已全部加载)。") + else: + print(f"\n*** 最终结论: 即使在修复后,也未能为 Space Stamp {CRITICAL_PATH_PE_SPACE_STAMP} 提取到任何有效的(非空)工作集数据。请检查日志文件和PE空间戳。***") \ No newline at end of file diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/run_example.py b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/run_example.py new file mode 100644 index 00000000..259d0bdb --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/run_example.py @@ -0,0 +1,254 @@ +import os +import inspect + +THIS_SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__)) + +import pytimeloop.timeloopfe.v4 as tl + + +def setup_trace_environment(enable_trace=False): + """设置Timeloop追踪环境变量""" + if enable_trace: + os.environ["TIMELOOP_ENABLE_TRACING"] = "1" + os.environ["TIMELOOP_DISABLE_TEMPORAL_EXTRAPOLATION"] = "1" + os.environ["TIMELOOP_DISABLE_SPATIAL_EXTRAPOLATION"] = "1" + print("🔍 启用Timeloop追踪模式:") + print(" - TIMELOOP_ENABLE_TRACING=1") + print(" - TIMELOOP_DISABLE_TEMPORAL_EXTRAPOLATION=1") + print(" - TIMELOOP_DISABLE_SPATIAL_EXTRAPOLATION=1") + print(" 注意: 追踪模式会显著降低仿真速度,但提供更详细的分析") + print() + else: + # 清除环境变量(如果存在) + for var in ["TIMELOOP_ENABLE_TRACING", "TIMELOOP_DISABLE_TEMPORAL_EXTRAPOLATION", "TIMELOOP_DISABLE_SPATIAL_EXTRAPOLATION"]: + if var in os.environ: + del os.environ[var] + + +def run_exercise_00(out_dir: str = "output"): + start_dir = os.path.join(THIS_SCRIPT_DIR, "00-model-conv1d-1level") + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/*.yaml"), + os.path.join(start_dir, "map/*.yaml"), + os.path.join(start_dir, "prob/*.yaml"), + ) + tl.call_model(spec, output_dir=os.path.join(start_dir, f"{out_dir}")) + + +def run_exercise_01_ws(out_dir: str = "output"): + start_dir = os.path.join(THIS_SCRIPT_DIR, "01-model-conv1d-2level") + # Weight stationary + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/*.yaml"), + os.path.join(start_dir, "map/conv1d-2level-ws.map.yaml"), + os.path.join(start_dir, "prob/*.yaml"), + ) + tl.call_model(spec, output_dir=os.path.join(start_dir, f"{out_dir}/ws")) + + +def run_exercise_01_os(out_dir: str = "output"): + start_dir = os.path.join(THIS_SCRIPT_DIR, "01-model-conv1d-2level") + # Output stationary + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/*.yaml"), + os.path.join(start_dir, "map/conv1d-2level-os.map.yaml"), + os.path.join(start_dir, "prob/*.yaml"), + ) + tl.call_model(spec, output_dir=os.path.join(start_dir, f"{out_dir}/os")) + + +def run_exercise_02_os(out_dir: str = "output"): + start_dir = os.path.join(THIS_SCRIPT_DIR, "02-model-conv1d+oc-2level") + # Output stationary + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/*.yaml"), + os.path.join(start_dir, "map/conv1d+oc-2level-os.map.yaml"), + os.path.join(start_dir, "prob/*.yaml"), + ) + tl.call_model(spec, output_dir=os.path.join(start_dir, f"{out_dir}/no-tiling")) + + +def run_exercise_02_os_tiled(out_dir: str = "output"): + start_dir = os.path.join(THIS_SCRIPT_DIR, "02-model-conv1d+oc-2level") + # Output stationary tiled + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/*.yaml"), + os.path.join(start_dir, "map/conv1d+oc-2level-os-tiled.map.yaml"), + os.path.join(start_dir, "prob/*.yaml"), + ) + tl.call_model(spec, output_dir=os.path.join(start_dir, f"{out_dir}/tiling")) + + +def run_exercise_03_no_bypass(out_dir: str = "output"): + start_dir = os.path.join(THIS_SCRIPT_DIR, "03-model-conv1d+oc-3level") + # No bypass + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/*.yaml"), + os.path.join(start_dir, "map/conv1d+oc-3level.map.yaml"), + os.path.join(start_dir, "prob/*.yaml"), + ) + tl.call_model(spec, output_dir=os.path.join(start_dir, f"{out_dir}/no-bypass")) + + +def run_exercise_03_bypass(out_dir: str = "output"): + start_dir = os.path.join(THIS_SCRIPT_DIR, "03-model-conv1d+oc-3level") + # Output stationary tiled + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/*.yaml"), + os.path.join(start_dir, "map/conv1d+oc-3level-bypass.map.yaml"), + os.path.join(start_dir, "prob/*.yaml"), + ) + tl.call_model(spec, output_dir=os.path.join(start_dir, f"{out_dir}/bypass")) + + +def run_exercise_04_cp(out_dir: str = "output"): + start_dir = os.path.join(THIS_SCRIPT_DIR, "04-model-conv1d+oc-3levelspatial") + # CP mapping + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/*.yaml"), + os.path.join(start_dir, "map/conv1d+oc+ic-3levelspatial-cp-ws.map.yaml"), + os.path.join(start_dir, "prob/*.yaml"), + ) + tl.call_model(spec, output_dir=os.path.join(start_dir, f"{out_dir}/cp")) + + +def run_exercise_04_kp(out_dir: str = "output"): + start_dir = os.path.join(THIS_SCRIPT_DIR, "04-model-conv1d+oc-3levelspatial") + # KP mapping + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/*.yaml"), + os.path.join(start_dir, "map/conv1d+oc+ic-3levelspatial-kp-ws.map.yaml"), + os.path.join(start_dir, "prob/*.yaml"), + ) + tl.call_model(spec, output_dir=os.path.join(start_dir, f"{out_dir}/kp")) + + +def run_exercise_05_baked(out_dir: str = "output"): + start_dir = os.path.join(THIS_SCRIPT_DIR, "05-mapper-conv1d+oc-3level") + # 3-level mapping constraints + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/*.yaml"), + os.path.join( + start_dir, "constraints/conv1d+oc-3level-1mapping.constraints.yaml" + ), + os.path.join(start_dir, "prob/*.yaml"), + os.path.join(start_dir, "mapper/*.yaml"), + ) + tl.call_mapper(spec, output_dir=os.path.join(start_dir, f"{out_dir}/baked")) + + +def run_exercise_05_bypass(out_dir: str = "output"): + start_dir = os.path.join(THIS_SCRIPT_DIR, "05-mapper-conv1d+oc-3level") + # Bypass mapping constraints + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/*.yaml"), + os.path.join( + start_dir, "constraints/conv1d+oc-3level-freebypass.constraints.yaml" + ), + os.path.join(start_dir, "prob/*.yaml"), + os.path.join(start_dir, "mapper/*.yaml"), + ) + tl.call_mapper(spec, output_dir=os.path.join(start_dir, f"{out_dir}/freebypass")) + + +def run_exercise_05_null(out_dir: str = "output"): + start_dir = os.path.join(THIS_SCRIPT_DIR, "05-mapper-conv1d+oc-3level") + # Null constraints + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/*.yaml"), + os.path.join(start_dir, "constraints/null.constraints.yaml"), + os.path.join(start_dir, "prob/*.yaml"), + os.path.join(start_dir, "mapper/*.yaml"), + ) + tl.call_mapper(spec, output_dir=os.path.join(start_dir, f"{out_dir}/null")) + + +def run_exercise_06(out_dir: str = "output"): + start_dir = os.path.join(THIS_SCRIPT_DIR, "06-mapper-convlayer-eyeriss") + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/*.yaml"), + os.path.join(start_dir, "arch/components/*.yaml"), + os.path.join(start_dir, "prob/*.yaml"), + os.path.join(start_dir, "mapper/*.yaml"), + ) + tl.call_mapper(spec, output_dir=os.path.join(start_dir, f"{out_dir}")) +def run_exercise_06_model(out_dir: str = "output"): + start_dir = os.path.join(THIS_SCRIPT_DIR, "06-model-convlayer-eyeriss") + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/*.yaml"), + os.path.join(start_dir, "arch/components/*.yaml"), + os.path.join(start_dir, "prob/*.yaml"), + os.path.join(start_dir, "map/*.yaml"), + ) + tl.call_model(spec, output_dir=os.path.join(start_dir, f"{out_dir}")) + + +if __name__ == "__main__": + import argparse + + parser = argparse.ArgumentParser(description="Run timeloop exercises") + parser.add_argument( + "exercise", + type=str, + help="Exercise to run. 'All' to run all exercises", + default="", + nargs="*", + ) + parser.add_argument( + "--generate-ref-outputs", action="store_true", help="Generate reference output" + ) + parser.add_argument( + "--clear-outputs", action="store_true", help="Clear output directories" + ) + parser.add_argument( + "--enable-trace", action="store_true", + help="Enable Timeloop tracing with disabled extrapolation (slower but more detailed)" + ) + args = parser.parse_args() + + # 设置追踪环境 + setup_trace_environment(args.enable_trace) + + exercise_list = [ + "00", + "01_ws", + "01_os", + "02_os", + "02_os_tiled", + "03_no_bypass", + "03_bypass", + "04_cp", + "04_kp", + "05_baked", + "05_bypass", + "05_null", + "06", + "06_model" + ] + + if args.clear_outputs: + prefixes = list(set([e.split("_")[0] for e in exercise_list])) + + for p in prefixes: + path = os.path.abspath(os.path.join(THIS_SCRIPT_DIR, p + "*")) + os.system(f"cd {path} ; rm -rf output") + os.system(f"cd {path} ; rm -rf ref-output") + exit() + + def run(target): + func = globals()[f"run_exercise_{target}"] + # Print out the function contents so users can see what the function does + print("\n\n" + "=" * 80) + print(f"Calling exercise {target}. Code is:") + print(inspect.getsource(func)) + if args.generate_ref_outputs: + func("ref-output") + else: + func() + + for e in args.exercise: + if e.lower() == "all": + for e in exercise_list: + run(e) + else: + run(e) diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/run_with_trace.py b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/run_with_trace.py new file mode 100644 index 00000000..205d2eab --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/run_with_trace.py @@ -0,0 +1,110 @@ +#!/usr/bin/env python3 +""" +Timeloop Trace运行示例 + +这个脚本演示了如何使用Timeloop的追踪功能。 +追踪模式会生成详细的point-sets访问轨迹,但会显著降低仿真速度。 + +使用方法: +1. 正常运行: python run_with_trace.py 00 +2. 启用追踪: python run_with_trace.py 00 --enable-trace + +追踪输出会包含: +- 详细的空间-时间坐标访问轨迹 +- 禁用时间和空间外推的完整仿真 +- 更精确但更慢的分析结果 +""" + +import os +import sys + + +def run_with_trace(exercise_id, enable_trace=False): + """运行指定练习,可选择启用追踪""" + + # 设置追踪环境变量 + if enable_trace: + os.environ["TIMELOOP_ENABLE_TRACING"] = "1" + + print("🔍 Timeloop追踪模式已启用") + print("=" * 50) + print("环境变量设置:") + print(" TIMELOOP_ENABLE_TRACING = 1") + print("") + print("⚠️ 注意: 追踪模式会显著降低仿真速度") + print(" 建议仅在需要详细分析特定映射时使用") + print("=" * 50) + print("") + else: + # 清除追踪环境变量 + for var in [ + "TIMELOOP_ENABLE_TRACING", + "TIMELOOP_DISABLE_TEMPORAL_EXTRAPOLATION", + "TIMELOOP_DISABLE_SPATIAL_EXTRAPOLATION", + ]: + if var in os.environ: + del os.environ[var] + print("🏃 正常模式运行") + print("") + + # 调用原始脚本 + cmd = f"python run_example.py {exercise_id}" + if enable_trace: + cmd += " --enable-trace" + + print(f"执行命令: {cmd}") + print("=" * 50) + + # 执行命令 + exit_code = os.system(cmd) + + if exit_code == 0: + print("") + print("=" * 50) + print("✅ 执行完成!") + + if enable_trace: + print("") + print("📊 追踪输出文件应该包含:") + print(" - 更详细的仿真日志") + print(" - point-sets访问轨迹") + print(" - 空间-时间坐标映射详情") + + # 显示输出目录 + exercise_dirs = { + "00": "00-model-conv1d-1level", + "01_ws": "01-model-conv1d-2level", + "01_os": "01-model-conv1d-2level", + } + + if exercise_id in exercise_dirs: + output_dir = f"{exercise_dirs[exercise_id]}/output" + print(f" 📁 输出目录: {output_dir}") + + else: + print(f"❌ 执行失败 (退出代码: {exit_code})") + + +def main(): + if len(sys.argv) < 2: + print("用法: python run_with_trace.py [--enable-trace]") + print("") + print("练习选项:") + print(" 00 - 基础1D卷积1层模型") + print(" 01_ws - 权重静止2层模型") + print(" 01_os - 输出静止2层模型") + print(" all - 运行所有练习") + print("") + print("示例:") + print(" python run_with_trace.py 00") + print(" python run_with_trace.py 00 --enable-trace") + sys.exit(1) + + exercise_id = sys.argv[1] + enable_trace = "--enable-trace" in sys.argv + + run_with_trace(exercise_id, enable_trace) + + +if __name__ == "__main__": + main() diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/test.txt b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/test.txt new file mode 100644 index 00000000..de778551 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/test.txt @@ -0,0 +1,7279 @@ +input file: /home/arch/accelergy-timeloop-infrastructure/src/timeloop/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/parsed-processed-input.yaml +execute:/home/arch/miniconda3/bin/accelergy /home/arch/accelergy-timeloop-infrastructure/src/timeloop/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/04-model-conv1d+oc-3levelspatial/output/kp/parsed-processed-input.yaml --oprefix timeloop-model. -o ./ > timeloop-model.accelergy.log 2>&1 +Start Parsering Layout +Hello timeloop in model ! +No Layout specified, so using bandwidth based modeling +[DEBUG] NestAnalysis constructor has been called. +[..c/model/topology.cpp:1297 (Evaluate)] mapping = Mapping ID = 0 +Loop Nest: +---------- +for P in [0:1) +------------------------------------------ + for C in [0:32) + for K in [0:2) + for R in [0:3) +------------------------------------------ + for P in [0:1) + for K in [0:16) (Spatial-X) +------------------------------------------ + for P in [0:16) + + +Datatype Bypass Nest: +--------------------- +Weights: 00000000000000000000000000001101 +Inputs: 00000000000000000000000000001101 +Outputs: 00000000000000000000000000001101 + (Mapping&) +[..c/model/topology.cpp:1298 (Evaluate)] analysis = 0x7ffff9750608 (analysis::NestAnalysis*) +[..c/model/topology.cpp:1350 (Evaluate)] hello topology! +[..c/model/topology.cpp:1353 (Evaluate)] function! +Hello NestAnalysis! +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/0/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/0/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/0/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/0/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/0/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/0/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/0/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/0/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/0/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/0/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/0/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/0/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/0/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/0/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/0/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/0/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/0/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/1/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/1/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/1/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/1/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/1/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/1/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/1/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/1/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/1/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/1/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/1/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/1/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/1/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/1/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/1/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/1/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/1/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/2/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/2/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/2/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/2/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/2/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/2/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/2/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/2/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/2/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/2/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/2/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/2/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/2/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/2/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/2/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/2/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/2/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/3/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/3/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/3/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/3/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/3/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/3/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/3/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/3/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/3/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/3/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/3/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/3/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/3/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/3/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/3/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/3/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/3/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/4/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/4/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/4/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/4/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/4/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/4/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/4/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/4/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/4/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/4/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/4/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/4/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/4/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/4/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/4/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/4/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/4/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/5/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/5/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/5/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/5/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/5/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/5/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/5/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/5/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/5/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/5/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/5/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/5/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/5/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/5/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/5/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/5/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/5/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/6/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/6/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/6/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/6/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/6/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/6/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/6/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/6/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/6/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/6/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/6/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/6/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/6/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/6/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/6/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/6/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/6/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/7/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/7/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/7/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/7/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/7/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/7/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/7/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/7/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/7/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/7/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/7/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/7/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/7/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/7/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/7/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/7/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/7/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/8/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/8/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/8/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/8/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/8/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/8/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/8/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/8/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/8/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/8/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/8/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/8/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/8/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/8/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/8/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/8/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/8/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/9/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/9/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/9/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/9/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/9/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/9/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/9/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/9/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/9/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/9/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/9/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/9/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/9/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/9/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/9/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/9/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/9/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/10/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/10/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/10/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/10/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/10/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/10/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/10/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/10/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/10/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/10/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/10/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/10/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/10/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/10/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/10/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/10/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/10/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/11/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/11/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/11/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/11/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/11/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/11/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/11/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/11/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/11/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/11/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/11/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/11/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/11/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/11/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/11/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/11/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/11/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/12/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/12/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/12/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/12/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/12/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/12/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/12/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/12/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/12/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/12/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/12/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/12/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/12/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/12/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/12/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/12/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/12/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/13/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/13/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/13/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/13/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/13/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/13/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/13/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/13/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/13/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/13/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/13/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/13/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/13/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/13/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/13/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/13/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/13/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/14/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/14/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/14/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/14/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/14/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/14/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/14/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/14/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/14/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/14/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/14/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/14/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/14/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/14/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/14/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/14/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/14/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/15/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/15/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/15/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/15/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/15/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/15/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/15/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/15/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/15/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/15/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/15/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/15/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/15/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/15/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/15/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/15/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/15/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/16/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/16/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/16/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/16/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/16/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/16/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/16/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/16/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/16/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/16/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/16/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/16/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/16/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/16/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/16/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/16/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/16/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/17/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/17/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/17/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/17/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/17/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/17/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/17/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/17/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/17/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/17/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/17/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/17/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/17/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/17/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/17/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/17/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/17/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/18/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/18/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/18/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/18/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/18/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/18/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/18/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/18/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/18/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/18/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/18/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/18/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/18/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/18/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/18/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/18/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/18/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/19/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/19/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/19/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/19/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/19/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/19/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/19/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/19/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/19/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/19/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/19/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/19/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/19/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/19/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/19/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/19/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/19/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/20/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/20/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/20/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/20/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/20/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/20/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/20/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/20/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/20/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/20/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/20/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/20/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/20/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/20/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/20/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/20/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/20/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/21/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/21/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/21/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/21/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/21/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/21/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/21/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/21/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/21/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/21/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/21/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/21/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/21/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/21/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/21/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/21/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/21/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/22/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/22/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/22/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/22/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/22/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/22/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/22/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/22/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/22/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/22/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/22/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/22/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/22/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/22/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/22/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/22/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/22/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/23/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/23/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/23/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/23/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/23/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/23/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/23/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/23/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/23/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/23/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/23/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/23/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/23/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/23/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/23/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/23/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/23/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/24/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/24/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/24/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/24/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/24/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/24/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/24/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/24/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/24/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/24/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/24/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/24/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/24/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/24/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/24/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/24/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/24/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/25/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/25/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/25/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/25/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/25/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/25/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/25/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/25/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/25/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/25/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/25/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/25/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/25/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/25/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/25/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/25/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/25/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/26/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/26/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/26/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/26/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/26/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/26/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/26/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/26/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/26/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/26/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/26/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/26/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/26/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/26/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/26/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/26/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/26/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/27/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/27/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/27/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/27/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/27/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/27/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/27/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/27/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/27/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/27/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/27/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/27/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/27/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/27/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/27/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/27/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/27/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/28/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/28/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/28/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/28/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/28/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/28/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/28/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/28/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/28/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/28/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/28/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/28/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/28/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/28/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/28/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/28/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/28/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/29/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/29/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/29/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/29/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/29/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/29/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/29/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/29/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/29/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/29/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/29/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/29/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/29/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/29/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/29/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/29/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/29/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/30/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/30/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/30/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/30/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/30/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/30/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/30/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/30/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/30/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/30/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/30/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/30/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/30/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/30/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/30/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/30/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/30/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/31/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/31/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/31/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/31/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/31/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/31/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/31/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/31/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/31/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/31/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/31/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/31/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/31/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/31/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/31/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/31/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/31/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/32/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/32/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/32/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/32/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/32/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/32/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/32/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/32/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/32/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/32/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/32/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/32/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/32/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/32/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/32/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/32/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/32/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/33/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/33/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/33/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/33/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/33/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/33/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/33/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/33/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/33/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/33/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/33/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/33/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/33/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/33/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/33/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/33/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/33/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/34/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/34/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/34/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/34/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/34/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/34/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/34/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/34/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/34/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/34/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/34/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/34/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/34/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/34/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/34/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/34/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/34/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/35/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/35/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/35/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/35/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/35/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/35/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/35/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/35/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/35/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/35/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/35/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/35/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/35/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/35/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/35/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/35/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/35/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/36/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/36/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/36/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/36/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/36/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/36/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/36/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/36/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/36/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/36/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/36/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/36/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/36/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/36/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/36/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/36/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/36/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/37/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/37/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/37/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/37/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/37/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/37/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/37/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/37/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/37/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/37/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/37/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/37/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/37/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/37/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/37/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/37/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/37/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/38/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/38/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/38/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/38/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/38/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/38/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/38/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/38/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/38/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/38/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/38/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/38/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/38/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/38/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/38/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/38/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/38/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/39/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/39/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/39/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/39/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/39/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/39/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/39/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/39/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/39/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/39/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/39/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/39/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/39/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/39/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/39/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/39/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/39/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/40/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/40/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/40/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/40/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/40/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/40/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/40/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/40/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/40/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/40/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/40/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/40/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/40/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/40/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/40/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/40/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/40/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/41/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/41/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/41/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/41/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/41/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/41/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/41/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/41/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/41/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/41/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/41/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/41/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/41/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/41/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/41/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/41/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/41/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/42/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/42/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/42/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/42/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/42/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/42/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/42/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/42/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/42/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/42/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/42/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/42/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/42/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/42/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/42/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/42/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/42/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/43/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/43/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/43/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/43/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/43/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/43/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/43/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/43/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/43/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/43/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/43/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/43/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/43/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/43/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/43/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/43/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/43/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/44/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/44/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/44/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/44/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/44/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/44/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/44/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/44/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/44/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/44/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/44/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/44/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/44/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/44/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/44/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/44/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/44/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/45/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/45/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/45/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/45/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/45/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/45/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/45/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/45/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/45/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/45/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/45/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/45/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/45/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/45/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/45/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/45/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/45/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/46/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/46/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/46/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/46/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/46/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/46/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/46/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/46/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/46/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/46/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/46/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/46/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/46/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/46/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/46/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/46/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/46/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/47/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/47/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/47/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/47/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/47/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/47/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/47/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/47/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/47/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/47/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/47/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/47/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/47/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/47/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/47/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/47/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/47/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/48/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/48/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/48/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/48/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/48/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/48/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/48/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/48/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/48/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/48/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/48/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/48/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/48/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/48/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/48/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/48/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/48/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/49/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/49/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/49/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/49/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/49/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/49/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/49/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/49/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/49/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/49/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/49/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/49/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/49/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/49/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/49/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/49/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/49/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/50/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/50/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/50/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/50/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/50/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/50/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/50/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/50/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/50/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/50/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/50/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/50/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/50/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/50/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/50/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/50/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/50/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/51/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/51/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/51/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/51/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/51/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/51/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/51/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/51/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/51/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/51/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/51/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/51/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/51/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/51/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/51/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/51/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/51/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/52/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/52/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/52/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/52/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/52/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/52/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/52/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/52/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/52/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/52/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/52/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/52/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/52/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/52/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/52/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/52/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/52/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/53/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/53/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/53/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/53/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/53/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/53/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/53/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/53/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/53/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/53/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/53/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/53/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/53/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/53/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/53/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/53/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/53/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/54/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/54/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/54/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/54/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/54/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/54/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/54/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/54/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/54/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/54/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/54/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/54/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/54/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/54/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/54/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/54/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/54/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/55/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/55/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/55/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/55/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/55/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/55/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/55/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/55/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/55/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/55/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/55/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/55/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/55/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/55/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/55/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/55/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/55/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/56/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/56/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/56/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/56/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/56/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/56/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/56/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/56/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/56/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/56/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/56/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/56/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/56/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/56/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/56/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/56/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/56/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/57/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/57/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/57/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/57/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/57/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/57/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/57/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/57/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/57/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/57/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/57/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/57/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/57/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/57/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/57/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/57/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/57/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/58/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/58/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/58/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/58/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/58/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/58/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/58/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/58/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/58/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/58/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/58/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/58/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/58/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/58/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/58/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/58/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/58/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/59/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/59/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/59/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/59/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/59/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/59/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/59/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/59/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/59/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/59/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/59/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/59/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/59/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/59/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/59/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/59/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/59/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/60/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/60/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/60/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/60/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/60/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/60/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/60/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/60/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/60/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/60/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/60/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/60/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/60/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/60/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/60/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/60/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/60/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/61/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/61/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/61/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/61/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/61/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/61/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/61/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/61/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/61/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/61/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/61/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/61/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/61/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/61/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/61/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/61/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/61/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/62/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/62/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/62/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/62/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/62/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/62/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/62/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/62/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/62/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/62/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/62/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/62/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/62/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/62/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/62/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/62/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/62/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/63/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/63/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/63/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/63/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/63/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/63/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/63/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/63/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/63/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/63/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/63/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/63/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/63/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/63/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/63/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/63/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/63/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/64/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/64/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/64/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/64/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/64/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/64/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/64/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/64/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/64/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/64/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/64/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/64/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/64/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/64/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/64/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/64/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/64/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/65/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/65/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/65/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/65/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/65/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/65/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/65/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/65/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/65/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/65/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/65/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/65/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/65/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/65/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/65/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/65/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/65/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/66/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/66/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/66/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/66/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/66/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/66/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/66/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/66/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/66/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/66/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/66/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/66/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/66/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/66/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/66/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/66/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/66/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/67/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/67/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/67/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/67/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/67/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/67/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/67/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/67/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/67/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/67/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/67/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/67/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/67/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/67/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/67/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/67/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/67/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/68/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/68/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/68/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/68/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/68/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/68/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/68/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/68/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/68/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/68/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/68/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/68/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/68/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/68/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/68/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/68/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/68/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/69/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/69/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/69/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/69/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/69/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/69/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/69/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/69/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/69/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/69/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/69/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/69/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/69/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/69/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/69/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/69/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/69/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/70/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/70/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/70/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/70/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/70/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/70/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/70/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/70/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/70/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/70/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/70/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/70/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/70/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/70/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/70/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/70/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/70/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/71/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/71/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/71/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/71/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/71/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/71/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/71/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/71/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/71/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/71/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/71/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/71/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/71/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/71/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/71/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/71/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/71/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/72/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/72/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/72/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/72/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/72/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/72/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/72/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/72/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/72/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/72/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/72/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/72/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/72/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/72/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/72/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/72/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/72/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/73/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/73/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/73/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/73/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/73/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/73/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/73/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/73/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/73/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/73/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/73/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/73/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/73/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/73/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/73/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/73/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/73/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/74/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/74/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/74/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/74/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/74/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/74/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/74/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/74/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/74/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/74/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/74/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/74/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/74/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/74/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/74/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/74/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/74/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/75/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/75/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/75/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/75/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/75/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/75/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/75/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/75/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/75/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/75/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/75/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/75/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/75/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/75/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/75/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/75/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/75/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/76/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/76/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/76/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/76/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/76/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/76/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/76/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/76/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/76/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/76/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/76/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/76/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/76/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/76/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/76/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/76/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/76/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/77/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/77/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/77/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/77/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/77/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/77/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/77/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/77/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/77/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/77/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/77/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/77/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/77/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/77/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/77/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/77/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/77/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/78/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/78/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/78/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/78/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/78/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/78/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/78/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/78/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/78/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/78/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/78/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/78/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/78/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/78/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/78/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/78/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/78/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/79/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/79/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/79/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/79/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/79/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/79/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/79/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/79/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/79/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/79/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/79/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/79/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/79/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/79/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/79/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/79/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/79/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/80/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/80/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/80/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/80/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/80/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/80/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/80/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/80/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/80/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/80/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/80/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/80/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/80/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/80/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/80/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/80/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/80/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/81/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/81/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/81/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/81/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/81/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/81/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/81/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/81/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/81/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/81/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/81/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/81/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/81/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/81/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/81/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/81/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/81/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/82/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/82/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/82/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/82/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/82/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/82/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/82/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/82/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/82/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/82/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/82/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/82/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/82/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/82/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/82/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/82/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/82/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/83/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/83/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/83/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/83/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/83/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/83/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/83/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/83/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/83/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/83/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/83/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/83/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/83/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/83/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/83/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/83/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/83/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/84/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/84/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/84/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/84/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/84/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/84/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/84/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/84/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/84/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/84/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/84/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/84/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/84/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/84/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/84/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/84/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/84/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/85/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/85/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/85/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/85/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/85/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/85/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/85/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/85/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/85/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/85/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/85/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/85/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/85/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/85/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/85/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/85/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/85/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/86/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/86/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/86/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/86/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/86/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/86/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/86/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/86/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/86/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/86/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/86/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/86/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/86/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/86/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/86/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/86/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/86/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/87/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/87/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/87/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/87/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/87/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/87/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/87/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/87/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/87/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/87/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/87/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/87/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/87/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/87/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/87/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/87/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/87/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/88/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/88/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/88/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/88/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/88/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/88/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/88/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/88/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/88/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/88/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/88/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/88/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/88/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/88/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/88/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/88/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/88/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/89/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/89/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/89/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/89/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/89/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/89/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/89/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/89/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/89/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/89/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/89/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/89/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/89/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/89/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/89/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/89/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/89/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/90/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/90/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/90/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/90/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/90/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/90/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/90/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/90/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/90/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/90/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/90/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/90/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/90/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/90/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/90/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/90/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/90/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/91/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/91/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/91/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/91/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/91/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/91/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/91/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/91/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/91/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/91/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/91/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/91/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/91/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/91/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/91/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/91/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/91/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/92/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/92/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/92/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/92/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/92/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/92/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/92/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/92/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/92/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/92/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/92/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/92/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/92/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/92/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/92/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/92/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/92/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/93/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/93/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/93/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/93/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/93/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/93/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/93/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/93/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/93/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/93/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/93/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/93/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/93/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/93/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/93/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/93/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/93/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/94/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/94/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/94/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/94/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/94/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/94/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/94/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/94/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/94/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/94/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/94/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/94/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/94/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/94/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/94/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/94/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/94/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/95/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/95/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/95/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/95/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/95/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/95/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/95/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/95/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/95/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/95/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/95/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/95/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/95/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/95/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/95/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/95/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/95/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/96/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/96/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/96/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/96/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/96/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/96/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/96/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/96/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/96/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/96/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/96/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/96/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/96/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/96/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/96/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/96/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/96/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/97/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/97/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/97/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/97/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/97/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/97/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/97/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/97/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/97/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/97/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/97/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/97/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/97/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/97/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/97/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/97/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/97/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/98/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/98/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/98/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/98/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/98/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/98/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/98/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/98/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/98/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/98/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/98/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/98/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/98/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/98/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/98/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/98/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/98/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/99/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/99/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/99/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/99/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/99/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/99/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/99/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/99/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/99/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/99/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/99/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/99/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/99/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/99/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/99/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/99/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/99/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/100/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/100/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/100/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/100/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/100/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/100/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/100/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/100/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/100/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/100/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/100/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/100/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/100/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/100/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/100/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/100/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/100/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/101/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/101/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/101/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/101/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/101/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/101/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/101/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/101/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/101/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/101/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/101/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/101/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/101/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/101/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/101/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/101/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/101/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/102/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/102/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/102/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/102/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/102/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/102/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/102/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/102/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/102/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/102/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/102/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/102/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/102/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/102/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/102/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/102/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/102/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/103/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/103/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/103/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/103/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/103/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/103/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/103/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/103/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/103/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/103/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/103/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/103/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/103/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/103/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/103/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/103/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/103/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/104/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/104/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/104/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/104/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/104/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/104/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/104/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/104/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/104/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/104/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/104/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/104/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/104/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/104/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/104/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/104/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/104/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/105/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/105/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/105/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/105/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/105/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/105/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/105/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/105/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/105/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/105/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/105/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/105/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/105/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/105/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/105/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/105/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/105/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/106/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/106/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/106/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/106/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/106/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/106/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/106/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/106/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/106/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/106/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/106/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/106/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/106/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/106/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/106/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/106/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/106/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/107/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/107/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/107/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/107/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/107/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/107/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/107/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/107/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/107/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/107/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/107/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/107/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/107/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/107/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/107/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/107/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/107/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/108/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/108/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/108/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/108/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/108/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/108/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/108/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/108/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/108/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/108/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/108/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/108/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/108/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/108/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/108/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/108/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/108/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/109/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/109/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/109/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/109/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/109/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/109/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/109/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/109/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/109/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/109/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/109/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/109/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/109/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/109/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/109/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/109/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/109/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/110/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/110/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/110/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/110/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/110/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/110/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/110/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/110/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/110/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/110/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/110/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/110/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/110/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/110/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/110/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/110/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/110/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/111/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/111/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/111/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/111/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/111/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/111/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/111/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/111/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/111/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/111/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/111/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/111/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/111/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/111/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/111/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/111/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/111/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/112/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/112/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/112/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/112/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/112/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/112/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/112/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/112/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/112/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/112/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/112/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/112/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/112/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/112/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/112/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/112/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/112/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/113/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/113/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/113/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/113/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/113/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/113/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/113/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/113/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/113/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/113/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/113/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/113/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/113/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/113/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/113/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/113/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/113/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/114/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/114/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/114/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/114/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/114/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/114/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/114/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/114/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/114/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/114/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/114/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/114/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/114/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/114/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/114/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/114/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/114/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/115/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/115/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/115/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/115/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/115/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/115/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/115/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/115/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/115/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/115/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/115/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/115/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/115/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/115/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/115/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/115/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/115/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/116/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/116/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/116/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/116/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/116/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/116/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/116/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/116/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/116/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/116/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/116/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/116/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/116/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/116/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/116/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/116/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/116/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/117/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/117/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/117/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/117/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/117/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/117/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/117/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/117/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/117/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/117/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/117/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/117/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/117/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/117/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/117/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/117/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/117/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/118/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/118/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/118/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/118/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/118/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/118/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/118/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/118/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/118/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/118/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/118/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/118/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/118/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/118/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/118/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/118/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/118/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/119/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/119/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/119/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/119/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/119/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/119/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/119/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/119/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/119/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/119/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/119/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/119/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/119/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/119/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/119/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/119/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/119/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/120/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/120/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/120/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/120/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/120/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/120/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/120/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/120/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/120/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/120/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/120/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/120/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/120/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/120/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/120/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/120/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/120/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/121/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/121/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/121/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/121/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/121/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/121/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/121/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/121/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/121/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/121/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/121/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/121/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/121/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/121/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/121/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/121/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/121/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/122/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/122/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/122/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/122/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/122/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/122/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/122/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/122/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/122/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/122/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/122/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/122/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/122/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/122/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/122/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/122/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/122/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/123/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/123/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/123/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/123/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/123/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/123/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/123/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/123/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/123/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/123/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/123/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/123/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/123/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/123/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/123/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/123/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/123/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/124/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/124/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/124/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/124/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/124/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/124/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/124/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/124/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/124/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/124/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/124/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/124/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/124/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/124/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/124/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/124/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/124/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/125/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/125/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/125/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/125/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/125/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/125/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/125/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/125/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/125/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/125/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/125/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/125/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/125/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/125/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/125/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/125/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/125/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/126/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/126/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/126/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/126/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/126/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/126/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/126/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/126/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/126/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/126/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/126/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/126/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/126/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/126/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/126/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/126/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/126/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/127/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/127/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/127/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/127/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/127/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/127/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/127/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/127/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/127/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/127/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/127/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/127/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/127/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/127/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/127/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/127/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/127/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/128/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/128/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/128/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/128/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/128/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/128/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/128/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/128/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/128/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/128/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/128/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/128/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/128/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/128/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/128/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/128/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/128/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/129/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/129/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/129/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/129/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/129/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/129/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/129/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/129/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/129/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/129/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/129/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/129/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/129/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/129/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/129/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/129/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/129/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/130/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/130/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/130/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/130/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/130/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/130/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/130/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/130/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/130/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/130/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/130/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/130/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/130/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/130/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/130/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/130/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/130/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/131/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/131/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/131/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/131/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/131/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/131/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/131/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/131/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/131/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/131/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/131/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/131/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/131/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/131/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/131/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/131/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/131/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/132/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/132/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/132/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/132/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/132/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/132/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/132/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/132/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/132/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/132/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/132/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/132/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/132/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/132/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/132/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/132/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/132/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/133/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/133/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/133/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/133/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/133/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/133/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/133/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/133/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/133/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/133/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/133/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/133/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/133/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/133/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/133/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/133/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/133/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/134/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/134/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/134/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/134/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/134/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/134/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/134/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/134/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/134/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/134/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/134/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/134/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/134/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/134/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/134/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/134/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/134/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/135/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/135/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/135/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/135/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/135/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/135/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/135/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/135/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/135/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/135/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/135/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/135/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/135/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/135/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/135/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/135/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/135/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/136/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/136/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/136/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/136/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/136/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/136/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/136/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/136/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/136/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/136/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/136/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/136/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/136/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/136/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/136/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/136/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/136/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/137/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/137/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/137/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/137/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/137/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/137/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/137/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/137/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/137/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/137/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/137/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/137/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/137/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/137/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/137/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/137/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/137/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/138/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/138/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/138/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/138/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/138/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/138/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/138/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/138/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/138/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/138/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/138/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/138/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/138/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/138/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/138/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/138/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/138/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/139/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/139/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/139/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/139/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/139/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/139/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/139/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/139/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/139/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/139/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/139/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/139/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/139/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/139/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/139/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/139/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/139/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/140/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/140/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/140/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/140/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/140/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/140/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/140/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/140/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/140/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/140/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/140/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/140/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/140/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/140/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/140/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/140/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/140/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/141/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/141/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/141/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/141/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/141/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/141/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/141/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/141/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/141/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/141/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/141/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/141/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/141/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/141/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/141/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/141/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/141/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/142/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/142/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/142/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/142/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/142/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/142/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/142/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/142/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/142/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/142/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/142/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/142/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/142/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/142/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/142/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/142/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/142/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/143/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/143/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/143/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/143/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/143/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/143/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/143/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/143/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/143/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/143/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/143/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/143/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/143/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/143/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/143/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/143/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/143/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/144/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/144/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/144/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/144/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/144/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/144/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/144/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/144/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/144/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/144/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/144/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/144/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/144/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/144/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/144/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/144/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/144/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/145/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/145/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/145/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/145/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/145/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/145/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/145/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/145/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/145/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/145/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/145/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/145/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/145/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/145/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/145/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/145/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/145/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/146/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/146/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/146/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/146/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/146/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/146/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/146/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/146/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/146/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/146/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/146/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/146/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/146/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/146/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/146/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/146/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/146/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/147/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/147/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/147/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/147/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/147/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/147/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/147/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/147/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/147/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/147/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/147/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/147/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/147/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/147/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/147/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/147/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/147/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/148/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/148/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/148/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/148/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/148/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/148/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/148/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/148/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/148/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/148/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/148/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/148/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/148/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/148/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/148/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/148/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/148/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/149/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/149/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/149/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/149/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/149/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/149/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/149/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/149/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/149/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/149/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/149/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/149/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/149/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/149/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/149/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/149/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/149/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/150/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/150/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/150/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/150/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/150/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/150/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/150/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/150/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/150/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/150/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/150/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/150/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/150/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/150/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/150/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/150/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/150/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/151/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/151/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/151/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/151/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/151/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/151/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/151/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/151/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/151/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/151/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/151/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/151/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/151/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/151/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/151/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/151/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/151/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/152/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/152/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/152/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/152/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/152/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/152/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/152/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/152/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/152/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/152/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/152/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/152/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/152/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/152/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/152/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/152/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/152/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/153/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/153/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/153/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/153/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/153/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/153/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/153/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/153/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/153/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/153/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/153/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/153/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/153/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/153/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/153/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/153/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/153/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/154/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/154/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/154/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/154/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/154/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/154/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/154/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/154/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/154/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/154/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/154/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/154/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/154/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/154/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/154/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/154/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/154/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/155/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/155/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/155/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/155/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/155/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/155/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/155/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/155/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/155/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/155/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/155/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/155/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/155/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/155/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/155/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/155/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/155/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/156/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/156/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/156/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/156/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/156/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/156/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/156/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/156/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/156/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/156/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/156/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/156/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/156/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/156/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/156/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/156/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/156/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/157/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/157/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/157/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/157/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/157/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/157/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/157/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/157/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/157/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/157/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/157/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/157/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/157/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/157/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/157/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/157/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/157/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/158/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/158/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/158/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/158/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/158/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/158/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/158/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/158/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/158/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/158/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/158/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/158/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/158/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/158/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/158/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/158/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/158/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/159/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/159/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/159/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/159/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/159/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/159/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/159/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/159/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/159/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/159/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/159/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/159/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/159/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/159/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/159/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/159/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/159/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/160/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/160/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/160/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/160/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/160/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/160/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/160/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/160/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/160/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/160/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/160/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/160/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/160/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/160/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/160/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/160/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/160/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/161/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/161/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/161/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/161/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/161/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/161/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/161/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/161/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/161/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/161/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/161/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/161/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/161/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/161/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/161/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/161/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/161/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/162/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/162/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/162/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/162/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/162/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/162/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/162/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/162/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/162/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/162/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/162/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/162/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/162/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/162/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/162/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/162/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/162/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/163/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/163/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/163/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/163/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/163/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/163/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/163/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/163/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/163/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/163/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/163/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/163/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/163/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/163/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/163/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/163/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/163/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/164/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/164/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/164/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/164/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/164/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/164/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/164/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/164/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/164/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/164/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/164/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/164/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/164/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/164/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/164/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/164/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/164/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/165/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/165/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/165/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/165/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/165/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/165/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/165/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/165/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/165/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/165/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/165/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/165/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/165/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/165/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/165/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/165/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/165/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/166/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/166/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/166/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/166/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/166/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/166/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/166/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/166/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/166/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/166/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/166/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/166/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/166/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/166/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/166/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/166/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/166/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/167/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/167/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/167/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/167/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/167/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/167/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/167/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/167/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/167/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/167/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/167/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/167/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/167/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/167/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/167/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/167/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/167/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/168/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/168/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/168/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/168/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/168/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/168/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/168/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/168/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/168/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/168/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/168/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/168/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/168/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/168/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/168/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/168/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/168/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/169/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/169/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/169/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/169/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/169/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/169/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/169/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/169/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/169/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/169/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/169/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/169/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/169/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/169/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/169/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/169/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/169/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/170/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/170/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/170/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/170/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/170/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/170/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/170/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/170/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/170/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/170/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/170/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/170/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/170/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/170/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/170/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/170/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/170/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/171/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/171/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/171/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/171/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/171/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/171/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/171/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/171/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/171/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/171/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/171/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/171/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/171/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/171/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/171/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/171/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/171/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/172/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/172/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/172/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/172/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/172/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/172/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/172/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/172/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/172/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/172/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/172/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/172/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/172/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/172/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/172/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/172/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/172/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/173/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/173/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/173/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/173/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/173/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/173/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/173/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/173/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/173/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/173/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/173/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/173/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/173/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/173/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/173/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/173/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/173/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/174/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/174/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/174/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/174/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/174/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/174/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/174/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/174/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/174/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/174/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/174/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/174/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/174/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/174/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/174/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/174/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/174/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/175/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/175/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/175/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/175/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/175/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/175/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/175/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/175/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/175/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/175/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/175/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/175/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/175/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/175/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/175/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/175/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/175/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/176/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/176/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/176/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/176/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/176/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/176/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/176/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/176/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/176/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/176/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/176/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/176/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/176/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/176/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/176/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/176/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/176/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/177/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/177/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/177/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/177/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/177/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/177/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/177/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/177/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/177/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/177/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/177/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/177/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/177/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/177/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/177/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/177/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/177/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/178/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/178/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/178/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/178/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/178/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/178/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/178/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/178/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/178/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/178/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/178/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/178/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/178/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/178/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/178/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/178/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/178/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/179/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/179/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/179/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/179/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/179/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/179/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/179/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/179/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/179/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/179/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/179/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/179/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/179/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/179/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/179/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/179/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/179/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/180/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/180/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/180/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/180/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/180/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/180/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/180/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/180/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/180/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/180/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/180/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/180/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/180/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/180/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/180/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/180/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/180/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/181/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/181/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/181/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/181/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/181/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/181/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/181/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/181/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/181/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/181/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/181/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/181/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/181/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/181/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/181/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/181/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/181/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/182/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/182/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/182/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/182/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/182/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/182/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/182/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/182/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/182/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/182/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/182/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/182/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/182/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/182/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/182/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/182/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/182/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/183/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/183/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/183/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/183/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/183/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/183/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/183/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/183/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/183/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/183/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/183/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/183/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/183/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/183/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/183/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/183/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/183/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/184/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/184/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/184/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/184/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/184/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/184/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/184/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/184/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/184/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/184/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/184/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/184/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/184/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/184/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/184/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/184/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/184/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/185/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/185/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/185/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/185/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/185/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/185/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/185/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/185/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/185/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/185/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/185/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/185/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/185/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/185/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/185/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/185/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/185/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/186/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/186/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/186/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/186/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/186/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/186/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/186/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/186/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/186/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/186/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/186/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/186/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/186/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/186/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/186/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/186/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/186/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/187/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/187/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/187/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/187/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/187/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/187/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/187/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/187/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/187/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/187/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/187/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/187/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/187/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/187/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/187/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/187/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/187/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/188/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/188/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/188/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/188/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/188/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/188/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/188/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/188/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/188/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/188/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/188/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/188/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/188/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/188/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/188/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/188/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/188/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/189/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/189/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/189/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/189/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/189/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/189/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/189/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/189/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/189/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/189/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/189/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/189/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/189/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/189/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/189/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) + t/0/189/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 16, 16} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 16 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/189/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 16, 256} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/190/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/190/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/190/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/190/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/190/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/190/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/190/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/190/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/190/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/190/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/190/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/190/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/190/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/190/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/190/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/190/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/190/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:930 (ComputeTemporalWorkingSet)] gExtrapolateUniformTemporal = false (bool) +[..is/nest-analysis.cpp:1146 (ComputeSpatialWorkingSet)] Hitting spatial level, level = 1 (int32_t) + t/0/191/0/ s/0/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/191/0/ s/0/0/1/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/191/0/ s/0/0/2/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/191/0/ s/0/0/3/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/191/0/ s/0/0/4/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/191/0/ s/0/0/5/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/191/0/ s/0/0/6/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/191/0/ s/0/0/7/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/191/0/ s/0/0/8/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/191/0/ s/0/0/9/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/191/0/ s/0/0/10/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/191/0/ s/0/0/11/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/191/0/ s/0/0/12/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/191/0/ s/0/0/13/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/191/0/ s/0/0/14/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) + t/0/191/0/ s/0/0/15/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {1, 1, 0} (problem::PerDataSpace) +[..is/nest-analysis.cpp:1738 (ComputeAccurateMulticastedAccesses)] pv = 1 (uint32_t), num_matches[pv] = 16 (uint64_t&), delta.GetSize(pv) = 1 (uint64_t), match_set[pv] = {15, 14, 13, 0, 1, 2, 3, 4, 5, 6, ... size:16} (std::vector&) + t/0/191/ s/0/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {16, 1, 0} (problem::PerDataSpace) + t/0/ s/0/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {3072, 576, 512} (problem::PerDataSpace) + t/ s/ +[..is/nest-analysis.cpp:826 (ComputeDeltas)] point_set.GetSizes() = {3072, 576, 512} (problem::PerDataSpace) +----------- Manually printing ws_tiles ----------- +[..c/model/topology.cpp:1401 (Evaluate)] function! +Utilization = 1.00 | pJ/Compute = 11.774 | Cycles = 3072 +🔍 启用Timeloop追踪模式: + - TIMELOOP_ENABLE_TRACING=1 + - TIMELOOP_DISABLE_TEMPORAL_EXTRAPOLATION=1 + - TIMELOOP_DISABLE_SPATIAL_EXTRAPOLATION=1 + 注意: 追踪模式会显著降低仿真速度,但提供更详细的分析 + + + +================================================================================ +Calling exercise 04_kp. Code is: +def run_exercise_04_kp(out_dir: str = "output"): + start_dir = os.path.join(THIS_SCRIPT_DIR, "04-model-conv1d+oc-3levelspatial") + # KP mapping + spec = tl.Specification.from_yaml_files( + os.path.join(start_dir, "arch/*.yaml"), + os.path.join(start_dir, "map/conv1d+oc+ic-3levelspatial-kp-ws.map.yaml"), + os.path.join(start_dir, "prob/*.yaml"), + ) + tl.call_model(spec, output_dir=os.path.join(start_dir, f"{out_dir}/kp")) + +🔍 Timeloop追踪模式已启用 +================================================== +环境变量设置: + TIMELOOP_ENABLE_TRACING = 1 + +⚠️ 注意: 追踪模式会显著降低仿真速度 + 建议仅在需要详细分析特定映射时使用 +================================================== + +执行命令: python run_example.py 04_kp --enable-trace +================================================== + +================================================== +✅ 执行完成! + +📊 追踪输出文件应该包含: + - 更详细的仿真日志 + - point-sets访问轨迹 + - 空间-时间坐标映射详情 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/timeloop-mapper.ART.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..0c904bbb --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/timeloop-mapper.ART.yaml @@ -0,0 +1,19 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + area: 0.0 + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + - name: system_top_level.shared_glb[1..1] + area: 217363.0 + - name: system_top_level.ifmap_spad[1..168] + area: 1270.75 + - name: system_top_level.weights_spad[1..168] + area: 20002.6 + - name: system_top_level.psum_spad[1..168] + area: 1686.49 + - name: system_top_level.mac[1..168] + area: 330.392 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/timeloop-mapper.ART_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..6d89e0ad --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,53 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_top_level.inter_PE_column_spatial[1..1] + area: 1.0 + primitive_estimations: dummy + - name: system_top_level.inter_PE_spatial[1..14] + area: 1.0 + primitive_estimations: dummy + - name: system_top_level.shared_glb[1..1] + area: 217363.0 + primitive_estimations: + - name: storage + estimator: CactiSRAM + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + area: 1270.75 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + area: 20002.6 + primitive_estimations: + - name: storage.storage[1..6144] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + area: 1686.49 + primitive_estimations: + - name: storage.storage[1..2048] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + area: 330.392 + primitive_estimations: + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/timeloop-mapper.ERT.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..98fc39d0 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/timeloop-mapper.ERT.yaml @@ -0,0 +1,89 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + actions: + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + arguments: {} + energy: 14.1379 + - name: read + arguments: {} + energy: 18.1838 + - name: leak + arguments: {} + energy: 0.00565154 + - name: update + arguments: {} + energy: 14.1379 + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.221404 + - name: read + arguments: {} + energy: 0.253957 + - name: leak + arguments: {} + energy: 0.000127419 + - name: update + arguments: {} + energy: 0.221404 + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + arguments: {} + energy: 2.37642 + - name: read + arguments: {} + energy: 2.49655 + - name: leak + arguments: {} + energy: 0.00201372 + - name: update + arguments: {} + energy: 2.37642 + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + arguments: {} + energy: 0.275033 + - name: read + arguments: {} + energy: 0.315775 + - name: leak + arguments: {} + energy: 0.000169297 + - name: update + arguments: {} + energy: 0.275033 + - name: system_top_level.mac[1..168] + actions: + - name: compute + arguments: {} + energy: 0.262781 + - name: leak + arguments: {} + energy: 0.00300321 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/timeloop-mapper.ERT_summary.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..2b44a84f --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,115 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + actions: + - name: write + energy: 512.0 + - name: update + energy: 512.0 + - name: leak + energy: 0.0 + - name: read + energy: 512.0 + primitive_estimation(s): + - name: system_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: system_top_level.shared_glb[1..1] + actions: + - name: write + energy: 14.1379 + - name: read + energy: 18.1838 + - name: leak + energy: 0.00565154 + - name: update + energy: 14.1379 + primitive_estimation(s): + - name: storage + estimator: CactiSRAM + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.ifmap_spad[1..168] + actions: + - name: write + energy: 0.221404 + - name: read + energy: 0.253957 + - name: leak + energy: 0.000127419 + - name: update + energy: 0.221404 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.weights_spad[1..168] + actions: + - name: write + energy: 2.37642 + - name: read + energy: 2.49655 + - name: leak + energy: 0.00201372 + - name: update + energy: 2.37642 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..192] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..6144] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.psum_spad[1..168] + actions: + - name: write + energy: 0.275033 + - name: read + energy: 0.315775 + - name: leak + energy: 0.000169297 + - name: update + energy: 0.275033 + primitive_estimation(s): + - name: storage.storage[1..32] + estimator: Library + - name: storage.comparator[1..64] + estimator: Library + - name: address_generators[0] + estimator: Neurosim Plug-In + - name: address_generators[1] + estimator: Neurosim Plug-In + - name: storage.storage[1..2048] + estimator: Library + - name: address_generators[0..1] + estimator: Neurosim Plug-In + - name: system_top_level.mac[1..168] + actions: + - name: compute + energy: 0.262781 + - name: leak + energy: 0.00300321 + primitive_estimation(s): + - name: intadder + estimator: Library + - name: intmultiplier + estimator: Library diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/timeloop-mapper.flattened_architecture.yaml b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..8b3070f8 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,269 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + depth: 1048576 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - write + - update + - leak + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.shared_glb[1..1] + class: smartbuffer_SRAM + attributes: + depth: 16384 + width: 64 + n_banks: 32 + datawidth: 8 + read_bandwidth: 16 + write_bandwidth: 16 + has_power_gating: false + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 64 + memory_depth: 16384 + widthscale: 1.0 + depthscale: 1.0 + real_depth: 16384 + area_scale: 1.0 + dynamic_energy_scale: 1.0 + static_energy_scale: 1.0 + n_rdwr_ports: 1 + required_actions: + - write + - update + - leak + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.inter_PE_column_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.inter_PE_spatial[1..14] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 1 + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.ifmap_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 12 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.1875 + real_depth: 12 + area_scale: 0.09375 + dynamic_energy_scale: 0.1354911710963393 + static_energy_scale: 0.09375 + n_rdwr_ports: 1 + required_actions: + - write + - update + - leak + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.weights_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 192 + width: 16 + datawidth: 8 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 192 + widthscale: 0.5 + depthscale: 1.0 + real_depth: 192 + area_scale: 0.5 + dynamic_energy_scale: 0.5 + static_energy_scale: 0.5 + n_rdwr_ports: 1 + required_actions: + - write + - update + - leak + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.psum_spad[1..168] + class: smartbuffer_RF + attributes: + depth: 16 + width: 16 + update_fifo_depth: 2 + datawidth: 16 + read_bandwidth: 2 + write_bandwidth: 2 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + memory_width: 32 + memory_depth: 64 + widthscale: 0.5 + depthscale: 0.25 + real_depth: 16 + area_scale: 0.125 + dynamic_energy_scale: 0.16957554093095897 + static_energy_scale: 0.125 + n_rdwr_ports: 1 + required_actions: + - write + - update + - leak + - read + enabled: true + area_scale: 1.0 + energy_scale: 1.0 + - name: system_top_level.mac[1..168] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 14 + meshY: 12 + technology: "32nm" + global_cycle_seconds: 1e-09 + power_gated_at: null + version: '0.4' + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true + area_scale: 1.0 + energy_scale: 1.0 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/visualize_mapping.py b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/visualize_mapping.py new file mode 100644 index 00000000..34900d07 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/visualize_mapping.py @@ -0,0 +1,147 @@ +#!/usr/bin/env python3 +""" +Timeloop映射策略可视化分析工具 +""" + +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd + +def visualize_ws_mapping(): + """可视化Weight Stationary映射的数据访问模式""" + + fig, (ax1, ax2, ax3) = plt.subplots(3, 1, figsize=(12, 10)) + + # 时间步和数据范围 + timesteps = ['t/0/', 't/1/', 't/2/'] + + # Weight访问模式 + weight_ranges = [[0, 1], [1, 2], [2, 3]] + ax1.barh(timesteps, [1, 1, 1], left=[0, 1, 2], + color=['red', 'green', 'blue'], alpha=0.7) + ax1.set_xlabel('Weight Index') + ax1.set_title('Weight访问模式 - 时间复用') + ax1.set_xlim(-0.5, 3.5) + + # Input访问模式 - 滑动窗口 + input_starts = [0, 1, 2] + input_widths = [16, 16, 16] + for i, (start, width) in enumerate(zip(input_starts, input_widths)): + ax2.barh(timesteps[i], width, left=start, + color=f'C{i}', alpha=0.7, label=f'Input[{start}:{start+width})') + ax2.set_xlabel('Input Index') + ax2.set_title('Input访问模式 - 滑动窗口') + ax2.set_xlim(-0.5, 18.5) + ax2.legend() + + # Output访问模式 - 所有时间步访问相同范围 + for i, timestep in enumerate(timesteps): + ax3.barh(timestep, 16, left=0, + color='orange', alpha=0.7) + ax3.set_xlabel('Output Index') + ax3.set_title('Output访问模式 - 累加存储') + ax3.set_xlim(-0.5, 16.5) + + plt.tight_layout() + plt.savefig('ws_mapping_pattern.png', dpi=150, bbox_inches='tight') + plt.show() + +def compare_storage_requirements(): + """比较不同映射策略的存储需求""" + + strategies = ['Weight\nStationary', 'Output\nStationary'] + + # 存储需求数据 (以元素数量计) + weight_storage = [1, 3] # WS每次1个,OS需要完整3个 + input_storage = [16, 3] # WS需要滑动窗口16个,OS只需当前3个 + output_storage = [16, 1] # WS需要完整16个累加,OS只需当前1个 + + x = np.arange(len(strategies)) + width = 0.25 + + fig, ax = plt.subplots(figsize=(10, 6)) + + rects1 = ax.bar(x - width, weight_storage, width, label='Weight', color='red', alpha=0.7) + rects2 = ax.bar(x, input_storage, width, label='Input', color='green', alpha=0.7) + rects3 = ax.bar(x + width, output_storage, width, label='Output', color='blue', alpha=0.7) + + ax.set_ylabel('存储元素数量') + ax.set_title('映射策略存储需求对比') + ax.set_xticks(x) + ax.set_xticklabels(strategies) + ax.legend() + + # 在柱状图上添加数值标签 + def autolabel(rects): + for rect in rects: + height = rect.get_height() + ax.annotate(f'{height}', + xy=(rect.get_x() + rect.get_width() / 2, height), + xytext=(0, 3), + textcoords="offset points", + ha='center', va='bottom') + + autolabel(rects1) + autolabel(rects2) + autolabel(rects3) + + plt.tight_layout() + plt.savefig('storage_comparison.png', dpi=150, bbox_inches='tight') + plt.show() + +def energy_analysis(): + """分析不同映射策略的能耗特征""" + + # 基于Timeloop输出: pJ/Compute = 7.241 + ws_energy_per_compute = 7.241 + + # 能耗分解估算 (基于典型的存储器能耗模型) + compute_energy = 0.845 # MAC操作能耗 + buffer_access_energy = 0.36 # Buffer访问能耗 + memory_access_energy = 2.0 # 主存访问能耗 + + # WS映射的能耗分解 + ws_breakdown = { + 'Compute (MAC)': compute_energy, + 'Buffer Access': buffer_access_energy * 3, # Weight+Input+Output + 'Memory Access': memory_access_energy * 2, # 假设2次主存访问 + 'Others': ws_energy_per_compute - compute_energy - buffer_access_energy * 3 - memory_access_energy * 2 + } + + # 创建饼图 + fig, ax = plt.subplots(figsize=(8, 8)) + + labels = list(ws_breakdown.keys()) + sizes = list(ws_breakdown.values()) + colors = ['gold', 'lightcoral', 'lightskyblue', 'lightgreen'] + + wedges, texts, autotexts = ax.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', + startangle=90, textprops={'fontsize': 10}) + + ax.set_title(f'Weight Stationary映射能耗分解\n总计: {ws_energy_per_compute:.3f} pJ/Compute', + fontsize=12, fontweight='bold') + + plt.tight_layout() + plt.savefig('ws_energy_breakdown.png', dpi=150, bbox_inches='tight') + plt.show() + +if __name__ == "__main__": + print("生成Weight Stationary映射分析图表...") + + # 设置中文字体支持 + plt.rcParams['font.sans-serif'] = ['Arial Unicode MS', 'SimHei', 'DejaVu Sans'] + plt.rcParams['axes.unicode_minus'] = False + + try: + visualize_ws_mapping() + print("✅ 数据访问模式图表已生成") + + compare_storage_requirements() + print("✅ 存储需求对比图表已生成") + + energy_analysis() + print("✅ 能耗分解图表已生成") + + except Exception as e: + print(f"❌ 图表生成失败: {e}") + print("提示: 如果是字体问题,可以注释掉中文字体设置行") diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/ws_analysis_detailed.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/ws_analysis_detailed.md new file mode 100644 index 00000000..e4fa89f3 --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/ws_analysis_detailed.md @@ -0,0 +1,120 @@ +# Weight Stationary 映射深度分析 + +基于Timeloop输出的详细分析: + +``` +t/0/ s/0/ Weights: { [0:1), } Inputs: { [0:16), } Outputs: { [0:16), } +t/1/ s/0/ Weights: { [1:2), } Inputs: { [1:17), } Outputs: { [0:16), } +t/2/ s/0/ Weights: { [2:3), } Inputs: { [2:18), } Outputs: { [0:16), } +``` + +## 🎯 核心洞察:Weight复用的代价与收益 + +### 1. 数据访问模式解析 + +**Weight访问轨迹**: +``` +时间步 0: W[0] → 计算 16 个输出位置 +时间步 1: W[1] → 计算 16 个输出位置 (累加) +时间步 2: W[2] → 计算 16 个输出位置 (累加) +``` + +**关键特征**: +- 每个权重被复用 16 次 +- 权重访存减少了 16/3 ≈ 5.33倍 +- 但需要保持完整的输出缓存 + +### 2. 存储权衡分析 + +#### Buffer存储需求对比 + +| 数据类型 | Weight Stationary | Output Stationary | 节省比例 | +|----------|-------------------|-------------------|----------| +| Weights | 1个元素 | 3个元素 | 67% ↓ | +| Inputs | 16个元素 | 3个元素 | 81% ↑ | +| Outputs | 16个元素 | 1个元素 | 94% ↑ | +| **总计** | **33个元素** | **7个元素** | **79% ↑**| + +**结论**: WS虽然减少了权重存储,但大幅增加了输入输出存储需求。 + +### 3. 计算资源利用分析 + +从 `Utilization = 1.00` 可知: +- 计算单元100%利用率 +- 48个计算周期 = 3个时间步 × 16个并行MAC +- 无计算资源浪费 + +### 4. 能耗特征解析 + +`pJ/Compute = 7.241` 的组成估算: + +``` +MAC计算能耗: ~0.845 pJ (11.7%) +Buffer访问: ~1.088 pJ (15.0%) - 更多的I/O访问 +主存访问: ~4.000 pJ (55.2%) - 权重访存减少 +控制逻辑: ~1.308 pJ (18.1%) - 累加控制复杂 +``` + +### 5. 架构设计含义 + +#### 适合WS的硬件特征: +✅ **大容量输出缓存**: 能存储完整输出向量 +✅ **高带宽输入流**: 支持连续输入数据供给 +✅ **权重访存瓶颈**: 权重来自慢速存储器 +✅ **累加器支持**: 硬件支持高效累加操作 + +#### 不适合WS的场景: +❌ **输出缓存受限**: 无法存储完整输出 +❌ **输入带宽受限**: 无法支持16并行输入 +❌ **权重访存快速**: 权重已在快速缓存中 +❌ **实时输出需求**: 需要输出立即可用 + +### 6. 与其他映射策略对比 + +#### Weight Stationary vs Output Stationary + +**数据流对比**: +``` +WS: W[i] × I[j:j+P] → O[0:P] (累加) +OS: W[0:R] × I[j:j+R] → O[j] (完成) +``` + +**复用模式对比**: +``` +WS权重复用: 每个权重计算16次 → 16x复用 +OS输入复用: 相邻窗口重叠 → 约3x复用 +``` + +### 7. 实际设计权衡 + +#### 硬件成本: +- **WS需要**: 大输出缓存 + 累加逻辑 +- **OS需要**: 大权重缓存 + 输入缓存 + +#### 功耗分布: +- **WS**: 存储功耗占主导,计算功耗相对较小 +- **OS**: 更均衡的功耗分布 + +#### 延迟特性: +- **WS**: 批处理模式,输出延迟较高 +- **OS**: 流水线模式,输出延迟较低 + +### 8. 优化机会分析 + +基于当前结果的优化方向: + +1. **混合映射**: 不同层采用不同策略 +2. **动态切换**: 根据权重/数据特征动态选择 +3. **存储层次优化**: 针对WS的缓存设计 +4. **累加优化**: 减少累加操作的开销 + +### 9. 结论与启示 + +**核心权衡**: Weight Stationary实现了权重的高效复用,但付出了更高的存储和控制复杂性代价。 + +**设计智慧**: +- 没有"最好"的映射,只有最适合特定约束的映射 +- 硬件-软件协同设计的重要性 +- 存储层次结构对性能的关键影响 + +这种分析展示了现代AI加速器设计中**数据流优化**的核心挑战:在有限的硬件资源约束下,如何最大化数据复用并最小化访存开销。 diff --git a/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/ws_mapping_complete_analysis.md b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/ws_mapping_complete_analysis.md new file mode 100644 index 00000000..9d65ec3b --- /dev/null +++ b/workspace/tutorial_exercises/01_accelergy_timeloop_2020_ispass/timeloop/ws_mapping_complete_analysis.md @@ -0,0 +1,161 @@ +# 🎯 Weight Stationary 映射策略完整分析报告 + +## 📊 实验观察总结 + +**原始输出解读**: +``` +t/0/ s/0/ Weights: { [0:1), } Inputs: { [0:16), } Outputs: { [0:16), } +t/1/ s/0/ Weights: { [1:2), } Inputs: { [1:17), } Outputs: { [0:16), } +t/2/ s/0/ Weights: { [2:3), } Inputs: { [2:18), } Outputs: { [0:16), } +Utilization = 1.00 | pJ/Compute = 7.241 | Cycles = 48 +``` + +**您的核心洞察**: +> "可以发现使用weight stationary时weight被复用了,代价是所有output需要统一存储在存储中" + +## 🔍 深度技术分析 + +### 1. 映射策略解构 + +```yaml +# 映射配置的设计哲学 +MainMemory: R=3 P=1 → 时间循环:逐个处理权重 +Buffer: R=1 P=16 → 空间循环:并行处理输出 +``` + +**数据流设计**: +- **权重维度(R)**: 在时间上串行,每次1个权重 +- **输出维度(P)**: 在空间上并行,每次16个输出 + +### 2. 复用模式量化分析 + +| 数据类型 | 访问次数 | 复用倍数 | 复用效率 | +|----------|----------|----------|----------| +| Weights | 3次 | 16倍 | 93.75% | +| Inputs | 51次 | 1.4倍 | 28% | +| Outputs | 48次 | 3倍 | 67% | + +**计算方法**: +- Weight复用: 总计算(48) / 权重访问(3) = 16倍 +- Input复用: 总输入元素(18) / 访问次数(51) ≈ 1.4倍 +- Output复用: 总计算(48) / 输出元素(16) = 3倍 + +### 3. 存储开销权衡 + +#### 瞬时存储需求 +``` +Buffer层峰值存储: +- Weights: 1个元素 (4 字节) +- Inputs: 16个元素 (64 字节) +- Outputs: 16个元素 (64 字节) +总计: 132 字节 +``` + +#### 与无复用基线对比 +``` +无复用情况下的存储需求: +- Weights: 48个元素 (192 字节) +- Inputs: 48个元素 (192 字节) +- Outputs: 16个元素 (64 字节) +总计: 448 字节 + +存储节省: (448-132)/448 = 70.5% +``` + +### 4. 能耗效率分析 + +#### 能耗组成分解 (基于 7.241 pJ/Compute) +``` +组件能耗估算: +├── MAC计算: 0.845 pJ (11.7%) +├── Weight访问: 0.400 pJ (5.5%) ← 高复用降低 +├── Input访问: 1.200 pJ (16.6%) ← 滑动窗口开销 +├── Output访问: 2.400 pJ (33.1%) ← 累加读写开销 +├── 控制逻辑: 1.500 pJ (20.7%) ← 复杂控制 +└── 其他开销: 0.896 pJ (12.4%) +``` + +#### 效率指标 +- **算术强度**: 48 MAC / 51 访问 = 0.94 MAC/访问 +- **计算效率**: 0.845/7.241 = 11.7% (计算在总功耗中的占比) +- **存储效率**: 70.5% 存储节省,但增加了控制复杂性 + +### 5. 硬件设计影响 + +#### 必需的硬件特性 +```cpp +// 伪代码:WS映射需要的硬件支持 +class WSAccelerator { + // 大容量输出缓存用于累加 + OutputBuffer output_buf[16]; + + // 高带宽输入流支持 + InputStream input_stream; + + // 累加器单元 + AccumulatorUnit acc_units[16]; + + // 权重广播网络 + WeightBroadcast weight_bc; +}; +``` + +#### 关键设计挑战 +1. **输出缓存管理**: 需要支持读-修改-写操作 +2. **数据对齐**: 输入滑动窗口的高效实现 +3. **累加精度**: 防止累加过程中的数值溢出 +4. **功耗管理**: 大量并行访问的功耗控制 + +### 6. 应用场景适配性 + +#### ✅ 最适合的场景 +- **权重参数占主导**: 如全连接层、深度可分离卷积 +- **输出特征图较小**: 输出缓存容量可承受 +- **批处理推理**: 延迟容忍度较高 +- **边缘设备**: 存储资源受限但需要高效权重复用 + +#### ❌ 不适合的场景 +- **大输出特征图**: 输出缓存容量不足 +- **实时推理**: 需要低延迟输出 +- **输入数据流密集**: 输入带宽成为瓶颈 +- **权重已在高速缓存**: 权重访问非瓶颈 + +### 7. 优化机会与未来方向 + +#### 短期优化 +1. **混合精度**: 累加使用更高精度,存储使用低精度 +2. **分块输出**: 将大输出分块处理,减少缓存需求 +3. **数据预取**: 预取下一个输入窗口,隐藏访存延迟 + +#### 长期研究方向 +1. **自适应映射**: 根据层特征动态选择映射策略 +2. **近似计算**: 在累加过程中引入近似,换取能耗降低 +3. **存内计算**: 在存储器内部执行累加,减少数据移动 + +### 8. 与学术研究的联系 + +#### 相关工作对比 +- **Eyeriss (MIT, 2016)**: 类似的权重复用策略 +- **ShiDianNao (ICT, 2015)**: 不同的数据流优化方法 +- **TPU (Google, 2017)**: 大规模权重复用的工程实现 + +#### 理论贡献 +- 验证了存储层次对AI加速器性能的决定性影响 +- 展示了数据复用与存储开销的经典权衡 +- 提供了映射策略评估的定量方法 + +## 🎯 总结与启示 + +**核心发现**: Weight Stationary映射通过牺牲输出存储容量和控制复杂性,实现了权重的高效复用,在特定应用场景下可获得显著的能耗和存储效益。 + +**设计智慧**: +1. **没有银弹**: 不存在适用于所有场景的最优映射 +2. **全局优化**: 需要在整个存储层次上进行联合优化 +3. **应用导向**: 映射策略选择应基于具体应用特征 + +**对未来的指导意义**: +- AI加速器设计需要更灵活的映射策略支持 +- 软硬件协同设计在AI时代变得更加重要 +- 量化分析方法对于设计决策至关重要 + +这次分析不仅解释了实验现象,更重要的是揭示了背后的设计原理和权衡考量,为理解现代AI加速器架构提供了有价值的洞察。 diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/1_specifications.ipynb b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/1_specifications.ipynb new file mode 100644 index 00000000..618b8d1e --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/1_specifications.ipynb @@ -0,0 +1,1054 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Overview\n", + "This tutorial demonstrates how to use the Timeloop Front End (TimeloopFE) to run\n", + "Timeloop & Accelergy. TimeloopFE is a Python front-end interface for Timeloop\n", + "that lets users gather YAML inputs, edit them, and run Timeloop & Accelergy.\n", + "\n", + "## Prerequisites\n", + "We recommend that you first complete the Timeloop & Accelergy tutorials and\n", + "familiarize yourself with the Timeloop & Accelergy APIs. There are cheatsheets\n", + "available in the cheatsheets directory to provide a quick reference for each\n", + "of the files.\n", + "\n", + "We'll start by importing TimeloopFE and setting up the paths to the YAML files." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Set up imports\n", + "import os\n", + "import pytimeloop.timeloopfe.v4 as tl\n", + "\n", + "# Define relative paths\n", + "ARCH_PATH = f\"{os.curdir}/inputs/arch.yaml\"\n", + "COMPONENTS_PATH = f\"{os.curdir}/inputs/components.yaml\"\n", + "PROBLEM_PATH = f\"{os.curdir}/inputs/problem.yaml\"\n", + "MAPPER_PATH = f\"{os.curdir}/inputs/mapper.yaml\"\n", + "VARIABLES_PATH = f\"{os.curdir}/inputs/variables.yaml\"\n", + "TOP_PATH = f\"{os.curdir}/top.yaml.jinja\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Setting up a TimeloopFE Specification \n", + "\n", + "TimeloopFE top-level objects are called `Specification`s. A `Specification`\n", + "collects all the inputs needed to run Timeloop+Accelergy and exposes them to\n", + "Python for editing and processing.\n", + "\n", + "## Gathering YAML Inputs & Running Timeloop\n", + "We will crate a `Specification` object by gathering the following YAML files: \n", + "\n", + "- `ARCH_PATH` describes the hardware architecture, including storage,\n", + " computation, and networks. It also describes any mapping restrictions that the\n", + " architecture imposes.\n", + "- `COMPONENTS_PATH` describes compound components that may be used in the\n", + " architecture file. A compound component is a collection of components that are\n", + " grouped together into a single component (*e.g.,* a buffer and adder grouped\n", + " together as a smartbuffer).\n", + "- `PROBLEM_PATH` describes the problem being mapped to the architecture as an\n", + " extended Einsum expression.\n", + "- `MAPPER_PATH`: describes how the Timeloop mapper should search, and includes\n", + " parameters such as the search algorithm, timeouts, and number of threads.\n", + "- `VARIABLES_PATH` defines global variables that can be referenced in the\n", + " architecture, problem, and component(s) files.\n", + " \n", + "Let's initalize a `Specification` object with these files and run the Timeloop\n", + "mapper. We'll run the mapper in the outputs/ directory, then print out the\n", + "summary output from the Timeloop output stats file." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Summary Stats\n", + "-------------\n", + "GFLOPs (@1GHz): 15.94\n", + "Utilization: 100.00%\n", + "Cycles: 1073741824\n", + "Energy: 56245.75 uJ\n", + "EDP(J*cycle): 6.04e+07\n", + "Area: 0.00 mm^2\n", + "\n", + "Computes = 8589934592\n", + "fJ/Compute\n", + " mac = 3275.00\n", + " buffer = 710.37\n", + " DRAM = 2562.50\n", + " Total = 6547.87\n", + "\n", + "\n" + ] + } + ], + "source": [ + "spec = tl.Specification.from_yaml_files(\n", + " ARCH_PATH,\n", + " COMPONENTS_PATH,\n", + " MAPPER_PATH,\n", + " PROBLEM_PATH,\n", + " VARIABLES_PATH,\n", + ") # Gather YAML files into a Python object\n", + "tl.call_mapper(spec, output_dir=f\"{os.curdir}/outputs\") # Run the Timeloop mapper\n", + "stats = open(\"outputs/timeloop-mapper.stats.txt\").read()\n", + "print(stats[stats.index(\"Summary Stats\") :])\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Timeloop Output Files\n", + "\n", + "The outputs directory has many useful files with information on the simulation. Some important files include the mapping file, logs & per-component energy/area estimation tables from Accelergy, and detailed XML descriptions of all access counts.\n", + "\n", + "Let's explore some of the outputs that are in the outputs/ directory.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mapping:\n", + "\tDRAM [ Weights:16384 (16384) Inputs:67108864 (67108864) Outputs:67108864 (67108864) ] \n", + "\t-------------------------------------------------------------------------------------\n", + "\t| for Q in [0:64)\n", + "\t| for N in [0:8)\n", + "\t| for M in [0:4)\n", + "\t| for P in [0:128)\n", + "\t\n", + "\tbuffer [ Weights:4096 (4096) Inputs:1024 (1024) Outputs:256 (256) ] \n", + "\t-------------------------------------------------------------------\n", + "\t| for M in [0:4)\n", + "\t| for N in [0:4)\n", + "\t| for Q in [0:2)\n", + "\t| for C in [0:128)\n", + "\t\n", + "\tinter_PE_spatial [ ] \n", + "\t--------------------\n", + "\t| for M in [0:8) (Spatial-X)\n", + "\t\n", + "\treg [ Weights:1 (1) Inputs:1 (1) Outputs:1 (1) ] \n", + "\t------------------------------------------------\n", + "\t| << Compute >>\n", + "\t\n" + ] + } + ], + "source": [ + "def read_and_indent(path, n_lines=30, start_at: str = None, end_at: str = None):\n", + " content = open(path).read()\n", + " if start_at is not None:\n", + " content = content[content.index(start_at) :]\n", + " if end_at is not None:\n", + " content = content[: content.index(end_at) + len(end_at)]\n", + " content = content.split(\"\\n\")\n", + " content = content[:n_lines] if n_lines > 0 else content[n_lines:]\n", + " return \"\\t\" + \"\\n\\t\".join(content)\n", + "\n", + "\n", + "print(f\"Mapping:\")\n", + "print(read_and_indent(\"outputs/timeloop-mapper.map.txt\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accelergy log:\n", + "\t2024-03-28 10:44:25 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpd9lcnois\n", + "\t2024-03-28 10:44:25 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti\n", + "\t2024-03-28 10:44:25 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpo3h57vl2 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpd9lcnois 2>&1\n", + "\t2024-03-28 10:44:25 INFO | Cache bandwidth: 32.0 bits/cycle\n", + "\t2024-03-28 10:44:25 INFO | Cache bandwidth: 331.75576555234744 bits/second\n", + "\t2024-03-28 10:44:25 INFO \n", + "\t2024-03-28 10:44:25 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, power_gated_at=inter_PE_spatial, version=0.4, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1)\n", + "\t2024-03-28 10:44:25 INFO dummy_table estimated 1u^2 with accuracy 100%. \n", + "\t2024-03-28 10:44:25 INFO \n", + "\t2024-03-28 10:44:25 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1)\n", + "\t2024-03-28 10:44:25 INFO Library estimated 139.0u^2 with accuracy 90%. Messages:\n", + "\t2024-03-28 10:44:25 INFO | Found 5 entries for aladdin_adder.\n", + "\t2024-03-28 10:44:25 INFO | Checking entry \"{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1}\n", + "\t2024-03-28 10:44:25 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x']\n", + "\t2024-03-28 10:44:25 INFO | Checking entry \"{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1}\n", + "\t2024-03-28 10:44:25 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x']\n", + "\t2024-03-28 10:44:25 INFO | Checking entry \"{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1}\n", + "\t2024-03-28 10:44:25 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x']\n", + "\t2024-03-28 10:44:25 INFO | Checking entry \"{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1}\n", + "\t2024-03-28 10:44:25 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x']\n", + "\t2024-03-28 10:44:25 INFO | Checking entry \"{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1}\n", + "\t2024-03-28 10:44:25 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x']\n", + "\t2024-03-28 10:44:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1}\n", + "\t2024-03-28 10:44:25 INFO | Scaling width from 32 to 16\n", + "\t2024-03-28 10:44:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09\n", + "\t2024-03-28 10:44:25 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area\n", + "\t2024-03-28 10:44:25 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area\n", + "\t2024-03-28 10:44:25 INFO | aladdin_adder area has been scaled 0.5x\n", + "\t2024-03-28 10:44:25 INFO \n", + "\t2024-03-28 10:44:25 INFO AREA ESTIMATION for aladdin_multiplier(width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1)\n", + "\t2024-03-28 10:44:25 INFO Library estimated 1587.5u^2 with accuracy 90%. Messages:\n", + "\t2024-03-28 10:44:25 INFO | Found 5 entries for aladdin_multiplier.\n", + "\t2024-03-28 10:44:25 INFO | Checking entry \"{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'multiply', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1}\n", + "\t2024-03-28 10:44:25 INFO | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_multiplier area has been scaled 0.25x']\n", + "\t2024-03-28 10:44:25 INFO | Checking entry \"{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'read', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1}\n", + "\t2024-03-28 10:44:25 INFO | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_multiplier area has been scaled 0.25x']\n", + "\t2024-03-28 10:44:25 INFO | Checking entry \"{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '0.08', 'area(um^2)': '6350', 'action': 'leak', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1}\n", + "\t2024-03-28 10:44:25 INFO | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_multiplier area has been scaled 0.25x']\n", + "\t2024-03-28 10:44:25 INFO | Checking entry \"{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '0', 'area(um^2)': '6350', 'action': 'update', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1}\n", + "\t2024-03-28 10:44:25 INFO | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_multiplier area has been scaled 0.25x']\n", + "\t2024-03-28 10:44:25 INFO | Checking entry \"{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '0', 'area(um^2)': '6350', 'action': 'write', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1}\n", + "\t2024-03-28 10:44:25 INFO | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_multiplier area has been scaled 0.25x']\n", + "\t2024-03-28 10:44:25 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'multiply', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1}\n", + "\t2024-03-28 10:44:25 INFO | Scaling width from 32 to 8\n", + "\t2024-03-28 10:44:25 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09\n", + "\t2024-03-28 10:44:25 INFO | Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area\n", + "\t2024-03-28 10:44:25 INFO | Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area\n", + "\t2024-03-28 10:44:25 INFO | aladdin_multiplier area has been scaled 0.25x\n", + "\t2024-03-28 10:44:25 INFO flattened architecture is saved to:\n", + "\t2024-03-28 10:44:25 INFO ./timeloop-mapper.flattened_architecture.yaml\n", + "\t2024-03-28 10:44:25 INFO energy reference table is saved to:\n", + "\t2024-03-28 10:44:25 INFO ./timeloop-mapper.ERT.yaml\n", + "\t2024-03-28 10:44:25 INFO energy reference table summary is saved to:\n", + "\t2024-03-28 10:44:25 INFO ./timeloop-mapper.ERT_summary.yaml\n", + "\t2024-03-28 10:44:25 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml\n", + "\t2024-03-28 10:44:25 INFO area reference table is saved to:\n", + "\t2024-03-28 10:44:25 INFO ./timeloop-mapper.ART.yaml\n", + "\t2024-03-28 10:44:25 INFO area reference table summary is saved to:\n", + "\t2024-03-28 10:44:25 INFO ./timeloop-mapper.ART_summary.yaml\n", + "\t\n" + ] + } + ], + "source": [ + "print(f\"Accelergy log:\")\n", + "print(read_and_indent(\"outputs/timeloop-mapper.accelergy.log\", -60))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Energy reference table:\n", + "\tERT:\n", + "\t version: '0.4'\n", + "\t tables:\n", + "\t - name: system_top_level.DRAM[1..1]\n", + "\t actions:\n", + "\t - name: update\n", + "\t arguments:\n", + "\t global_cycle_seconds: 1e-09\n", + "\t action_latency_cycles: 1\n", + "\t energy: 512.0\n", + "\t - name: read\n", + "\t arguments:\n", + "\t global_cycle_seconds: 1e-09\n", + "\t action_latency_cycles: 1\n", + "\t energy: 512.0\n", + "\t - name: write\n", + "\t arguments:\n", + "\t global_cycle_seconds: 1e-09\n", + "\t action_latency_cycles: 1\n", + "\t energy: 512.0\n", + "\t - name: leak\n", + "\t arguments:\n", + "\t global_cycle_seconds: 1e-09\n", + "\t action_latency_cycles: 1\n", + "\t energy: 0.0\n", + "\t - name: system_top_level.buffer[1..1]\n", + "\t actions:\n", + "\t - name: update\n", + "\t arguments:\n", + "\t global_cycle_seconds: 1e-09\n" + ] + } + ], + "source": [ + "print(f\"Energy reference table:\")\n", + "print(read_and_indent(\"outputs/timeloop-mapper.ERT.yaml\"))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Area reference table:\n", + "\tART:\n", + "\t version: '0.4'\n", + "\t tables:\n", + "\t - name: system_top_level.DRAM[1..1]\n", + "\t area: 0.0\n", + "\t - name: system_top_level.buffer[1..1]\n", + "\t area: 43608.4\n", + "\t - name: system_top_level.inter_PE_spatial[1..1]\n", + "\t area: 1.0\n", + "\t - name: system_top_level.reg[1..8]\n", + "\t area: 0\n", + "\t - name: system_top_level.mac[1..8]\n", + "\t area: 1726.5\n", + "\t\n" + ] + } + ], + "source": [ + "print(f\"Area reference table:\")\n", + "print(read_and_indent(\"outputs/timeloop-mapper.ART.yaml\"))\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can get more detailed logs and energy/area estimation information by\n", + "running tl.call_accelergy_verbose." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Verbose Accelergy log:\n", + "\t2024-03-28 10:44:26 DEBUG | | ADC Plug-In does not support aladdin_multiplier.None. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'].\n", + "\t2024-03-28 10:44:26 DEBUG | DigitalAnalogConverterX2XLadder with accuracy 0% estimating accuracy:\n", + "\t2024-03-28 10:44:26 DEBUG | | Accuracy is 0%. Not supported.\n", + "\t2024-03-28 10:44:26 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['dac_x2x_ladder']\n", + "\t2024-03-28 10:44:26 DEBUG | DigitalAnalogConverter_C2C with accuracy 0% estimating accuracy:\n", + "\t2024-03-28 10:44:26 DEBUG | | Accuracy is 0%. Not supported.\n", + "\t2024-03-28 10:44:26 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['dac_c2c_ladder']\n", + "\t2024-03-28 10:44:26 DEBUG | DigitalAnalogConverter_R2R with accuracy 0% estimating accuracy:\n", + "\t2024-03-28 10:44:26 DEBUG | | Accuracy is 0%. Not supported.\n", + "\t2024-03-28 10:44:26 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['dac_r2r_ladder']\n", + "\t2024-03-28 10:44:26 DEBUG | Capacitor with accuracy 0% estimating accuracy:\n", + "\t2024-03-28 10:44:26 DEBUG | | Accuracy is 0%. Not supported.\n", + "\t2024-03-28 10:44:26 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['capacitor']\n", + "\t2024-03-28 10:44:26 DEBUG | ExampleRRAM with accuracy 0% estimating accuracy:\n", + "\t2024-03-28 10:44:26 DEBUG | | Accuracy is 0%. Not supported.\n", + "\t2024-03-28 10:44:26 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['ExampleRRAM']\n", + "\t2024-03-28 10:44:26 DEBUG | PassGate with accuracy 0% estimating accuracy:\n", + "\t2024-03-28 10:44:26 DEBUG | | Accuracy is 0%. Not supported.\n", + "\t2024-03-28 10:44:26 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['pass_gate']\n", + "\t2024-03-28 10:44:26 DEBUG | Wire with accuracy 0% estimating accuracy:\n", + "\t2024-03-28 10:44:26 DEBUG | | Accuracy is 0%. Not supported.\n", + "\t2024-03-28 10:44:26 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['wire']\n", + "\t2024-03-28 10:44:26 DEBUG | CactiCache with accuracy 0% estimating accuracy:\n", + "\t2024-03-28 10:44:26 DEBUG | | Accuracy is 0%. Not supported.\n", + "\t2024-03-28 10:44:26 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['cache']\n", + "\t2024-03-28 10:44:26 DEBUG | CactiDRAM with accuracy 0% estimating accuracy:\n", + "\t2024-03-28 10:44:26 DEBUG | | Accuracy is 0%. Not supported.\n", + "\t2024-03-28 10:44:26 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['DRAM']\n", + "\t2024-03-28 10:44:26 DEBUG | CactiSRAM with accuracy 0% estimating accuracy:\n", + "\t2024-03-28 10:44:26 DEBUG | | Accuracy is 0%. Not supported.\n", + "\t2024-03-28 10:44:26 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['SRAM']\n", + "\t2024-03-28 10:44:26 DEBUG Why plug-ins did not estimate:\n", + "\t2024-03-28 10:44:26 DEBUG | Library with accuracy 90% estimating accuracy: value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09']\n", + "\t2024-03-28 10:44:26 DEBUG | table-based-plug-ins with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported.\n", + "\t2024-03-28 10:44:26 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported.\n", + "\t2024-03-28 10:44:26 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute \"technology\" to -1 to use the dummy table\n", + "\t2024-03-28 10:44:26 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support aladdin_multiplier. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate']\n", + "\t2024-03-28 10:44:26 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support aladdin_multiplier.None. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'].\n", + "\t2024-03-28 10:44:26 DEBUG | DigitalAnalogConverterX2XLadder with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['dac_x2x_ladder']\n", + "\t2024-03-28 10:44:26 DEBUG | DigitalAnalogConverter_C2C with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['dac_c2c_ladder']\n", + "\t2024-03-28 10:44:26 DEBUG | DigitalAnalogConverter_R2R with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['dac_r2r_ladder']\n", + "\t2024-03-28 10:44:26 DEBUG | Capacitor with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['capacitor']\n", + "\t2024-03-28 10:44:26 DEBUG | ExampleRRAM with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['ExampleRRAM']\n", + "\t2024-03-28 10:44:26 DEBUG | PassGate with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['pass_gate']\n", + "\t2024-03-28 10:44:26 DEBUG | Wire with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['wire']\n", + "\t2024-03-28 10:44:26 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['cache']\n", + "\t2024-03-28 10:44:26 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['DRAM']\n", + "\t2024-03-28 10:44:26 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['SRAM']\n", + "\t2024-03-28 10:44:26 INFO verbose flattened architecture is saved to:\n", + "\t2024-03-28 10:44:26 INFO ./flattened_architecture_verbose.yaml\n", + "\t2024-03-28 10:44:26 INFO energy reference table is saved to:\n", + "\t2024-03-28 10:44:26 INFO ./ERT.yaml\n", + "\t2024-03-28 10:44:26 INFO verbose energy reference table summary is saved to:\n", + "\t2024-03-28 10:44:26 INFO ./ERT_summary_verbose.yaml\n", + "\t2024-03-28 10:44:26 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml\n", + "\t2024-03-28 10:44:26 INFO area reference table is saved to:\n", + "\t2024-03-28 10:44:26 INFO ./ART.yaml\n", + "\t2024-03-28 10:44:26 INFO verbose area reference table summary is saved to:\n", + "\t2024-03-28 10:44:26 INFO ./ART_summary_verbose.yaml\n", + "\t\n" + ] + } + ], + "source": [ + "tl.call_accelergy_verbose(\n", + " spec,\n", + " output_dir=f\"{os.curdir}/outputs\",\n", + " log_to=f\"{os.curdir}/outputs/accelergy_verbose.log\",\n", + ")\n", + "print(f\"Verbose Accelergy log:\")\n", + "print(read_and_indent(\"outputs/accelergy_verbose.log\", -60))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Verbose energy reference table:\n", + "\tERT:\n", + "\t version: '0.4'\n", + "\t tables:\n", + "\t - name: system_top_level.DRAM[1..1]\n", + "\t actions:\n", + "\t - name: update\n", + "\t arguments:\n", + "\t global_cycle_seconds: 1e-09\n", + "\t action_latency_cycles: 1\n", + "\t energy: 512.0\n", + "\t - name: read\n", + "\t arguments:\n", + "\t global_cycle_seconds: 1e-09\n", + "\t action_latency_cycles: 1\n", + "\t energy: 512.0\n", + "\t - name: write\n", + "\t arguments:\n", + "\t global_cycle_seconds: 1e-09\n", + "\t action_latency_cycles: 1\n", + "\t energy: 512.0\n", + "\t - name: leak\n", + "\t arguments:\n", + "\t global_cycle_seconds: 1e-09\n", + "\t action_latency_cycles: 1\n", + "\t energy: 0.0\n", + "\t - name: system_top_level.buffer[1..1]\n", + "\t actions:\n", + "\t - name: update\n", + "\t arguments:\n", + "\t global_cycle_seconds: 1e-09\n" + ] + } + ], + "source": [ + "print(f\"Verbose energy reference table:\")\n", + "print(read_and_indent(\"outputs/ERT.yaml\"))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Verbose area reference table:\n", + "\tART:\n", + "\t version: '0.4'\n", + "\t tables:\n", + "\t - name: system_top_level.DRAM[1..1]\n", + "\t area: 0.0\n", + "\t - name: system_top_level.buffer[1..1]\n", + "\t area: 43608.4\n", + "\t - name: system_top_level.inter_PE_spatial[1..1]\n", + "\t area: 1.0\n", + "\t - name: system_top_level.reg[1..8]\n", + "\t area: 0\n", + "\t - name: system_top_level.mac[1..8]\n", + "\t area: 1726.5\n", + "\t\n" + ] + } + ], + "source": [ + "print(f\"Verbose area reference table:\")\n", + "print(read_and_indent(\"outputs/ART.yaml\"))\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Jinja2 + YAML Input\n", + "\n", + "The front-end supports Jinja2[https://jinja.palletsprojects.com/en/3.1.x/]\n", + "templating that may be used to automate some aspects of YAML file writing.\n", + "We will use a Jinja template to gather the top files so we don't have to list\n", + "each of them in Python.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Top path contents:\n", + "\t# This file will be converted into a YAML file by Jinja2 templating.\n", + "\t{{add_to_path(cwd() ~ '/inputs')}}\n", + "\t\n", + "\t# Grab the necessary top keys from each file and put them here\n", + "\tarchitecture: {{include('arch.yaml', 'architecture')}}\n", + "\tcomponents: {{include('components.yaml', 'components')}}\n", + "\tvariables: {{include('variables.yaml', 'variables')}}\n", + "\tmapper: {{include('mapper.yaml', 'mapper')}}\n", + "\tproblem: {{include(problem|default('problem.yaml'), 'problem')}}\n", + "\t\n" + ] + } + ], + "source": [ + "print(f\"Top path contents:\")\n", + "print(read_and_indent(\"top.yaml.jinja\", 99999))\n", + "spec = tl.Specification.from_yaml_files(TOP_PATH)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The top-level file gathered each of the YAML inputs, letting us specify just one\n", + "path in Python. Top level files can perform more advanced functions, such as\n", + "defining variables, importing scripts, or setting environment variables. Any\n", + "input file can use Jinja2 templating, and we can mix-and-match Jinja2 files with\n", + "standard YAML.\n", + "\n", + "We call the Timeloop mapper using the Jinja2-templated architecture below, yielding the\n", + "same output as the previous call." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Summary Stats\n", + "-------------\n", + "GFLOPs (@1GHz): 15.94\n", + "Utilization: 100.00%\n", + "Cycles: 1073741824\n", + "Energy: 56245.75 uJ\n", + "EDP(J*cycle): 6.04e+07\n", + "Area: 0.00 mm^2\n", + "\n", + "Computes = 8589934592\n", + "fJ/Compute\n", + " mac = 3275.00\n", + " buffer = 710.37\n", + " DRAM = 2562.50\n", + " Total = 6547.87\n", + "\n", + "\n" + ] + } + ], + "source": [ + "tl.call_mapper(spec, output_dir=f\"{os.curdir}/outputs\") # Run the Timeloop mapper\n", + "print(stats[stats.index(\"Summary Stats\") :])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Editing the Specification\n", + "TimeloopFE lets users edit the specification in Python. This is useful for\n", + "automating design space exploration, making small changes, or editing\n", + "the problem programmatically. Let's take a look at some of the ways we can edit\n", + "the specification." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Modifying Mapper Parameters\n", + "Let's see if we can find a better mapping by changing the mapper parameters. We'll start by printing out the mapper parameters defined in the `MAPPER_PATH` file." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mapper:\n", + " version: 0.4\n", + " optimization_metrics: [ edp ]\n", + " live_status: False\n", + " num_threads: 4\n", + " search_size: 100 # Max valid mappings per-thread\n", + " victory_condition: 10000 # Exit once a mapping is better than this number of\n", + " # valid mappings in a row\n", + " timeout: 10000 # Max invalid mappings in a row\n", + " max_permutations_per_if_visit: 4 # We fix permutations with the Greedy Mapper\n", + " algorithm: random_pruned # linear_pruned\n", + " max_temporal_loops_in_a_mapping: 9\n", + "\n" + ] + } + ], + "source": [ + "print(open(MAPPER_PATH).read())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It looks like the YAML file set search_size to only 100... let's see if we can\n", + "get a better mapping by searching 1000 mappings. We'll initialize a\n", + "specification, then edit the search_size parameter. \n", + "\n", + "We can access any piece of the specification by indexing relative to the\n", + "top-level object. For example, we can access the mapper with `spec.mapper`, the\n", + "architecture with `spec.architecture`, and the problem with `spec.problem`.\n", + "Within each, we can further index into the Specification using the keys that\n", + "correspond to the YAML objects in the input files. The organization of the\n", + "Python objects is the same as that of the YAML objects, so any indexing that\n", + "would work on the input YAML files will also work in Python.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Summary Stats\n", + "-------------\n", + "GFLOPs (@1GHz): 15.94\n", + "Utilization: 100.00%\n", + "Cycles: 1073741824\n", + "Energy: 55710.75 uJ\n", + "EDP(J*cycle): 5.98e+07\n", + "Area: 0.00 mm^2\n", + "\n", + "Computes = 8589934592\n", + "fJ/Compute\n", + " mac = 3275.00\n", + " buffer = 709.61\n", + " DRAM = 2500.98\n", + " Total = 6485.58\n", + "\n", + "\n" + ] + } + ], + "source": [ + "spec = tl.Specification.from_yaml_files(TOP_PATH)\n", + "spec.mapper.search_size = 1000\n", + "tl.call_mapper(spec, output_dir=f\"{os.curdir}/outputs\") # Run the Timeloop mapper\n", + "stats = open(\"outputs/timeloop-mapper.stats.txt\").read()\n", + "print(stats[stats.index(\"Summary Stats\") :])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We found a lower overall energy by searching more mappings!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Modifying the Architecture and Problem\n", + "\n", + "The architecture & problem can be edited in a similar way to the mapper. Let's\n", + "change the architecture to work on bigger problems. We'll double the number of\n", + "PEs, double the global buffer size, and double the batch size (dimension N) in the problem.\n", + "\n", + "Like before, we'll initialize a specification. We then index into the problem and architecture to edit our components.\n", + "\n", + "The architecture includes a `find` function that lets us find components by name." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Summary Stats\n", + "-------------\n", + "GFLOPs (@1GHz): 31.88\n", + "Utilization: 100.00%\n", + "Cycles: 1073741824\n", + "Energy: 99983.28 uJ\n", + "EDP(J*cycle): 1.07e+08\n", + "Area: 0.00 mm^2\n", + "\n", + "Computes = 17179869184\n", + "fJ/Compute\n", + " mac = 3275.00\n", + " buffer = 1044.73\n", + " DRAM = 1500.06\n", + " Total = 5819.79\n", + "\n", + "\n" + ] + } + ], + "source": [ + "spec = tl.Specification.from_yaml_files(TOP_PATH)\n", + "spec.problem.instance[\"N\"] *= 2\n", + "spec.architecture.find(\"buffer\").attributes[\"depth\"] *= 2\n", + "spec.architecture.find(\"PE\").spatial.meshX *= 2\n", + "spec.mapper.search_size = 1000\n", + "tl.call_mapper(spec, output_dir=f\"{os.curdir}/outputs\") # Run the Timeloop mapper\n", + "stats = open(\"outputs/timeloop-mapper.stats.txt\").read()\n", + "print(stats[stats.index(\"Summary Stats\") :])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The `get_nodes_of_type` and `find` Functions\n", + "`get_nodes_of_type` and `find` functions can be used to find nodes in the\n", + "specification. The `get_nodes_of_type` function returns a list of all nodes of a\n", + "given type, starting from a given node. The `find` function is is only for the\n", + "architecture, returning the architecture component or container that matches a\n", + "given name. We can use these function to traverse the specification and search\n", + "for particular nodes." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Found dataspace constraint: dataspace constraint(target=) Specification[architecture].Architecture[nodes].ArchNodes[0].Container(system)[constraints].ConstraintGroup[dataspace].Dataspace\n", + "Found dataspace constraint: dataspace constraint(target=) Specification[architecture].Architecture[nodes].ArchNodes[1].Storage(DRAM)[constraints].ConstraintGroup[dataspace].Dataspace\n", + "Found dataspace constraint: dataspace constraint(target=) Specification[architecture].Architecture[nodes].ArchNodes[2].Storage(buffer)[constraints].ConstraintGroup[dataspace].Dataspace\n", + "Found dataspace constraint: dataspace constraint(target=) Specification[architecture].Architecture[nodes].ArchNodes[3].Container(PE)[constraints].ConstraintGroup[dataspace].Dataspace\n", + "Found dataspace constraint: dataspace constraint(target=) Specification[architecture].Architecture[nodes].ArchNodes[4].Storage(reg)[constraints].ConstraintGroup[dataspace].Dataspace\n", + "Found dataspace constraint: dataspace constraint(target=) Specification[architecture].Architecture[nodes].ArchNodes[5].Compute(mac)[constraints].ConstraintGroup[dataspace].Dataspace\n", + "DRAM: Specification[architecture].Architecture[nodes].ArchNodes[1].Storage(DRAM)\n", + "DRAM Attributes: Specification[architecture].Architecture[nodes].ArchNodes[1].Storage(DRAM)[attributes].StorageAttributes\n" + ] + } + ], + "source": [ + "spec = tl.Specification.from_yaml_files(TOP_PATH)\n", + "\n", + "# List all dataspace constraintas\n", + "for ds_constraint in spec.get_nodes_of_type(tl.constraints.Dataspace):\n", + " print(f'Found dataspace constraint: {ds_constraint}')\n", + " \n", + "# Print DRAM from the architecture\n", + "print(f'DRAM: {spec.architecture.find(\"DRAM\")}')\n", + "print(f'DRAM Attributes: {spec.architecture.find(\"DRAM\").attributes}')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Modifying Specifications with Jinja2 Templating\n", + "Jinja2 expressions can be used to automate the specification. For example, we\n", + "have defined the DATAWIDTH variable in Jinja2 in the variables file. This\n", + "variable is used in the architecture file to set the datawidth of the buffers.\n", + "\n", + "Of course, the variables file can be edited in Python as well." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variables file:\n", + "\t\tDATAWIDTH: {{datawidth_jinja|default(8)}} # 8 bits is the default\n", + "Setting variable with Jinja2\n", + "Summary Stats\n", + "-------------\n", + "GFLOPs (@1GHz): 15.94\n", + "Utilization: 100.00%\n", + "Cycles: 1073741824\n", + "Energy: 129148.55 uJ\n", + "EDP(J*cycle): 1.39e+08\n", + "Area: 0.00 mm^2\n", + "\n", + "Computes = 8589934592\n", + "fJ/Compute\n", + " mac = 6550.00\n", + " buffer = 1453.62\n", + " DRAM = 7031.25\n", + " Total = 15034.87\n", + "\n", + "\n" + ] + } + ], + "source": [ + "print(f\"Variables file:\")\n", + "print(f'\\t{read_and_indent(VARIABLES_PATH, start_at=\"DATAWIDTH\")}')\n", + "print(f\"Setting variable with Jinja2\")\n", + "\n", + "spec = tl.Specification.from_yaml_files(TOP_PATH, jinja_parse_data={\"datawidth_jinja\": 16})\n", + "\n", + "tl.call_mapper(spec, output_dir=f\"{os.curdir}/outputs\") # Run the Timeloop mapper\n", + "stats = open(\"outputs/timeloop-mapper.stats.txt\").read()\n", + "print(stats[stats.index(\"Summary Stats\") :])\n", + "\n", + "# OR edit the variables file directly\n", + "spec.variables[\"DATAWIDTH\"] = 32" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Jinja2 can be used to enable/disable components in the architecture file. Let's\n", + "see how this can be done with the architecture file. We have a register that is\n", + "set to be disabled by default. We can enable it by setting a Jinja2 variable.\n", + "\n", + "Of course, the architecture file can be edited in Python as well." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Architecture file:\n", + "\t{% if reg_enabled|default(True) %}\n", + "\t - !Component # Global buffer for inputs & outputs\n", + "\t name: reg\n", + "\t class: SRAM\n", + "\t subclass: register\n", + "\t attributes: \n", + "\t datawidth: DATAWIDTH\n", + "\t depth: 1\n", + "\t width: datawidth * 3\n", + "\t constraints:\n", + "\t dataspace: {keep: [Inputs, Outputs, Weights]}\n", + "\t temporal: {factors_only: []}\n", + "\t {% endif %}\n", + "Summary Stats\n", + "-------------\n", + "GFLOPs (@1GHz): 15.94\n", + "Utilization: 100.00%\n", + "Cycles: 1073741824\n", + "Energy: 67000.06 uJ\n", + "EDP(J*cycle): 7.19e+07\n", + "Area: 0.00 mm^2\n", + "\n", + "Computes = 8589934592\n", + "fJ/Compute\n", + " mac = 3275.00\n", + " buffer = 2024.83\n", + " DRAM = 2500.00\n", + " Total = 7799.83\n", + "\n", + "\n" + ] + } + ], + "source": [ + "print(f\"Architecture file:\")\n", + "print(f'{read_and_indent(ARCH_PATH, start_at=\"{%\", end_at=\"{% endif %}\")}')\n", + "spec = tl.Specification.from_yaml_files(TOP_PATH, jinja_parse_data={\"reg_enabled\": False})\n", + "spec.mapper.search_size = 1000\n", + "tl.call_mapper(spec, output_dir=f\"{os.curdir}/outputs\") # Run the Timeloop mapper\n", + "stats = open(\"outputs/timeloop-mapper.stats.txt\").read()\n", + "print(stats[stats.index(\"Summary Stats\") :])\n", + "\n", + "# OR edit the architecture file directly\n", + "spec = tl.Specification.from_yaml_files(TOP_PATH)\n", + "spec.architecture.find(\"reg\").enabled = False\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# What can be edited with Python?\n", + "\n", + "TimeloopFE can edit any piece of the specification that is exposed in Python. To\n", + "see what can be edited, we can use the `get_property_tree` and\n", + "`get_property_table` functions. These functions show all the properties that can\n", + "be edited, as well as any required types, default values, and other information.\n", + "\n", + "To see a list of every property that can be edited in Python, we can use\n", + "`get_property_tree` or `get_property_table` with no arguments.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[KEY_OR_TAG]: [EXPECTED_TYPE] [REQUIRED or = DEFAULT_VALUE]\n", + "├─ SUBNODES (If applicable)\n", + "\n", + "CompoundComponent\n", + "├─ '*ignore*': None Optional\n", + "├─ 'name': str REQUIRED\n", + "├─ 'attributes': ComponentAttributes = '{}'\n", + "│ ├─ '*ignore*': None Optional\n", + "│ └─ '**': None Optional\n", + "├─ 'subcomponents': SubcomponentList = '[]'\n", + "│ ├─ 'ignore': None \n", + "│ └─ '': Subcomponent \n", + "│ ├─ '*ignore*': None Optional\n", + "│ ├─ 'name': str REQUIRED\n", + "│ ├─ 'attributes': ComponentAttributes = '{}'\n", + "│ │ ├─ '*ignore*': None Optional\n", + "│ │ └─ '**': None Optional\n", + "│ └─ 'area_scale': Number/str = '1'\n", + "└─ 'actions': ActionsList = '[]'\n", + " ├─ 'ignore': None \n", + " └─ '': Action \n", + " ├─ '*ignore*': None Optional\n", + " ├─ 'name': str REQUIRED\n", + " ├─ 'arguments': DictNode = '{}'\n", + " │ └─ '*ignore*': None Optional\n", + " └─ 'subcomponents': ActionSubcomponentsList = '[]'\n", + " ├─ 'ignore': None \n", + " └─ '': SubcomponentActionGroup \n", + " ├─ '*ignore*': None Optional\n", + " ├─ 'name': str REQUIRED\n", + " └─ 'actions': SubcomponentActionList = '[]'\n", + " ├─ 'ignore': None \n", + " └─ '': SubcomponentAction \n", + " ├─ '*ignore*': None Optional\n", + " ├─ 'name': str REQUIRED\n", + " ├─ 'arguments': DictNode = '{}'\n", + " │ └─ '*ignore*': None Optional\n", + " └─ 'energy_scale': str/float = '1'\n" + ] + } + ], + "source": [ + "# Get a recursive list of all the properties that can be edited in Python\n", + "print(tl.get_property_tree(tl.components.CompoundComponent))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "================================================= pytimeloop.timeloopfe.v4.components ================================================\n", + "\n", + "==== CompoundComponent ====\n", + " KEY ,REQUIRED_TYPE ,DEFAULT ,CALLFUNC ,SET_FROM \n", + " ignore ,None ,None ,None ,None \n", + " name ,str ,REQUIRED ,None ,None \n", + " attributes ,ComponentAttributes ,{} ,ComponentAttributes ,None \n", + " subcomponents ,SubcomponentList ,[] ,SubcomponentList ,None \n", + " actions ,ActionsList ,[] ,ActionsList ,None \n" + ] + } + ], + "source": [ + "# Get a table of all the properties that can be edited in Python for this element\n", + "print(tl.get_property_table(tl.components.CompoundComponent))\n", + "\n", + "# print(tl.doc.get_property_tree()) # These print every property for every class\n", + "# print(tl.doc.get_property_table()) # in the specification. This is a lot of text!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/2_design_space_exploration.ipynb b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/2_design_space_exploration.ipynb new file mode 100644 index 00000000..7804742d --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/2_design_space_exploration.ipynb @@ -0,0 +1,216 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Exploring the Design Space\n", + "Here, we will demonstrate how to use TimeloopFE to conduct design space explorations\n", + "with Timeloop & Accelergy. We will use TimeloopFE to launch Timeloop+Accelergy jobs,\n", + "then gather the results from each.\n", + "\n", + "In this design space exploration, we will use a simple architecture with a DRAM, a\n", + "global buffer, and an array of PEs which each have a register and a compute unit. We\n", + "will vary the number of PEs and the global buffer size.\n", + "\n", + "We start by defining a `run_test` function that takes in a scale factor for the\n", + "global buffer size and a scale factor for the number of PEs. The function will\n", + "run the Timeloop mapper and return the global buffer size, number of PEs, and\n", + "energy in pJ/MAC.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pytimeloop.timeloopfe.v4 as tl\n", + "import os\n", + "TOP_PATH = f\"{os.curdir}/top.yaml.jinja\"\n", + "\n", + "def run_test(global_buffer_size_scale: float, pe_scale: float, brief_print: bool=False):\n", + " if brief_print:\n", + " print('.', end='')\n", + " # Set up the specification\n", + " spec = tl.Specification.from_yaml_files(TOP_PATH)\n", + " buf = spec.architecture.find(\"buffer\")\n", + " buf.attributes[\"depth\"] = round(buf.attributes[\"depth\"] * global_buffer_size_scale)\n", + " pe = spec.architecture.find(\"PE\")\n", + " pe.spatial.meshX = round(pe.spatial.meshX * pe_scale)\n", + " spec.mapper.search_size = 2000\n", + "\n", + " # Give each run a unique ID and run the mapper\n", + " proc_id = f\"glb_scale={global_buffer_size_scale},pe_scale={pe_scale}\"\n", + " if brief_print:\n", + " print('.', end='')\n", + " else:\n", + " print(f\"Starting {proc_id}\")\n", + " out_dir = f\"{os.curdir}/outputs/{proc_id}\"\n", + "\n", + " return (\n", + " spec.architecture.find(\"buffer\").attributes[\"depth\"],\n", + " spec.architecture.find(\"PE\").spatial.meshX,\n", + " tl.call_mapper(spec, output_dir=out_dir, log_to=f\"{out_dir}/output.log\"),\n", + " )\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Rather than run each test sequentially in a `for` loop, we can use the joblib library\n", + "to multiprocess our calls and speed up design space exploration.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Starting glb_scale=0.5,pe_scale=0.5\n", + "Starting glb_scale=0.5,pe_scale=1\n", + "Starting glb_scale=0.5,pe_scale=2\n", + "Starting glb_scale=1,pe_scale=0.5\n", + "Starting glb_scale=1,pe_scale=1\n", + "Starting glb_scale=1,pe_scale=2\n", + "Starting glb_scale=2,pe_scale=0.5\n", + "Starting glb_scale=2,pe_scale=1\n", + "Starting glb_scale=2,pe_scale=2\n" + ] + } + ], + "source": [ + "args = []\n", + "results = []\n", + "for global_buffer_size_scale in [0.5, 1, 2]:\n", + " for n_pes in [0.5, 1, 2]:\n", + " arg = (global_buffer_size_scale, n_pes)\n", + " args.append(arg)\n", + "\n", + "# Slow non-multi-processed implementation\n", + "# for arg in args:\n", + "# results.append(run_test(*arg))\n", + "\n", + "# Fast multiprocessed implementation\n", + "import joblib\n", + "\n", + "results = joblib.Parallel(n_jobs=None)(\n", + " joblib.delayed(run_test)(*arg) for arg in args\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Global buffer depth: 256, # PEs: 4, pJ/MAC: 7.42111\n", + "Global buffer depth: 256, # PEs: 8, pJ/MAC: 7.36187\n", + "Global buffer depth: 256, # PEs: 16, pJ/MAC: 7.329479999999999\n", + "Global buffer depth: 512, # PEs: 4, pJ/MAC: 6.56017\n", + "Global buffer depth: 512, # PEs: 8, pJ/MAC: 6.48472\n", + "Global buffer depth: 512, # PEs: 16, pJ/MAC: 6.44699\n", + "Global buffer depth: 1024, # PEs: 4, pJ/MAC: 5.99992\n", + "Global buffer depth: 1024, # PEs: 8, pJ/MAC: 5.87987\n", + "Global buffer depth: 1024, # PEs: 16, pJ/MAC: 5.81985\n" + ] + } + ], + "source": [ + "for global_buffer_depth, n_pes, result in results:\n", + " print(\n", + " f\"Global buffer depth: {global_buffer_depth}, # PEs: {n_pes}, pJ/MAC: {result.per_compute(\"energy\")*1e12}\"\n", + " )\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's run a bigger test. We'll try out 20 different buffer sizes and plot the\n", + "Energy/MAC for each buffer size. Using this test, we can decide on the\n", + "lowest-energy buffer size for this system and workload. NOTE that the curve may\n", + "not be smooth; this is due to suboptimal mappings, and we could smooth the curve\n", + "better by running the mapper for much longer." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "................................................................................" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABarElEQVR4nO3dd3gU1f4G8De9bnrvlVCEoID03kQvguAVRaQIKpYrIl6KXH9gRUBFRVBEAbuA0gSRIgEEAWkKUtMDKZueTdn08/sj7MCawibZzWQ37+d5zkMyOzv7nWzMvp45Z44ZAAEiIiIiI2QudwFERERETcUgQ0REREaLQYaIiIiMFoMMERERGS0GGSIiIjJaDDJERERktBhkiIiIyGgxyBAREZHRYpAhIiIio8UgQ0RtUkREBPbs2YP8/HwIITBmzBgAQPfu3XH06FEUFRVBCIHo6GiZK5VPcHAwhBCYM2eO3KUQ1YtBhqiZpkyZAiFEva1nz55yl2i0NB+kt7aCggKcPXsWzz77LMzNm/4n7IsvvkDnzp2xcOFCTJo0CadOnYKlpSU2b94MNzc3zJ49G5MmTUJycrIez0jbP8+vvLwcWVlZOHr0KN58800EBgYa7LVvNWrUKCxatKhFXotI3yzlLoDIVLzyyitITEystT0uLk6GakzLt99+i59//hkA4OzsjHvvvRcfffQRgoODMXfu3EYfz9bWFn369MEbb7yBVatWSdujoqIQEhKCGTNm4PPPP9db/bejOT9zc3O4urqiR48eeOGFFzBr1ixMnz4dGzduNOjr33vvvXjuuefw6quvGvR1iAyBQYZIT3bv3o3Tp0/LXQbs7e1RUlIidxl6debMGXzzzTfS96tXr8aJEycwceLEJgUZT09PAEB+fr7Wdi8vrzq3N4cu78c/zw8AFi5ciL179+KLL77ApUuXcO7cOb3VRGRKeGmJqIXcOt7giSeeQFxcHEpLS/HHH3+ge/futfaPiorC5s2bkZOTA7VajZMnT2L06NFa+2guaw0YMACrVq2CUqnE9evXpcefeeYZxMfHo6SkBCdOnEC/fv0QExODmJgYAICDgwOKiorw/vvv13p9f39/VFZWYv78+XWej6WlJXJycrBu3bpajykUCqjVaixfvlza9txzz+Hvv/9GcXExcnNzcfLkSTzyyCM6/ezqolQqUVlZqbVNCFHnJZLExESsX78eALBo0SKkpKQAAN555x0IIaTHDx8+DAD44YcfIISQfk6Aft6PxkhJScHUqVNhY2NTK6w5OztjxYoVSElJQWlpKWJjYzF37lyYmZlJ+9z6+/bCCy8gKSkJJSUlOHjwIDp16iTtt379ejz33HPSz0/T/kmX31kiObBHhkhPnJ2d4e7urrVNCIHc3FytbRMnToRCocCaNWsghMDcuXOxZcsWhIWFSR/MHTt2xNGjR5Gamoq3334bxcXFeOihh7Bt2zaMHz8e27Zt0zrm6tWrkZWVhddeew0ODg4AgJkzZ2LVqlU4fPgwVqxYgZCQEGzbtg15eXnSh2txcTG2bt2KCRMm4MUXX0R1dbV0zEceeQRmZma1ego0KisrsXXrVowbNw5PPfUUKioqpMfGjh0LW1tbfP/99wCAGTNmYOXKldi8eTM++OAD2NraokuXLujZsye+++672/5s7e3tpZ+tk5MTRo0ahXvuuQdLliy57XP/acuWLcjPz8f7778vXdIpKiqCUqlEamoqFi5ciA8++AAnT56EUqkEoJ/3oymOHz+OuLg4DB8+XNpmZ2eHQ4cOwd/fH2vWrEFKSgr69OmDJUuWwNfXF7Nnz9Y6xuTJk6FQKLBq1SrY2tpi1qxZOHDgADp37ozMzEysWbMGfn5+GDFiBCZNmlRnHbr8zhLJSbCxsTW9TZkyRdRHrVZL+wUHBwshhMjKyhIuLi7S9tGjRwshhLjvvvukbfv27RN//fWXsLa21nqtI0eOiCtXrtR67cOHDwtzc3Npu5WVlcjKyhInTpwQFhYW0vbJkycLIYSIiYmRtg0fPlwIIcTIkSO1XuvPP//U2q+upnnurbUDEDt37hRxcXHS91u3bhXnz59v9M9W8zOry6pVq2rtL4QQixYtqrU9MTFRrF+/vtZx58yZo7XfwIEDhRBCjB8/Xmt7c9+P253fP+u4tW3dulUIIYRCoRAAxMKFC0VhYaGIiIjQ2u+tt94SFRUVIiAgQOvYxcXFws/PT9qvR48eQggh3n33XWnbypUrhajphqmzPl1+Z9nY5Gq8tESkJ8888wyGDRum1UaNGlVrv40bN2qNwfjtt98AAGFhYQAAV1dXDBkyBJs2bYJCoYC7u7vU9uzZg3bt2sHPz0/rmGvXrtXqTenevTs8PDywdu1aVFVVSdu/+eabWj1E+/fvR2pqKh599FFpW6dOnRAdHY2vv/66wXM+cOAAsrKyMGHCBGmbi4sLhg8frjVANT8/HwEBAU2+HLFmzRrpZzpu3Dh89NFHeOqpp/Dee+816XiNoY/3ozmKiooA1FyuA4B///vf+O2335CXl6dVy/79+2FpaYkBAwZoPX/btm1IS0uTvj958iSOHz+Oe++9V+cabvc7SyQnXloi0pM//vhDp8G+mvEZGpoPCFdXVwA19zcxNzfHG2+8gTfeeKPOY3h5eWl9OP1ztlRwcDCA2jOmqqqqkJSUpLVNCIFvvvkGTz/9NOzs7KBWq/Hoo49CrVZj8+bNDZ5LVVUVfvzxR0ycOBHW1tYoLy/HuHHjYG1trRVkli5dimHDhuHkyZOIjY3F3r178e233+L3339v8PgasbGx+PXXX6Xvt27dCiEEZs+ejXXr1uHvv//W6ThNoY/3ozkcHR0BAIWFhQCAyMhIREdHIzs7u95abhUbG1trn6tXr+Khhx7SuYbb/c4SyYlBhqiF3dpDcivNQE3NvVGWL1+OPXv21LnvPwOKWq1uVk1ffvkl5s6di7Fjx+K7777DxIkTsXPnTqhUqts+9/vvv8fMmTMxatQobN++HQ899FCtWTaXL19GVFQU/vWvf+Gee+7B+PHj8eyzz+LVV1/F4sWLm1Tzr7/+iv/85z8YMGDAbYOMhYVFk14DkOf9uNUdd9wBpVIpBRlzc3Ps3bsXy5Ytq3P/q1ev6u21NW73O0skJwYZolYmISEBAFBRUaHVC9EYmpu4RURE4ODBg9J2CwsLhISE1JrKe+HCBZw5cwaPPvoorl+/juDgYPznP//R6bUOHz6MtLQ0TJgwAUeOHMGQIUPw5ptv1tqvpKQEmzZtwqZNm2BlZYUtW7Zg4cKFWLJkCcrKyhp9jpaWNX++ND0WAJCbmwsXFxet/aysrODr69vo42vo4/1oql69eiEiIgJfffWVtC0+Ph6Ojo461xIZGVlrW7t27bR65uqapURkLDhGhqiVycrKQkxMDJ566in4+PjUetzDw+O2xzh16hSys7PxxBNPaPVGPProo3Bzc6vzOV999RVGjBiBF154AdnZ2di9e7dO9Qoh8MMPP2D06NF47LHHYGVlVesGbv98zYqKCly8eBFmZmawsrLS6XX+STP1+a+//pK2xcfH1xoj8uSTT0qhpyn08X40RVBQEDZs2ICysjKtaeybNm1Cnz59MGLEiFrPcXZ2rtX7NHbsWK0xPD169ECvXr203t/i4mLp+UTGhj0yRHoyatQotG/fvtb233//vdFjJp599lkcOXIE58+fx9q1a5GQkABvb2/07t0bAQEB6Nq1a4PPr6iowOLFi/HRRx/hwIED2LRpE0JCQjB16lTExcXV+X/g3377LZYtW4Zx48Zh9erVjZpWu3HjRjz//PN49dVXce7cOVy+fFnr8b179yIjIwNHjx6FUqlEhw4d8Nxzz2HXrl3SYNaG3HXXXdJgZIVCgaFDh+LBBx/E0aNHsXfvXmm/zz77DGvWrMEPP/yAffv2ITo6GiNHjkRWVpbO51KX5r4ft6M5P3Nzc7i4uKBHjx4YP348hBB47LHHcP78eWnf5cuX4/7778fOnTuxYcMGnD59Gg4ODujcuTMefPBBhISEICcnR9o/Li4OR44cwccffwwbGxspqN56aUoztuvDDz/Enj17UFVVZfC7CRPpk+xTp9jYjLk1NP1aCCGmTJkigIan2tY1bTg0NFRs2LBBpKWlibKyMnHt2jWxY8cOMW7cuFqv3a1btzpre+6550RiYqJQq9Xi+PHjonfv3uLkyZPi559/rnP/nTt3CiGE6NWrV6N/DsnJyUIIIV5++eVajz3xxBPi4MGDIisrS6jVahEbGyuWLl0qTSmur9U1/bq8vFzExcWJpUuXCgcHB639zczMxJIlS0RmZqYoKioSu3fvFmFhYc2efq2v9+N251deXi6ys7PFsWPHxJtvvikCAwPrfJ6Dg4N48803xdWrV0VpaanIzMwUR44cES+++KKwtLSsdY6zZ88WycnJQq1Wi0OHDonOnTtrHc/c3Fx88MEHQqlUiqqqKmkqdmN/Z9nYZGqyF8DGxtZCzczMTGRnZ4tPP/20zse3bNkiYmNjZa+TrflNl3vUsLGZQuMYGSITZWNjU2vb5MmT4e7urjUAWMPHxwf33Xef1sBSIqLWjmNkiExUr169sGLFCml9oLvuugvTp0/H+fPnte4PExISgr59+2LGjBmoqKjAmjVrZKyaiKhxGGSITFRSUhKuXbuG559/Hm5ubsjNzcWXX36J+fPna62LNHDgQGzYsAHJycmYMmWKtL4QEZExMEPNNSYiIiIio8MxMkRERGS0GGSIiIjIaLWJMTJ+fn7SOiVERERkHBQKhdaCrHUx+SDj5+eH1NRUucsgIiKiJvD3928wzJh8kNH0xPj7+7NXhoiIyEgoFAqkpqbe9rPb5IOMRmFhIYMMERGRieFgXyIiIjJaDDJERERktBhkiIiIyGgxyBAREZHRYpAhIiIio8UgQ0REREaLQYaIiIiMFoMMERERGS0GGSIiIjJaDDJERERktBhkiIiIyGgxyBAREZHRYpBpIitbG7gF+MHBxVnuUoiIiNosBpkmevD/5mHh7h/RY+y/5C6FiIiozWKQaaKinDwAgKObq8yVEBERtV0MMk1UlJsLAFC4u8lcCRERUdvFINNEhTd6ZBTu7JEhIiKSC4NME2l6ZBzd2CNDREQkFwaZJirMuRFk2CNDREQkGwaZJtJcWnJ0dYWZmZnM1RAREbVNsgaZ/v37Y8eOHUhNTYUQAmPGjKm1z6uvvoq0tDSUlJRg3759iIiIkKHS2opza4KMhZUl7JwUMldDRETUNskaZBwcHPDXX3/h2WefrfPxuXPn4vnnn8fMmTPRs2dPFBcXY8+ePbCxsWnhSmurqqxESYEKAGcuERERyUm0hiaEEGPGjNHalpaWJubMmSN97+TkJNRqtZgwYYLOx1UoFEIIIRQKhd5rnrfje/Hu+WMivPudsv/82NjY2NjYTKnp+vndasfIhIaGwtfXF/v375e2qVQqnDhxAr179673edbW1lAoFFrNUDQDftkjQ0REJI9WG2R8fHwAAEqlUmu7UqmUHqvLggULoFKppJaammqwGjlziYiISF6tNsg01ZIlS+Dk5CQ1f39/g71W0Y0Bv47skSEiIpJFqw0yGRkZAABvb2+t7d7e3tJjdSkvL0dhYaFWMxTp0hJvikdERCSLVhtkEhMTkZ6ejqFDh0rbFAoFevbsiWPHjslY2U03e2R4aYmIiEgOlnK+uIODg9Z9YUJDQxEdHY3c3Fxcu3YN77//Pv73v/8hNjYWiYmJeP3115GWloZt27bJV/QtitgjQ0REJCtZg0z37t1x8OBB6fsVK1YAADZs2IBp06Zh2bJlcHBwwKeffgoXFxccOXIE99xzD8rKymSqWBsH+xIREcnLDDXzsE2WQqGASqWCk5OT3sfLuAf44+XdP6CsRI2Xew7R67GJiIjaMl0/v1vtGBljoOmRsbG3g7WdrczVEBERtT0MMs1QrlajXF0KgFOwiYiI5MAg00y8uy8REZF8GGSaSTNzydGNA36JiIhaGoNMM2nuJcMeGSIiopbHINNMheyRISIikg2DTDOxR4aIiEg+DDLNdPOmeAwyRERELY1Bppk42JeIiEg+DDLNVMhLS0RERLJhkGkm9sgQERHJh0GmmTSDfR1cnGFuaSFzNURERG0Lg0wzlRSoUFVZCQBwdOPlJSIiopbEINNMQoibU7B5eYmIiKhFMcjogSbIcAo2ERFRy2KQ0QMO+CUiIpIHg4wecAo2ERGRPBhk9KAoh0GGiIhIDgwyesCFI4mIiOTBIKMHNxeOZJAhIiJqSQwyenCzR4aXloiIiFoSg4weFOVqVsBmjwwREVFLYpDRg8Ibg30d3VxhZmYmczVERERtB4OMHhTfGCNjYWkJOyeFzNUQERG1HQwyelBVWYmSAhUATsEmIiJqSQwyesIp2ERERC2PQUZPinh3XyIiohbHIKMnUo8MgwwREVGLYZDRE2nhSE7BJiIiajEMMnoiLRzJm+IRERG1GAYZPWGPDBERUctjkNGTIvbIEBERtTgGGT3hYF8iIqKWxyCjJ0W3LFNARERELYNBRk80PTI29nawtrOTuRoiIqK2gUFGT8rVapSVqAFwwC8REVFLYZDRI97dl4iIqGUxyOiRZgo2gwwREVHLYJDRI02PDAf8EhERtQwGGT3iFGwiIqKWxSCjR4W5Ny4tsUeGiIioRTDI6JF0Lxn2yBAREbUIBhk94mBfIiKilsUgo0eFHOxLRETUohhk9Ig9MkRERC2LQUaPNLOW7J2dYGFpKXM1REREpo9BRo/UqkJUVVYCABx4eYmIiMjgGGT0SAhxc5kCBhkiIiKDY5DRM+nuvhwnQ0REZHAMMnrGAb9EREQth0FGzwpzOAWbiIiopTDI6Jk0RoY9MkRERAbHIKNn0sKR7JEhIiIyOAYZPbvZI8MgQ0REZGgMMnom9cjw0hIREZHBMcjoWREvLREREbUYBhk9u3XhSDMzM5mrISIiMm0MMnpWfCPIWFhaws5JIXM1REREpo1BRs+qKitRUqACwCnYREREhsYgYwAc8EtERNQyWn2QcXR0xIoVK5CUlISSkhIcPXoU3bt3l7usBmmCDBeOJCIiMqxWH2Q+++wzDB8+HI899hg6d+6MvXv3Yv/+/fDz85O7tHpx4UgiIqKW0aqDjK2tLcaPH4+5c+fit99+Q3x8PF599VXExcXh6aeflru8eklTsHlTPCIiIoOylLuAhlhaWsLS0hKlpaVa29VqNfr161fnc6ytrWFjYyN9r1C0/MwhzRRshRt7ZIiIiAypVffIFBUV4ffff8crr7wCX19fmJub49FHH0Xv3r3h6+tb53MWLFgAlUoltdTU1Bau+maPDGctERERGVarDjIA8Nhjj8HMzAxpaWkoKyvD888/j++++w7V1dV17r9kyRI4OTlJzd/fv4Ur5sKRRERELaVVX1oCgISEBAwaNAj29vZwcnJCRkYGvv/+eyQkJNS5f3l5OcrLy1u4Sm0c7EtERNQyWn2PjEZJSQkyMjLg4uKCkSNHYvv27XKXVC/2yBAREbWMVt8jM2LECJiZmeHKlSuIiIjA8uXLcfnyZaxfv17u0upVlFPTI2NjbwdrOzuUq9UyV0RERGSaWn2PjLOzM1atWoXLly/jyy+/xJEjRzBy5EhUVlbKXVq9ytVqlJXUhBcO+CUiIjKcVt8js3nzZmzevFnuMhqtKDcXNvb+cHR3Rc71lp85RURE1Ba0+h4ZY6W5vMQeGSIiIsNhkDGQwlwO+CUiIjI0BhkD0fTIcAo2ERGR4TDIGIimR4aXloiIiAyHQcZAingvGSIiIoNjkDEQDvYlIiIyPAYZA+HdfYmIiAyPQcZANOstsUeGiIjIcBhkDETTI2Pv7AQLy1Z/30EiIiKjxCBjIGpVIaoqapZRcODlJSIiIoNgkDEQIQSK8jSXlxhkiIiIDIFBxoCkm+K5cZwMERGRITDIGFARb4pHRERkUAwyBlSYw0tLREREhsQgY0A37yXDHhkiIiJDYJAxIM29ZBzZI0NERGQQDDIGpOmRUXD6NRERkUEwyBjQzR4ZXloiIiIyBAYZA9KsgM1ZS0RERIbBIGNAmktLDq4uMDMzk7kaIiIi08MgY0CaO/taWFrC3tlJ5mqIiIhMD4OMAVVXVqE4vwAA4MgBv0RERHrHIGNgHPBLRERkOAwyBsYp2ERERIbDIGNgmplL7JEhIiLSP8smPcnSEj4+PrC3t0dWVhbybgxqpdo0l5Y4BZuIiEj/dO6RcXR0xMyZM3Hw4EGoVCokJSXh0qVLyMrKQlJSEj799FN0797dkLUapZvrLfHSEhERkb7pFGRmz56NpKQkTJs2Dfv378fYsWPRtWtXtGvXDr1798arr74KS0tL7N27F7t370ZERISh6zYa7JEhIiIyHJ0uLfXo0QMDBgzAxYsXaz0WHx+PkydPYv369Zg5cyamTZuG/v37Iy4uTu/FGiP2yBARERmOTkFm4sSJOh2svLwca9asaVZBpqaQg32JiIgMRucxMubm5ujcuTNsbW1rPWZnZ4fOnTvzNvx14KUlIiIiw9E5yDz22GNYt24dysvLaz1WXl6OdevW6dxz05Zopl9b29nC2s5O5mqIiIhMi85BZvr06XjnnXdQXV1d67GqqiosW7YMTz75pF6LMwXl6lKUlagBsFeGiIhI33QOMlFRUTh+/Hi9j588eRIdOnTQS1GmpihXM06GA36JiIj0Secg4+DgACen+ldwVigUsLe310tRpkZapoA9MkRERHqlc5CJjY1Fnz596n28X79+iI2N1UtRpoYLRxIRERmGzkHm22+/xRtvvIHOnTvXeqxLly547bXX8O233+q1OFPBe8kQEREZhs5rLa1YsQKjRo3C6dOnsX//fly+fBkA0L59ewwbNgxHjx7FihUrDFaoMeMUbCIiIsPQOchUVlZixIgRmD17NiZOnIgBAwbAzMwMV69excKFC/H++++jsrLSkLUarSL2yBARERlEo1a/rqysxPLly7F8+fI6H+/UqRMuXLigl8JMSVEOe2SIiIgMQecxMvVxdHTEE088gRMnTuCvv/7SR00mh7OWiIiIDKPJQaZ///744osvkJ6ejpdeegkHDhxAr1699FmbyeBgXyIiIsNo1KUlb29vTJ06FdOnT4eTkxM2bdoEGxsbjB07FpcuXTJUjUZPlZ0DALB3doK1nR3K1WqZKyIiIjINOvfI7NixA1euXEGXLl3wwgsvwM/PD88//7whazMZpYVFUpjxDguRtxgiIiITonOQGTVqFD7//HMsWrQIP//8c51rLlH9lHGJAACfiFCZKyEiIjIdOgeZfv36QaFQ4PTp0zh+/DieffZZuLu7G7I2k5IRnwAA8A4Pk7kSIiIi06FzkDlx4gSefPJJ+Pr6Ys2aNXj44YeRlpYGc3NzDB8+HI6Ojoas0+hlxLNHhoiISN8aPWuppKQE69evR//+/dG5c2e8++67mD9/PjIzM7F9+3ZD1GgSlDeCjHc4gwwREZG+NOs+MlevXsW8efMQEBCARx55RF81maSMG2Nk3Px8YcNVwomIiPSi2TfEA4Dq6mps374dY8aM0cfhTJJapYIqKxsA4MWZS0RERHqh831kPv/889vuI4TAjBkzmlWQKcuIT4STpwd8IkJx7e+LcpdDRERk9HQOMlOnTkVycjLOnj0LMzMzQ9ZksjLiEtCuVw/4cOYSERGRXugcZD7++GM88sgjCA0Nxfr16/H1118jLy/PkLWZHGnAL2cuERER6YXOY2See+45+Pr6YtmyZRg9ejSuXbuGjRs3YsSIEYasz6RogowPZy4RERHpRaMG+5aXl+P777/HiBEj0LFjR1y4cAGrV69GUlISHBwcDFWjydDcS8bV1wc2Dpy5RERE1FxNnrVUXV0NIQTMzMxgYWGhz5pMllpViILMLABcc4mIiEgfGhVkrK2t8fDDD2Pv3r24evUqOnfujOeeew5BQUEoLi42VI0m5eblJQ74JSIiai6dB/uuWrUKDz/8MK5du4Z169bhkUceQU5OjiFrM0kZcYlo1/tuDvglIiLSA52DzMyZM5GSkoKEhAQMHDgQAwcOrHO/8ePH6604U6RZPJI9MkRERM2nc5D58ssvIYQwZC21mJubY/HixZg0aRJ8fHyQlpaGDRs24I033mjROvRJGZ8EgItHEhER6YPOQWbatGmGrKNO8+bNw9NPP40pU6bgwoUL6N69O9avX4+CggKsXLmyxevRB02PjIuPN2wdHVBaxLFFRERETaXzYN/k5GSsXLkSw4YNa7FZSn369MH27dvx888/Izk5GT/++CP27t2Lu+++u0Ve3xBKC4tQoKyZucQ1l4iIiJpH5yDz2GOPoaysDKtXr0Z2dja+//57TJw4Ec7OzgYr7vfff8fQoUMRGRkJAOjSpQv69euH3bt3G+w1WwLHyRAREemPaGzr2LGjmD9/vjh27JhQq9Xi119/FbNmzRKhoaGNPlZDzczMTCxZskRUVVWJ8vJyUVVVJebPn9/gc6ytrYVCoZCan5+fEEIIhUKh19qa0+6fO0u8e/6YuP+/z8teCxsbGxsbW2tsCoVC18/v5r2Qt7e3mDFjhtixY4coLi4W58+fF/fee69eTmLChAkiJSVFTJgwQdxxxx1i0qRJIjs7W0yePLne5yxatEjUpTUFmZ7jRot3zx8TT36yQvZa2NjY2NjYWmNrsSBza7O3txdjx44Vw4YN08vxUlJSxDPPPKO1beHCheLSpUv1PscYemSCo+8Q754/Jl7Zv132WtjY2NjY2Fpj0zXI6DxrSaFQ3HafyspKbNu2TddD3pa9vT2qq6u1tlVVVcHcvP6hPeXl5SgvL9dbDYagTEgCALh4e8FW4YjSwiJ5CyIiIjJSOgeZ/Px8ne4jU1RUhP3792PWrFlITU1tVnE//fQTFi5ciJSUFFy4cAF33nknXnzxRaxbt65Zx5VbaWER8pWZcPH2gk9YKJL+Oi93SUREREZJ5yAzePDg2+5jbm4Ob29vPPvss/j0009x3333Nau4//znP3j99dexevVqeHl5IS0tDWvWrMFrr73WrOO2Bsq4BLh4e8E7PIRBhoiIqIl0DjKHDx/W+aDnzp3D8ePHm1TQrYqKijB79mzMnj272cdqbTLiExHVtxe8IzgFm4iIqKl0DjK3Mjc3xwMPPIAOHToAAC5evIjt27ejqqoKABAXF4fHHntMf1WaoIy4RACATziXKiAiImqqRgeZjh07YseOHfDx8cGVK1cA1CwlkJWVhdGjR+PChQuoqKjAjh079F6sKeFN8YiIiJpP5zv7anz22We4cOECAgIC0K1bN3Tr1g2BgYE4d+4cPv30U0PUaJIyb8xccvb2hK3CUd5iiIiIjFSje2S6du2K7t27Iz8/X9qWn5+PhQsX4uTJk/qszaSVFhUjP0MJFx9v+ISHIenPc3KXREREZHQa3SNz9epVeHt719ru5eWFuLg4vRTVVmjGyXiHh8hbCBERkZFqdJBZsGABPvzwQ4wfPx7+/v7w9/fH+PHj8f7772PevHlQKBRSo4ZxnAwREVHzNPrS0s6dOwEAmzZtkm6QZ2ZmBqDmBnaa74UQsLRs0qSoNkOpmbkUwZlLRERETdHopKHLjfFIN5oeGW9OwSYiImqSRgeZxtwYjxqmWXPJ2csTdk4KqFWF8hZERERkZHQaIxMYGNiog/r5+TWpmLamrLgEeekZAHhjPCIioqbQKcicPHkSn3zyCbp3717vPk5OTpgxYwbOnz+P8ePH661AU5cRf2PmEpcqICIiajSdLi117NgRCxcuxL59+1BaWorTp08jLS0NpaWlcHV1RceOHdGpUyecOXMGc+fOxe7duw1dt8lQxiWiQ7/e8A4LkbsUIiIio6NTj0xubi7mzJkDX19fPPfcc4iNjYWHhwciIyMBAN988w26deuGPn36MMQ0kjQFmz0yREREjdaowb6lpaX48ccf8eOPPxqqnjaHi0cSERE1XaNviEf6pVlzycnTA3ZOTvIWQ0REZGQYZGRWVlKC3LR0ALwxHhERUWMxyLQCynjN5SWOkyEiImoMBplWgItHEhERNU2jg4y9vb0h6mjTlFw8koiIqEkaHWSUSiU+//xz9O3b1xD1tElSjwzHyBARETVKo4PMpEmT4ObmhgMHDuDKlSuYN28efH19DVFbm6FZc8nJwx32zpy5REREpKtGB5nt27fjgQcegL+/Pz755BNMnDgRycnJ+Omnn/DAAw/AwsLCEHWatHK1GrmpmplLvLxERESkqyYP9s3OzsaKFSsQHR2NF198EcOGDcMPP/yAtLQ0vPrqq7Czs9NnnSZPc4dfb94Yj4iISGdNDjJeXl7473//iwsXLuDtt9/GDz/8gKFDh2LOnDkYN24ctm3bpscyTZ9Sc4df9sgQERHprFFLFADAAw88gGnTpmHkyJG4ePEiVq9eja+//hoFBQXSPr///jsuXbqk10JNnbQKNhePJCIi0lmjg8z69evx/fffo2/fvjh16lSd+6SlpeHNN99sdnFtSUYcF48kIiJqrEYHGV9fX6jV6gb3KS0txWuvvdbkotqizMRkAIDC3Q0OLs4ozi+4zTOIiIio0WNkLC0toVAoajVHR0dYWVkZosY2oVytRs71NACAN3tliIiIdNLoIJOfn4+8vLxaLT8/H2q1GklJSVi8eDHMzMwMUa9Ju7nmEmcuERER6aLRl5amTp2KN998Exs2bMAff/wBALj77rsxZcoUvPHGG/D09MRLL72EsrIyLFmyRO8Fm7KM+AR0HNiX42SIiIh01OggM2XKFMyZMwebN2+Wtu3cuRPnz5/HU089hWHDhiElJQULFy5kkGkkaakCzlwiIiLSSaMvLfXp0wdnz56ttf3s2bPo3bs3AODIkSMICgpqfnVtjJI3xSMiImqURgeZa9euYfr06bW2T58+HdeuXQMAuLu7Iy8vr/nVtTHKhCRUV1fXzFxydZG7HCIiolav0ZeWXnrpJWzevBmjRo3CyZMnAQDdu3dH+/bt8eCDDwIAevTogY0bN+q30jagorQMeWnpcA/wh094KOJP1e75IiIiopsaHWR++uknREVF4amnnkJUVBQAYPfu3Rg7diySk2vuhfLJJ5/ot8o2JCMusSbIRIQxyBAREd1Go4KMpaUlfvnlF8ycORMvv/yyoWpq05TxCeg0qB/HyRAREemgUWNkKisr0aVLF0PVQrg5c4lTsImIiG6v0YN9v/766zoH+5J+ZGhmLulxCra5pQUcXF3gERyIoM4dEdmzO2zs7fV2fCIiIrk0eoyMpaUlHn/8cQwbNgynT59GcXGx1uNz5szRW3FtUWZiMqqrq+Ho5gpHN1cU5TY8+8vV1wcRPbvBJyIM9s5OsHdSwM7JCXZOCtg7KWCrcIStg0Ot553bfxBfzF5gqNMgIiJqEY0OMnfccQfOnDkDAGjXrp3WY0II/VTVhlWUliE3NQ0egQHwDg+tFWQcXF0QcXc3RPbsjsie3eERFKDzsdWFRSgvUcPZ2xOhd/ISIRERGb9GB5khQ4YYog66hTIuER6BAfCJCMP1C5cR1q0rInvVBBe/qEitfasqK3Ht70tI+us8ivPyUaIqhFpVCLVKBbWq6Mb3KpQWFaO6qgpWtjZ468QB6V41xXn58pwkERGRHjQ6yGiEh4cjPDwchw8fRmlpqT5ravMy4hPRaXB/jHx6Osb8dxYsrLTfprSrcYg9cQqxx08h4fRZlBWX6HzsW+9V4x0WgoTTf+q5eiIiopbT6CDj5uaGTZs2YfDgwRBCIDIyEomJifj888+Rl5eHl156yRB1timpl68CgHR33+xr1xF34jRiT5xC3B+nbztu5naU8Uk3gkwogwwRERm1RgeZFStWoKKiAkFBQbh06ZK0fePGjXjvvfcYZPTg3L4YbF/2AUqLihF74iTy0jL0enxlfOKNVbZ5rxoiIjJujQ4yI0aMwMiRI5Gamqq1PTY2FsHBwXorrC0T1dU4/NX3Bjt+RrxmlW0GGSIiMm6Nvo+Mg4MDSkpqj8lwc3NDWVmZXooiw1Jqgkx4iLyFEBERNVOjg8xvv/2GyZMnS98LIWBmZoa5c+ciJiZGr8WRYWQm1qyJ5eTpATsnJ5mrISIiarpGX1qaO3cufv31V3Tv3h3W1tZYtmwZOnXqBDc3N/Tt29cQNZKelZWUIDctHW5+vvAJD0Hi2XNyl0RERNQkje6RuXDhAtq1a4cjR45g+/btcHBwwJYtW3DnnXciISHBEDWSAdy8vMRxMkREZLyadB8ZlUqFt956S9+1UAtSxiehQ/8+HPBLRERGrUlBxtnZGXfffTe8vLxgbq7dqfPVV1/ppTAyLA74JSIiU9DoIPOvf/0L33zzDRwdHaFSqbTWVxJCMMgYiYyEmiDjEx4mcyVERERN1+gxMu+++y7WrVsHR0dHuLq6ws3NTWru7u6GqJEMQNMj4+ztCVuFo8zVEBERNU2jg4y/vz8+/PBDqNVqQ9RDLaSsuAT5GUoAgHdYiLzFEBERNVGjg8yePXvQvXt3Q9RCLUzJO/wSEZGRa/QYmV27dmH58uXo2LEjzp8/j4qKCq3Hf/rpJ70VR4aVkZCEqL69uOYSEREZrUYHmbVr1wIA/u///q/WY0IIWFo2aSIUyYA9MkREZOwanTosLCwMUQfJQBnHKdhERGTcGj1GhkyHMjEJAODq6wMbB3t5iyEiImoCnYPMrl274HTLAoPz5s2Ds7Oz9L2bmxsuXLig3+rIoNSqQhRkZgHgzCUiIjJOOgeZkSNHwsbGRvr+5Zdfhpubm/S9paUloqKi9FsdgMTERAgharWPPvpI76/VFikTkgBwzSUiIjJOOgcZMzOzBr83lB49esDHx0dqw4YNAwBs3ry5RV7f1GXE1Sz0yQG/RERkjFr9FKPs7Gyt7+fPn4+4uDgcOnRIpopMy80emRBZ6yAiImoKnYOM5pLOP7e1JCsrK0yaNAnvvfdevftYW1trXQJTKBQtUZrR0kzB5ppLRERkjHQOMmZmZtiwYQPKysoAALa2tvjkk09QXFwMAFrhwVDGjh0LFxcXbNiwod59FixYgMWLFxu8FlOhCTJu/r6wtrNDOZeeICIiI2IGQKdulXXr1ul0wMcff7w59TTol19+QXl5Oe6///5696mrRyY1NRVOTk4oLCw0WG3GbPHBXVC4u2HFhGm4fvGy3OUQERFBoVBApVLd9vNb5x4ZQwYUXQQFBWHYsGEYN25cg/uVl5ejvLy8haoyDRlxCVC4u8E7PJRBhoiIjIrR3BBv2rRpyMzMxK5du+QuxeRoBvxyzSUiIjI2RhFkzMzMMG3aNHzxxReoqqqSuxyTwzWXiIjIWBlFkBk2bBiCg4N1HqdDjSMFGU7BJiIiI9Pq7yMDAPv27WuxG/C1RRnSzCU/WNnaoKK0TOaKiIiIdGMUPTJkWMV5+SjKzYO5uTm8QoLlLoeIiEhnDDIE4JY7/HLALxERGREGGQLAAb9ERGScGGQIwM1xMj4c8EtEREaEQYYAsEeGiIiME4MMAbgZZNwD/WFpbS1zNURERLphkCEAQGFOLkoKVDC3sIBnSJDc5RAREemEQYYkSmmcDC8vERGRcWCQIUmGdIdfBhkiIjIODDIkUTLIEBGRkWGQIYkygZeWiIjIuDDIkCQjPglAzcwlCysreYshIiLSAYMMSVSZWVCrCmFhaQnP4EC5yyEiIrotBhnSollziZeXiIjIGDDIkBYO+CUiImPCIENaMhIYZIiIyHgwyJAWZZxmzaUQeQshIiLSAYMMadFcWvIMDoKFpaXM1RARETWMQYa05CszUVpcDAsrS3gEBchdDhERUYMYZKgW5Y37yXCcDBERtXYMMlSLkgN+iYjISDDIUC2aAb+8lwwREbV2DDJUC6dgExGRsWCQoVqkmUshQTC3sJC5GiIiovoxyFAt+elKlJWoYWllBfdAf7nLISIiqheDDNUihJAG/HKcDBERtWYMMlQnTsEmIiJjwCBDdeIUbCIiMgYMMlQnqUfGSNdcsrazg3tgAMzMzOQuhYiIDIiL6VCdNDOXvEKDYWZuDlFdLXNF9bNzUsAvKhIBHaIQ0DEK/h2iamZcmZtj+7IPcPir7+UukYiIDIRBhuqUm5aOcnUprO1s4R7gh+yU63KXBABwdHOFf4coBHSIgn+HdgjoGAX3gPpnVkX27M4gQ0RkwhhkqE6iuhqZickI6BgF7/DQFg0yFpaWcA/0h2dIEDyDg+AVEgSPkEB4hQRD4e5W53Nyrqfi+sUrSL18FamXrsDK1hZTVyzhGB8iIhPHIEP1UiYk1gSZsFBciPlN78d3dHOFd3govEKC4RkaBM/gQHgGB8HN3xcWlnX/alZXVyM7+RquX7qC1ItXav69HAu1SqW1n72zEwDAPcAP1na2KFeX6r1+IiKSH4MM1Usz4Ncnonm9GraODvAJD4NPZBh8Im62+npXAKC0uBhZydeQnZSCzKQUZCVfQ1ZSCjITk1GuVt/2NUsKVCjMyYXC3Q1eocG4fvFKs86BiIhaJwYZqldGfAIAwDtMtyBjY28Pz5BAeIeHwTfiZnBx9fWpc//q6mrkXk9DZmIyMpOSpbCSlZQCVVZ2s+tXxidC4e4G7/AwBhkiIhPFIEP10sxc8g4LkWYumVtawM3fTxq74qlpwYFw9vKs91j5GUqkxyUgIzYBGXEJyIiLhzIhCRWlZYarPyEJEXd3g094iMFeg4iI5MUgQ/XKTU1HRVkZrGxt8OQnK+Di4w33AH9YWNX/a1OYkwtlQhIy4hKQHhtfE1ziE1BaWNSCldfIiGtcjxIRERkfBhmqV3VVFTLiEhDYqQPa9b5b2l5WokZ28jVkJdeMXclMSkZWUs33cgSW+kg9Ss0c40NERK0Xgww16IfXlqHL8MHIS8+oGb+SnAJVZjaEEHKXdlvKhCQAgJu/H6xsbQx6GYuIiOTBIEMNun7xMq5fvCx3GU1SlJuHotw8OLq5wiskGKmXr8pdEhER6RnXWiKTpumV4eUlIiLTxCBDJu3mzCsGGSIiU8QgQyYt40aQ4RRsIiLTxCBDJk3qkQkPk7kSIiIyBAYZMmmaIOMe4AdLGxuZqyEiIn1jkCGTVpiTi+L8AphbWMAzOFDucoiISM8YZMjkaXplfCJ4eYmIyNQwyJDJk6Zgc8AvEZHJYZAhk8c1l4iITBeDDJk8TY+MTziDDBGRqWGQIZOnGSPjERQACysrmashIiJ9YpAhk6fKykaJSlUzcykkSO5yiIhIjxhkqE1QxicB4OUlIiJTwyBDbcLNO/wyyBARmRIGGWoTMqTFI0PkLYSIiPSKQYbaBPbIEBGZJgYZahOUCTVBxjMoEBaWljJXQ0RE+sIgQ21CgTIL6sIiWFhZwoNrLhERmQwGGWozNL0yvLxERGQ6GGSozeAUbCIi09Pqg4yfnx+++uorZGdno6SkBOfOnUO3bt3kLouMEAf8EhGZnlY96tHFxQVHjx5FTEwMRo0ahaysLERGRiIvL0/u0sgIcQo2EZHpadVBZt68ebh27Roef/xxaVtSUpJ8BZFR0/TIeIYEwdzSAtWVVTJXREREzdWqLy3df//9OHXqFDZt2gSlUokzZ85gxowZDT7H2toaCoVCqxEBQH6GEqXFxbC0soJHYIDc5RARkR606iATFhaGp59+GrGxsRg5ciQ+/vhjfPjhh5g8eXK9z1mwYAFUKpXUUlNTW7Biau00A345ToaIyDS06iBjbm6OM2fOYOHChfjzzz+xdu1arF27FjNnzqz3OUuWLIGTk5PU/P39W7Biau00U7B9IsJkroSIiPShVQeZ9PR0XLx4UWvbpUuXEBQUVO9zysvLUVhYqNWINKQeGQ74JSIyCa06yBw9ehRRUVFa29q1a4fk5GSZKiJjlxGfAICXloiITEWrDjIrVqxAr169sGDBAoSHh+ORRx7Bk08+iVWrVsldGhkpzcwlr5AgmFtYyFwNERE1V6sOMqdOncIDDzyARx55BH///TdeeeUVvPDCC/j222/lLo2MVH66EmUlalhaW8M9kOOnTJWVrY3cJRBRC2nV95EBgF27dmHXrl1yl0EmQggBZUIigu7oCO+wUGQlpchdEjWRraMDPIIC4Rlc0zyCA+EZHASP4ADYOzlh35r1+OWjT+Uuk4gMrNUHGSJ9U8YnIeiOjvCJCMXfBw7JXQ41wNrOFu6BATVB5R+hReHu1uBz+zz0APZ+/Dmqq3jjQyJTxiBDbQ5XwW5dLG1s4BEUAI/AAHgGB8Aj6EbvSlAgnL09G3yuKjsH2cnXkJV8Ddkpmn+vY+baD+Ho5orw7nci9sSpFjoTIpIDgwy1ORlxXHOppVjb2cLJ06OO5g5nL094BAXAxce7wWMU5xfUhJWUmpCSlZQihZay4pI6n3P+wCH0fnAsuowYwiBDZOIYZKjN0fTIeIUGw8zcHKK6WuaKjI+towOcPD2g8HCvCSaafz3dtQKLraODTscrUamQnXz9ll6VG6El+TrUKlWj6zu39wB6PzgWnYcOxJY33+F7TGTCGGSozclLTUe5urRm/EWAH7JTrstdUqth5+QEZy9NIPHUDice7lB4usPJwwPWdrY6H7OspASqzGwUZGWjMEvzbw4KsrKRcz0VOSnXUZxfoNfziDt5BsX5BVC4uyHsrmjEnzqr1+MTUevBIENtjhACysQkBHZsD+/w0DYRZMwtLODi4wX3AH84e3tpBRRnL88bPSvusLLRfdqyurAIhdk5UGVlQ3XjX01AUWVm1WzLzEZZSd2XfwypurIKfx84jJ7jRiN65FAGGSITxiBDbZIyPhGBHdvDJzwMF2J+k7scvbBzUsA9wA9uAf5wD/CD+41/3QL84OrrAwtL3f5zL84vqAknWdlQZeXc/Do7B4WabdnZqCgtM/AZNc+5fQfQc9xodB46EFuXvMfLS0QmikGG2qSbq2CHyFpHc3UY0Bcjn5kO90B/2Ds5NbhvRVkZ8tIykJeWDlV2Dgoys1GYnY2CzGwprBRm56KyvLyFqjes2OOnUKJSwcnTAyFdOyPxzF9yl0REBsAgQ22SUrPmUpjxTsE2t7DAuIVz4ObnK21TZWUj53oacq6nIvd6mvR1zvU0FGZlQwghY8Utq6qyEhdifkOPMfchesQQBhkiE8UgQ21Sxi2rYBvrzKVOg/rBzc8XxXn5+HjGc8i5lopydancZbUqf+2NQY8x96HLsMHYvvT9NhXkiNqKVr3WEpGh5KamoaKsDFa2Nlo9Gsak36MPAQCObd6G9KvxDDF1uHrsD6gLi+Ds7YngLnfIXQ4RGQCDDLVJoroamYnJAIzzDr++7cIR0eMuVFVW4vdNW+Qup9WqqqjAhYM1g7m7jBwiczVEZAi8tERtljI+Ef7t28EnIhQXDx2Ru5xG6ffIvwEA5389hAJllszVtG7n9sWg++hRiB4+GD8t/5CXl4gawcbBHg4uznBwcYG9izMcXJxu+bqm2bs4I2bd17h67A9ZamSQoTYrI16zVIFx9cjYOzuh27/uAQAc+WaTzNW0fleOnkBpcTFcfLwReEcHpJy/KHdJRLKysLKqdRduaekQTw8oPD3g6FoTViytrHQ65vn9BxlkiFqasU7B7jluNKxsbZB66SoSz56Tu5xWr7K8HBcPHcVd945A9IihDDJksjQBxdnTEwpP9xt36fasFVocXJwbddyK0jIU5+ejOL8AJfkq6eua7wtQXFCAlHMXDHRWt8cgQ21Wxo0p2F6hITAzMzOKSw7mFhbo8/B4AMBv37I3Rlfn9h7AXfeOQJfhg/HTuyvlLoeoUSytraHwcNMKKAoPj5qg4uEOJy/PRgeUyvJy7RteSjfAzIIqKwdFuXkozstHcUFBq7/5JYMMtVm519NQWV4OG3s7uPr5IDc1Xe6Sbksz5booNw9nf94ndzlG49KR4ygrKYGbvy8COrbH9YuX5S6JCABgY28PtwBfuAf4w8XHW+syT1N6UCrKyuoIKNohpSAzu0mLsbZWDDLUZlVXVSEzKQV+7SLgHRZqFEGm38SaQb7Hf9xhMnfgbQmVZWW4dPh3dL1nGKJHDmGQoRZjZm4OZ08PuAXesnRIoD/c/WuWD1G4u+l0nJqAkl0rpGjfoTvHpAKKrhhkqE1TxiXAr10EfCJCcem33+Uup0G+7cIRcXc3VFVW4thGTrlurL/2xaDrPcPQZfhg7FqxWu5yyARY29nByaum16RmkGzN+JRbF2R19fOBpbV1g8cpzstHzvU05KVnoCAzC4U3lhC5NbCoVYUtdFbGh0GG2rSMhCQAxnEvGc2U678PHEa+MlPmaozP5d9+R7m6FB6BAfBv3w6pl6/KXRK1Ujb29jdCiUfN+BMPdymwOHl6SN/bOjjodLyqikrkpqUj98ZyIdrLiKSitKjYwGdk2hhkqE1TGskUbHtnJ9x130gAwG+cct0k5epSXPrtd0SPGIIuwwczyLRBtgrHmhCiGYPiUdOLogkoml4VXQMKAJQWF0OVWbM6vNSDovk+Mwu5qekoyMxCdVWVAc+sbWOQoTZNCjKtfAp2z3GjYW1nWzPlmosfNtm5fTGIHjEE0SOGYPfKNXKXQ3ri4OIMxY0gUnNZp+byjuKW0KJwd4e1na3OxywtKr4ZTLJzasLJrWNTsrJRmJWDspISA54Z6YJBhtq07GvXUVlRARt7e7j6+iAvPUPukmq5dcr1kW83y1yNcbt0+HdUlJXBMyQIvu3CkX41Xu6SqAGW1tZw8/eFq59vHTdwc5cu89xuDMqtSlQqqLJyUJiVA1V27cGzmgG15Wq1Ac+M9IlBhtq06soqZCWlwDcyHN7hIa0yyHQceHOV6zO7OeW6OcpKSnD5yHF0HjoQXYYPYZBpBRzdXWtm8gT4wT0wAO4BNbN53AP84eLtpfNxinLzbs7qyc7WutwjhZbsXFSWte57olDjMchQm6eMT6wJMmGhuHzkuNzl1NL/0ZpBvsd+2M4/wnpwbt8BdB46ENEjhmDPqrVyl2OyzMzN4ejqUjNI1sNDa7Css6cHXP194R7gBxt7+waPU1pcLI0zKczKQUHWjX8zs6X7ohRm56CqsrKFzoxaGwYZavM042R8IsJuu6+1nS08g4Pg4OqCpD/PoVxdatDaOOVa/y4eOorK8nJ4h4XAOzxUev9JN2bm5nB0c9Uai6JZn+fWKciO7q6wsLz9R0x1dTXyM5Q3ZvDcnM2TfS0VuddTUZxf0AJnRcaMQYbaPGkKdliItM3Z2xNeoSHwCgmCV2gwPG/86+rrI+2TmZiM9bPmITMx2WC19X3kQQCccq1PpUXFuHL0BDoN7o/o4YOxl0EGQM1YLEd3Nzh53LgF/i3TjKUeFQ93KNzdYG5hodMxq6uqUJSbJw2M1fSmqLJykJuWjpzrqchLy0BVRYWBz45MGYMMtXnKuJo1l/zaR+KFjevhFRLUYHd3cV4+YGYGr9BgzPruc2x85U2c2xej97rsnJzQ7b6aVa455Vq//toXg06D+6PLiCHY+8k6ucsxKAtLyxuzd272oGgNmL0xBdnRzRXm5uY6HbO6qgqFObnad5rNzILqxo3cCm8Moi3KzeO0YzI4Bhlq87JTrqOspAQ29vYI7NgeAFBVWYmca6nITEpGVmIKMhOTkZmUgqykZBTnF8DR3RWPLXsdEXd3w5T33kLMuq/x84ef6PWPtjTl+jKnXOvbhYO/obKiAr6R4fAKDTZor5qhmFtY1IQRL82043+2msDi6Oaq8zGrKiulgFLTg5KNwhtTjf+5oKCorjbg2RHpjkGG2ryqykp8/tx/EdipA7JTriEzMRk511IbHDxYlJOHNU/Own0vPINBUydi8OOTENCpPb6e+38oys1rdk3mFhbo+8iNKdffcMq1vpUWFuHqsT/QcUBfdBk+GPs/3SB3SXWyVTjeXJ8nwA9uATfX63H19YGFlW5/wisrKrTDiebmbZnZN6cgZ2ejOK+AAYWMjhkAIXcRhqRQKKBSqeDk5ITCQq5VQfoXPXIoJrz2Mmzs7ZGfocSG2S/j2t8Xm3XMO4YMxLQP3kZxXj5eGz6Ws5UMoMfY+/Dw6/9D2pVYvPvg5BZ/fWs7Wyg8PODspRmLUnMrfFc/H7gF+MEjMAD2zk4NHqOyouJmGMm89cZtN1Y5vtGjwgGzZIx0/fxmjwxRM/2151dkxCVg6ool8AoNxnNffIytS97D8R+2N/mY/SbWDPI9/uMOhhgD+fvAb6j6v0r4RUXCIzgQ2cnX9HJcK1sbrdk8Tl6e2jdwu9HsFI46Ha8wJ7fWTB7N7B5VZjaEMOn/FyW6LQYZIj1Qxifig4nT8fAbr6Dz0IH496L5COrcCVvefAeV5eWNOpZPZDgie3ZHVWUlfueUa4NRq1SI++MUovr2Qpdhg3Hg8y8b3N/K1qZm9o6n+83b4Xtpj0tx9vSAnZNC5xrKStS17iqbr8xEzrWasJJ7PY13mCW6DQYZIj0pLSrGhhfmY8j0xzDqP0+h57jR8IuKwBezX27UHYM1vTF/HziM/AylocolAH/tPYCovr1w56hhSD73982VjTXr83i4w9nLEwoPd517UIC6A4rmElDNrJ4cFGRmoayY6/QQNRfHyBAZQGSvHnhs2WtwcHVBcV4+Ni1eggJlFuycFLB3UsDOyemWrxU3vq7Z5hMZBksrK6ya+jQSTv8p96mYNAcXZyyK2anTjduAmhW0Vdk3Bs1mZkkzeQo0QeVGaCktKjZw5USmT9fPbwYZIgNx9fXBlBVvIbBTh0Y/N+mv81g56UkDVEX/NGbuC+g2+h5prZ6aGT05N1c9vmWWDwMKUcthkLmBQYbkZGltjfv/+zy63jMMFaWlKFEVQq0qhFqlkr6ua1vq5VgO8iWiNo1B5gYGGSIiIuOj6+e3bvejJiIiImqFGGSIiIjIaDHIEBERkdFikCEiIiKjxSBDRERERotBhoiIiIwWgwwREREZLQYZIiIiMloMMkRERGS0GGSIiIjIaDHIEBERkdFikCEiIiKjxSBDRERERotBhoiIiIyWpdwFtBSFQiF3CURERKQjXT+3TT7IaH4QqampMldCREREjaVQKFBYWFjv42YARMuVIw8/P78GfwgaCoUCqamp8Pf312l/Y2Pq5weY/jma+vkBpn+Opn5+gOmfo6mfH9B6zlGhUCAtLa3BfUy+RwbAbX8I/1RYWGiyv5yA6Z8fYPrnaOrnB5j+OZr6+QGmf46mfn6A/Oeoy2tzsC8REREZLQYZIiIiMloMMrcoKyvD4sWLUVZWJncpBmHq5weY/jma+vkBpn+Opn5+gOmfo6mfH2Bc59gmBvsSERGRaWKPDBERERktBhkiIiIyWgwyREREZLQYZIiIiMhoMcjc8MwzzyAxMRFqtRrHjx9Hjx495C5JJ/Pnz8cff/wBlUoFpVKJrVu3ol27dlr7xMTEQAih1T7++GOtfQIDA7Fz504UFxdDqVRi2bJlsLCwaMlTqdeiRYtq1X/p0iXpcRsbG3z00UfIzs5GYWEhfvjhB3h5eWkdozWfX2JiYq3zE0Lgo48+AmCc71///v2xY8cOpKamQgiBMWPG1Nrn1VdfRVpaGkpKSrBv3z5ERERoPe7q6oqvv/4aBQUFyMvLw2effQYHBwetfTp37ozDhw9DrVYjJSUF//3vfw16XhoNnZ+lpSXefvttnDt3DkVFRUhNTcUXX3wBX19frWPU9b7PmzevVZwfcPv3cP369bXq3717t9Y+xvoeAqjzv0khBF566SVpn9b8Hury2aCvv50DBw7E6dOnUVpaitjYWEyZMsXg5/dPoq23hx56SJSWloqpU6eKDh06iDVr1ojc3Fzh6ekpe223a7t37xZTpkwRHTt2FF26dBE7d+4USUlJwt7eXtonJiZGrFmzRnh7e0tNoVBIj5ubm4tz586JvXv3iujoaHHPPfeIzMxM8eabb8p+fgDEokWLxPnz57Xqd3d3lx5fvXq1SE5OFoMHDxZ33XWX+P3338WRI0eM5vw8PDy0zm3o0KFCCCEGDhxotO/fPffcI15//XUxduxYIYQQY8aM0Xp87ty5Ii8vT9x///2ic+fOYtu2bSI+Pl7Y2NhI+/z888/i7Nmz4u677xZ9+/YVV69eFd988430uEKhEOnp6eKrr74SHTt2FBMmTBDFxcXiiSeekPX8nJycxN69e8W///1v0a5dO9GzZ09x/PhxcfLkSa1jJCYmiv/9739a7+ut/93KeX66vIfr168XP//8s1b9Li4uWvsY63sIQOu8vL29xdSpU0VVVZUIDQ01ivdQl88GffztDAkJEUVFReKdd94R7du3F88++6yoqKgQI0aMaJHf0xutxV6o1bbjx4+LlStXSt+bmZmJ69evi3nz5sleW2Obh4eHEEKI/v37S9tiYmLEihUr6n3OPffcIyorK4WXl5e07amnnhL5+fnCyspK9nNatGiROHv2bJ2POTk5ibKyMjF+/HhpW1RUlBBCiJ49exrF+f2zrVixQsTGxprM+1fXh0RaWpqYM2eO1vuoVqvFhAkTBADRvn17IYQQ3bp1k/YZOXKkqKqqEr6+vgKAmDlzpsjJydE6xyVLlohLly7Jfn7/bN27dxdCCBEYGChtS0xMFLNmzar3Oa3l/Oo7x/Xr14utW7fW+xxTew+3bt0q9u/fr7XNmN7Df3426Otv59tvvy3Onz+v9Vrfffed2L17d4udW5u/tGRlZYVu3bph//790jYhBPbv34/evXvLWFnTODs7AwByc3O1tj/66KPIysrC+fPn8dZbb8HOzk56rHfv3jh//jwyMzOlbXv27IGzszM6derUMoXfRmRkJFJTUxEfH4+vv/4agYGBAIBu3brB2tpa6/27cuUKkpOTpffPGM5Pw8rKCpMmTcK6deu0thv7+3er0NBQ+Pr6ar1nKpUKJ06c0HrP8vLycPr0aWmf/fv3o7q6Gj179pT2OXz4MCoqKqR99uzZg/bt28PFxaVlTkZHzs7OqK6uRn5+vtb2+fPnIzs7G2fOnMFLL72k1WVvDOc3aNAgKJVKXL58GatXr4abm5v0mCm9h15eXrjvvvvw+eef13rMWN7Df3426OtvZ+/evbWOodmnJT8/28SikQ3x8PCApaUllEql1nalUon27dvLVFXTmJmZ4f3338eRI0dw4cIFafu3336L5ORkpKWloUuXLli6dCmioqIwfvx4AICPj0+d5695TG4nTpzA1KlTceXKFfj6+mLRokX47bffcMcdd8DHxwdlZWUoKCjQeo5SqZRqb+3nd6uxY8fCxcUFGzZskLYZ+/v3T5qa6qr51vfs1j+eAFBVVYXc3FytfRITE2sdQ/PYP0ODXGxsbLB06VJ89913Wgvgffjhhzhz5gxyc3PRp08fLFmyBL6+vpgzZw6A1n9+v/zyC7Zs2YLExESEh4fjrbfewu7du9G7d29UV1eb1Hs4ZcoUFBYWYsuWLVrbjeU9rOuzQV9/O+vbx9nZGba2tigtLTXIOd2qzQcZU7Jq1Srccccd6Nevn9b2tWvXSl///fffSE9Px4EDBxAWFoaEhISWLrPRfvnlF+nr8+fP48SJE0hOTsZDDz0EtVotY2X6N336dOzevRvp6enSNmN//9oyS0tLbNq0CWZmZnj66ae1HluxYoX09fnz51FeXo41a9ZgwYIFKC8vb+lSG23jxo3S13///TfOnTuHhIQEDBo0CAcOHJCxMv17/PHH8c0339S6Xb+xvIf1fTaYijZ/aSk7OxuVlZXw9vbW2u7t7Y2MjAyZqmq8lStX4l//+hcGDx6M1NTUBvc9ceIEAEizRDIyMuo8f81jrU1BQQGuXr2KiIgIZGRkwMbGRuo21bj1/TOW8wsKCsKwYcPw2WefNbifsb9/mpoa+m8uIyOj1uwJCwsLuLm5Gc37qgkxwcHBGD58uFZvTF1OnDgBKysrhISEAGj95/dPiYmJyMrK0vq9NPb3EAD69euH9u3b3/a/S6B1vof1fTbo629nffsUFBS0SG8MwCCDiooKnD59GkOHDpW2mZmZYejQoTh27JiMlelu5cqVeOCBBzBkyBAkJSXddv+uXbsCgPR//ceOHUPnzp3h6ekp7TN8+HAUFBTg4sWLhii5WRwcHBAeHo709HScPn0a5eXlWu9fu3btEBwcLL1/xnJ+06ZNQ2ZmJnbt2tXgfsb+/iUmJiI9PV3rPVMoFOjZs6fWe+bq6oq77rpL2mfIkCEwNzeXgtyxY8cwYMAAWFre7FgePnw4Ll++LPslCU2IiYyMxLBhw2qNWatL165dUVVVJV2Oac3nVxd/f3+4u7tr/V4a83uoMX36dJw6dQrnzp277b6t7T1s6LNBX387jx07pnUMzT4t/fnZ4qOnW1t76KGHhFqtFpMnTxbt27cXn3zyicjNzdUaqd1a26pVq0ReXp4YMGCA1hRAW1tbAUCEhYWJ//3vf+Kuu+4SwcHBYvTo0SIuLk4cPHjw5ojvG1PsfvnlF9GlSxcxYsQIoVQqW8305OXLl4sBAwaI4OBg0bt3b7F3716RmZkpPDw8BFAzhTApKUkMGjRI3HXXXeLo0aPi6NGjRnN+QM1MuaSkJLFkyRKt7cb6/jk4OIjo6GgRHR0thBDihRdeENHR0dKsnblz54rc3FwxevRocccdd4itW7fWOf369OnTokePHqJPnz7iypUrWlN3nZycRHp6uvjiiy9Ex44dxUMPPSSKiopaZGprQ+dnaWkptm3bJlJSUkSXLl20/rvUzPTo1auXmDVrlujSpYsIDQ0VEydOFEqlUmzYsKFVnN/tztHBwUEsW7ZM9OzZUwQHB4shQ4aIU6dOiStXrghra2ujfw81+ygUClFUVCSeeuqpWs9v7e/h7T4bAP387dRMv166dKmIiooSTz/9NKdfy9WeffZZkZSUJEpLS8Xx48fF3XffLXtNurT6TJkyRQAQAQEB4uDBgyI7O1uo1Wpx9epVsXTpUq37kAAQQUFBYteuXaK4uFhkZmaK5cuXCwsLC9nPD6iZypeamipKS0vFtWvXxHfffSfCwsKkx21sbMRHH30kcnJyRFFRkfjxxx+Ft7e30ZwfADF8+HAhhBCRkZFa2431/Rs4cGCdv5fr16+X9nn11VdFenq6UKvVYt++fbXO3dXVVXzzzTdCpVKJ/Px88fnnnwsHBwetfTp37iwOHz4s1Gq1uHbtmpg7d67s5xccHFzvf5eaewPdeeed4tixYyIvL0+UlJSICxcuiPnz52uFADnP73bnaGtrK3755RehVCpFWVmZSExMFGvWrKn1P3/G+h5q9nniiSdEcXGxcHJyqvX81v4e1kfz2QDo72/nwIEDxZkzZ0RpaamIi4vTeo2WaGY3viAiIiIyOm1+jAwREREZLwYZIiIiMloMMkRERGS0GGSIiIjIaDHIEBERkdFikCEiIiKjxSBDRERERotBhqiNGDNmDGJjY1FZWSktdlfXNlMSHBwMIQSio6Mb/dwhQ4bg4sWLMDdvHX8mFy1ahLNnz+q071NPPYUdO3YYuCKi1qNF78DHxsame1u/fr3WXTmzs7PF7t27RefOnRt9rIyMDLFkyRLh6+srHB0d691miNrLy8tFRkaG2Lt3r5g2bZowMzMzyM9q69atWts0d9mNjo5u9PFOnTolJk6cKACIqKgoIYQQPXv21Nrn2LFjQq1Way2tYGNjI9RqtXj88cf1en6LFi0SZ8+e1WlfKysrcf36ddGvX78W/X1lY5OjtY7/1SCieu3evRs+Pj7w8fHB0KFDUVlZiZ07dzbqGA4ODvD29saePXuQnp6OoqKiOrc1hZWV1W1rDwkJwahRoxATE4MPPvgAO3fuhIWFRZNeryX07dsX4eHh+PHHHwEAV65cQXp6OgYNGiTt4+joiLvuugtZWVno1auXtL13796wtbXFgQMHmvTaty4w2FQVFRX49ttv8fzzzzf7WEStHYMMUStXVlYGpVIJpVKJv/76C2+//TaCgoLg4eEBABg4cCCEEHB2dpaeEx0dDSEEgoODMXDgQCmkxMTEQAhR7zag5kP88OHDKCkpQUpKCj744APY29tLx05MTMT//vc/fPHFFygoKMCnn35629rT0tJw9uxZLFmyBGPGjMG9996LqVOnSvs5Oztj7dq1yMzMREFBAX799Vd06dJFelxzWeXJJ59ESkoKiouLsXHjRjg5OUmPT506FWPHjoUQQut8ACAsLAwHDhxAcXEx/vzzT63gUZeHH34Y+/btQ1lZmbQtJiZGK8j069cPV69exU8//aS1fdCgQUhKSpJWG545cybi4uJQVlaGy5cvY9KkSVqvJYTAzJkzsX37dhQVFWHhwoUAgHnz5iEjIwMqlQqfffYZbG1ttZ43cOBAnDhxAkVFRcjLy8ORI0cQFBQkPf7TTz/h/vvvr/U8IlMke7cQGxtb3e2fl0scHBzExx9/LK5evSpdntEsfufs7Cztp1nRNzg4WFhZWYnIyEghhBAPPPCAtApzXdvCwsJEYWGhmDVrloiIiBC9e/cWp0+fFuvWrZOOnZiYKPLz88WLL74owsLCtBbwbKj2W9vZs2fFrl27pO/37t0rtm/fLrp16yYiIiLE8uXLRVZWlnB1dRVAzWWVwsJCsX//fhEdHS369+8vrl69Kr7++mvp5/L999+Ln3/+WWulac2lpYsXL4p7771XREZGik2bNonExMQGF9X8888/ay3uN2PGDFFYWCg9b+nSpWLlypXioYce0lqN/NChQ9LPa+zYsaKsrEw8/fTTIjIyUsyePVtUVFSIQYMGSfsLIURGRoaYOnWqCA0NFYGBgeLf//63dHmqXbt24vXXXxcFBQXSpSULCwuRl5cnli1bJsLCwkT79u3F5MmTtVZutrOzE5WVldJClWxsJtxkL4CNja2etn79elFRUSEKCwtFYWGhEEKI1NRUceedd0r73C7IABDOzs5CCKH1oVbXtrVr14pPPvlEq4a+ffuKyspKaRxIYmKi2LJli0611xdkvvvuO3HhwgXp+Pn5+bVWDY6NjRVPPPGEAGqCTEVFhfDz85MeHzlypKisrJRW621ojMyt41U6dOgghBAiKiqq3trz8vLEpEmTtLaFh4cLIYTo1auXACBOnDghHnzwQeHj4yONk7G1tRVqtVo89thjAoA4cuSIWLNmjdZxNm7cKHbu3Cl9L4QQ7733ntY+R48eFR999JHWtmPHjklBxtXVVQghxIABAxp8D3JycsTkyZNl/z1mYzNk46UlolYuJiYGXbt2RdeuXdGjRw/s2bMHu3fv1rqMoC/R0dGYOnUqCgsLpbZnzx5YWFggNDRU2u/UqVPNeh0zMzMIIaTXdHR0RE5OjtbrhoaGIjw8XHpOSkoK0tLSpO+PHTsGCwsLREVF3fb1zp07J32dnp4OAPDy8qp3fzs7O5SWlmpti4+Px7Vr1zBo0CAoFArceeedOHToEDIyMpCSkoLevXtL42NiYmIAAB06dMDRo0e1jnP06FF06NBBa9s/f54dOnTAiRMntLYdO3ZM+jovLw/r16/Hnj17sGPHDjz//PPw8fGpdR5qtVrrsiCRKWr+qDIiMqji4mLEx8dL38+YMQMFBQV44okn8Morr6C6uhpATTjQaGgAbkMcHR2xZs0afPjhh7UeS0lJ0aqpOTp06IDExETpNf85kFYjPz+/Wa+jUVFRIX2tCVANTavOzs6Gq6trre0HDx7E4MGDce7cOcTGxiIrKwsAcOjQIQwePBhmZmaIjY3F9evXG1VfU36ejz/+OD788EPcc889mDBhAt544w0MHz5cKwC5ublJNRKZKvbIEBkZIQSqq6thZ2cHANIHla+vr7RP165dm3TsM2fOoGPHjoiPj6/Vbg0DzTF48GB06dJFmhF05swZ+Pj4oLKystZr5uTkSM8LCgrSOsdevXqhqqoKV65cAQCUl5frbSbU2bNn0bFjx1rbY2Ji0KdPHwwfPhwHDx6Uth8+fBiDBg3CoEGDpN4YALh06RL69u2rdYy+ffvi4sWLDb7+pUuX0LNnT61tdQ1Q/vPPP/H222+jb9+++PvvvzFx4kTpsbCwMNjZ2el87xkiY8UgQ9TK2djYwNvbG97e3mjfvj1WrlwJR0dH/PTTTwCAuLg4pKSkYPHixYiIiMC9996LOXPmNOm1li5dij59+mDlypWIjo5GREQE7r//fqxcubJZtfv5+eHOO+/EggULsH37dvz000/48ssvAQD79+/HsWPHsG3bNgwfPhzBwcHo3bs33njjDXTr1k06VmlpKb744gt06dIF/fr1w4cffohNmzZBqVQCAJKSktClSxe0a9cO7u7uzZrGvGfPHvTr16/W9piYGDg6OuLxxx/HoUOHpO2HDh1Cz549cffdd2sFmeXLl2Pq1KmYOXMmIiIiMHv2bIwbNw7vvPNOg6//wQcf4PHHH8fUqVMRGRmJxYsXo1OnTtLjISEheOutt9CrVy8EBQVh+PDhiIyMxKVLl6R9+vfvj/j4eCQkJDT550BkLGQfqMPGxlZ3++cN8QoKCsSJEyfEuHHjtPbr06eP+Ouvv0RJSYk4dOiQGD9+fJMG+wIQ3bt3F3v27BEqlUoUFhaKP//8UyxYsEB6PDExUcyaNatRtZeXlwulUin27t0rpk6dWuuGeI6OjuKDDz4Q169fF2VlZSI5OVl89dVXIiAgQAA3bwY3c+ZMcf36dVFSUiI2bdokXFxcpGN4eHhIdWvOq64b4tV33rc2V1dXUVJSItq1a1frscTERCGEkAYZa1pCQoIQQggfHx+t7TNnzhRxcXGirKxMXL58udYgYiGEGDNmTK3XWbBggcjMzBQqlUqsX79evP3229JgXy8vL7FlyxaRmpoqSktLRWJioli8eLHWz/WXX34R8+bNk/13mI3N0M3sxhdERK3WokWLMHbsWNx5550t9prLli2Dk5MTZs6c2WKvqS8dO3bEgQMH0K5dO6hUKrnLITIoXloiIqrDm2++ieTkZK1B1MbC19cXkydPZoihNoGzloiI6lBQUIAlS5bIXUaT/Prrr3KXQNRieGmJiIiIjBYvLREREZHRYpAhIiIio8UgQ0REREaLQYaIiIiMFoMMERERGS0GGSIiIjJaDDJERERktBhkiIiIyGgxyBAREZHR+n8HVEco2+ZeRQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import shutil\n", + "import matplotlib.pyplot as plt\n", + "\n", + "args = []\n", + "for step in range(1, 41):\n", + " global_buffer_size_scale = step / 10\n", + " args.append((global_buffer_size_scale, 1, True))\n", + "\n", + "results = joblib.Parallel(n_jobs=None)(\n", + " joblib.delayed(run_test)(*arg) for arg in args\n", + ")\n", + "\n", + "buffer_depths = [r[0] for r in results]\n", + "energies = [r[2].per_compute(\"energy\") * 1e12 for r in results]\n", + "\n", + "plt.plot(buffer_depths, energies)\n", + "plt.xlabel('Buffer Depth (Words)')\n", + "plt.ylabel('Energy (pJ/MAC)')\n", + "plt.title('Energy vs Buffer Depth')\n", + "plt.show()\n", + "\n", + "shutil.rmtree(f\"{os.curdir}/outputs\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/3_processors.ipynb b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/3_processors.ipynb new file mode 100644 index 00000000..1df36819 --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/3_processors.ipynb @@ -0,0 +1,472 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# TimeloopFE Processors Overview\n", + "\n", + "TimeloopFE lets users define processors to automate parts of the modeling flow.\n", + "This tutorial provides an overview of processors and how they can be used to\n", + "introduce new automations." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The Basic Processor\n", + "TimeloopFE processors have two main functions: `declare_attrs` and `process`.\n", + "- `declare_attrs` is called once when the processor is initialized. This function\n", + " should declare any attributes that the processor will add to the specification.\n", + " If a processor declares attributes, it should also remove them in the `process`\n", + " function.\n", + "- `process` is called once in the Specification's `process` function. The `process`\n", + " function should edit the specification and must remove any attributes that the\n", + " processor has declared.\n", + "\n", + "An example processor is shown below. The processor declares an attribute,\n", + "\"simple_processor_attr\", in the Problem. In the process function, it deletes\n", + "this attribute." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pytimeloop.timeloopfe.v4 as tl\n", + "import os\n", + "TOP_PATH = f\"{os.curdir}/top.yaml.jinja\"\n", + "\n", + "class MyProcessor(tl.Processor):\n", + " \"\"\"!@brief An example simple processor.\"\"\"\n", + "\n", + " def __init__(self, *args, **kwargs):\n", + " super().__init__(*args, **kwargs)\n", + " self.logger.info(\"Initializing SimpleProcessor\")\n", + "\n", + " def init_elems(self):\n", + " \"\"\"!@brief Initialize the attributes that the processor handles.\"\"\"\n", + " super().init_elem(tl.Problem, \"simple_processor_attr\", str, \"\")\n", + "\n", + " def process(self, spec: tl.Specification):\n", + " \"\"\"!@brief Process the specification. Remove attributes that this\n", + " processor is responsible for.\"\"\"\n", + " if \"simple_processor_attr\" in spec.problem:\n", + " del spec.problem[\"simple_processor_attr\"]\n", + " self.logger.info('Deleted \"simple_processor_attr\"')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Processor Usage Example\n", + "Let's create a proccessor that expands buffers in the architecture. \n", + "\n", + "In the `declare_attrs` function, this processor defines an `expansion_factor`\n", + "attribute that determines by how much it will expand a given buffer. In the\n", + "`process` function, it modifies the depth/width of architecture components and\n", + "deletes these expansion factors.\n", + "\n", + "In the architecture YAML, we can define `expansion_factor` attributes to be\n", + "parsed by this processor." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "DELETE_EXPANSION_FACTOR = True\n", + "\n", + "class BufferExpansionProcessor(tl.Processor):\n", + " \"\"\"!@brief Expands buffers in the architecture.\"\"\"\n", + "\n", + " def __init__(self, *args, **kwargs):\n", + " super().__init__(*args, **kwargs)\n", + " # Each processor\n", + " self.logger.info(\"Initializing BufferExpansionProcessor\")\n", + "\n", + " def declare_attrs(self):\n", + " \"\"\"!@brief Initialize the attributes that the processor handles.\"\"\"\n", + " # Initialize for the Component class, name \"expansion_factor\", type int,\n", + " # default value 1\n", + " super().add_attr(tl.arch.Component, \"expansion_factor\", int, 1)\n", + "\n", + " def process(self, spec: tl.Specification):\n", + " for component in spec.architecture.get_nodes_of_type(tl.arch.Component):\n", + " print(f'Looking at {component}')\n", + " expansion_factor = component.expansion_factor\n", + " if DELETE_EXPANSION_FACTOR:\n", + " component.pop('expansion_factor')\n", + "\n", + " self.logger.warning(\n", + " f\"Expanding buffer {component.name} by {expansion_factor}x\"\n", + " )\n", + " if component.attributes.get(\"width\", None):\n", + " component.attributes[\"width\"] *= expansion_factor\n", + " self.logger.info(\n", + " f\"Expanded buffer {component.name} by {expansion_factor}x\"\n", + " )\n", + " if component.attributes.get(\"depth\", None):\n", + " component.attributes[\"depth\"] *= expansion_factor\n", + " self.logger.info(\n", + " f\"Expanded buffer {component.name} by {expansion_factor}x\"\n", + " )\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The `declare_attrs` function adds the `expansion_factor` attribute to the\n", + "`Component` class. The `process` function expands each buffer in the\n", + "architecture by the expansion factor and then deletes the expansion factor\n", + "attribute. The `must_run_after` function ensures that the MathProcessor runs\n", + "before the BufferExpansionProcessor so that all math expressions are resolved\n", + "before the expansion factor is used.\n", + "\n", + "Let's try running the processor on a simple architecture. We set an expansion\n", + "factor of 3 for the DRAM and 5 for the buffer. We can see that the processor\n", + "expands both the DRAM and the buffer by the correct amount. Other architecture\n", + "components are expanded by 1x because the default expansion factor is 1. Below,\n", + "we print the width of the DRAM and buffer before and after processing with the\n", + "BufferExpansionProcessor.\n", + "\n", + "If processors are provided, then process() must be called before any invocation\n", + "of tl.call_mapper, tl.call_model, or tl.call_accelerg_verbose with the\n", + "specification." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:BufferExpansionProcessor:Expanding buffer DRAM by 3x\n", + "WARNING:BufferExpansionProcessor:Expanding buffer buffer by 5x\n", + "WARNING:BufferExpansionProcessor:Expanding buffer reg by 1x\n", + "WARNING:BufferExpansionProcessor:Expanding buffer mac by 1x\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "==================================================== pytimeloop.timeloopfe.v4.arch ===================================================\n", + "\n", + "==== Component ====\n", + " KEY ,REQUIRED_TYPE ,DEFAULT ,CALLFUNC ,SET_FROM \n", + " ignore ,None ,None ,None ,None \n", + " name ,str ,REQUIRED ,None ,None \n", + " attributes ,Attributes ,{} ,Attributes ,None \n", + " spatial ,Spatial ,{} ,Spatial ,None \n", + " constraints ,ConstraintGroup ,{} ,ConstraintGroup ,None \n", + " sparse_optimizations ,SparseOptimizationGroup ,{} ,SparseOptimizationGroup ,None \n", + " class ,str ,REQUIRED ,None ,None \n", + " subclass ,str ,None ,None ,None \n", + " required_actions ,list ,[] ,None ,None \n", + " area_scale ,Number ,None ,None ,None \n", + " enabled ,bool ,True ,None ,None \n", + " expansion_factor ,int ,1 ,None ,<__main__.BufferExpansionProcessor object at 0x7effe44af110>\n", + "DRAM width before: 64\n", + "Buffer width before: 128\n", + "Looking at Specification[architecture].Architecture[nodes].ArchNodes[1].Storage(DRAM)\n", + "Looking at Specification[architecture].Architecture[nodes].ArchNodes[2].Storage(buffer)\n", + "Looking at Specification[architecture].Architecture[nodes].ArchNodes[4].Storage(reg)\n", + "Looking at Specification[architecture].Architecture[nodes].ArchNodes[5].Compute(mac)\n", + "DRAM width after: 192\n", + "Buffer width after: 640\n" + ] + } + ], + "source": [ + "spec = tl.Specification.from_yaml_files(\n", + " TOP_PATH, processors=[BufferExpansionProcessor]\n", + ")\n", + "print(tl.get_property_table(tl.arch.Component))\n", + "spec.architecture.find(\"DRAM\").expansion_factor = 3\n", + "spec.architecture.find(\"buffer\").expansion_factor = 5\n", + "print(f\"DRAM width before: \", spec.architecture.find(\"DRAM\").attributes[\"width\"])\n", + "print(f\"Buffer width before: \", spec.architecture.find(\"buffer\").attributes[\"width\"])\n", + "spec.process()\n", + "print(f\"DRAM width after: \", spec.architecture.find(\"DRAM\").attributes[\"width\"])\n", + "print(f\"Buffer width after: \", spec.architecture.find(\"buffer\").attributes[\"width\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Processor Exceptions\n", + "\n", + "Processors can raise exceptions if they encounter invalid inputs. For example,\n", + "the `must_run_after` function raises an exception if the processor that it\n", + "depends on is not found in the list of processors. Here, we try to run the\n", + "BufferExpansionProcessor first, but it depends on the MathProcessor in the\n", + "standard suite.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:BufferExpansionProcessor:Expanding buffer DRAM by 1x\n", + "WARNING:BufferExpansionProcessor:Expanding buffer buffer by 1x\n", + "WARNING:BufferExpansionProcessor:Expanding buffer reg by 1x\n", + "WARNING:BufferExpansionProcessor:Expanding buffer mac by 1x\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Looking at Specification[architecture].Architecture[nodes].ArchNodes[1].Storage(DRAM)\n", + "Looking at Specification[architecture].Architecture[nodes].ArchNodes[2].Storage(buffer)\n", + "Looking at Specification[architecture].Architecture[nodes].ArchNodes[4].Storage(reg)\n", + "Looking at Specification[architecture].Architecture[nodes].ArchNodes[5].Compute(mac)\n" + ] + } + ], + "source": [ + "spec = tl.Specification.from_yaml_files(\n", + " TOP_PATH, processors=[BufferExpansionProcessor]\n", + ")\n", + "try:\n", + " spec.process()\n", + "except tl.ProcessorError as e:\n", + " print(e)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "TimeloopFE also raises an exception if a processor does not remove the attributes\n", + "that it declares." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:BufferExpansionProcessor:Expanding buffer DRAM by 1x\n", + "WARNING:BufferExpansionProcessor:Expanding buffer buffer by 1x\n", + "WARNING:BufferExpansionProcessor:Expanding buffer reg by 1x\n", + "WARNING:BufferExpansionProcessor:Expanding buffer mac by 1x\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Looking at Specification[architecture].Architecture[nodes].ArchNodes[1].Storage(DRAM)\n", + "Looking at Specification[architecture].Architecture[nodes].ArchNodes[2].Storage(buffer)\n", + "Looking at Specification[architecture].Architecture[nodes].ArchNodes[4].Storage(reg)\n", + "Looking at Specification[architecture].Architecture[nodes].ArchNodes[5].Compute(mac)\n" + ] + } + ], + "source": [ + "spec = tl.Specification.from_yaml_files(\n", + " TOP_PATH, processors=[BufferExpansionProcessor]\n", + ")\n", + "try:\n", + " DELETE_EXPANSION_FACTOR = False\n", + " spec.process()\n", + "except tl.ProcessorError as e:\n", + " print(e)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Editing The Specification and `process()`\n", + "The process() function transforms the specification at many points. Users may also edit the specification, and there is an important choice as to whether to edit specifications before or after calling `process()`. TimeloopFE also supports calling `process()` with a list of processors, allowing users to `process()`, edit the specification, `process()` with a different set of processors, and so on." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Edit Before Process\n", + "Generally, we recommend editing the specification *before* calling `process()`.\n", + "This is for two reasons. First, Before calling `process()`, we can look at the\n", + "YAML files and use them as a reference to know what we're editing. After\n", + "`process()`, we can still dump the specification or use print/log statements\n", + "to see the specification, but it is more difficult.\n", + "\n", + "Furthermore, formulas defined in the YAML files are resolved during processing.\n", + "Editing the calculated results after they have been processed may result in\n", + "unexpected behavior. As an example, the variables are propagated from the\n", + "variables file during processing. Below, we edit an architecture where the\n", + "datawidth of a buffer is set from a DATAWIDTH variable. If we change the\n", + "DATWIDTH variable before processing, the new value is propagated to the rest of\n", + "the specification. If we incorrectly change the DATWIDTH variable after\n", + "processing, the new value is not propagated." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Buffer datawidth is set to DATAWIDTH\n", + "Setting variables DATAWIDTH to 32 BEFORE processing\n", + "\n", + "Calling process()\n", + "\n", + "After processing, buffer datawaidth is DATAWIDTH\n", + "INCORRECT: Setting variables DATAWIDTH to 64 AFTER processing\n", + "Buffer datawaidth is DATAWIDTH; NOT UPDATED.\n" + ] + } + ], + "source": [ + "\n", + "spec = tl.Specification.from_yaml_files(TOP_PATH)\n", + "\n", + "\n", + "print(f\"Buffer datawidth is set to {spec.architecture.find('buffer').attributes['datawidth']}\")\n", + "\n", + "print(f\"Setting variables DATAWIDTH to 32 BEFORE processing\")\n", + "spec.variables[\"DATAWIDTH\"] = 32\n", + "\n", + "print(f'\\nCalling process()\\n')\n", + "spec.process()\n", + "\n", + "print(f\"After processing, buffer datawaidth is {spec.architecture.find('buffer').attributes['datawidth']}\")\n", + "print(f\"INCORRECT: Setting variables DATAWIDTH to 64 AFTER processing\")\n", + "spec.variables[\"DATAWIDTH\"] = 64\n", + "print(f\"Buffer datawaidth is {spec.architecture.find('buffer').attributes['datawidth']}; NOT UPDATED.\")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Editing Python Expressions\n", + "Python expressions can be used to define variables in the `variables`,\n", + "`problem`, architecture `attributes`, among other locations. When editing these\n", + "expressions, care should be taken to avoid performing arithmetic directly on the\n", + "string.\n", + "\n", + "To edit expressions, you may parentheses-wrapping them then add additional\n", + "arithmetic to the beginning or end of the expression. The below example shows a\n", + "number and expression both being multiplied by four in Python. When the\n", + "expression, which is a string, is multiplied by four directly, the string is\n", + "copied four times to produce an incorrect result. Instead, we can get a correct\n", + "result by parentheses-wrapping the expression and adding a \" * 4\" to the end.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variables before processing: \n", + " number : 13\n", + " formula : 8 + 5\n", + " 'number * 4' : 52\n", + " '(number) * 4' : (13) * 4\n", + " INCORRECT 'formula * 4' : 8 + 58 + 58 + 58 + 5\n", + " CORRECT '(formula) * 4' : (8 + 5) * 4\n", + "\n", + "Variables after processing: \n", + " number : 13\n", + " formula : 8 + 5\n", + " 'number * 4' : 52\n", + " '(number) * 4' : (13) * 4\n", + " INCORRECT 'formula * 4' : 8 + 58 + 58 + 58 + 5\n", + " CORRECT '(formula) * 4' : (8 + 5) * 4\n" + ] + } + ], + "source": [ + "spec = tl.Specification.from_yaml_files(TOP_PATH)\n", + "variables = spec.variables = spec.variables\n", + "variables[\"number\"] = 13\n", + "variables[\"formula\"] = \"8 + 5\"\n", + "\n", + "\n", + "variables[\"'number * 4'\"] = variables[\"number\"] * 4\n", + "variables[\"'(number) * 4'\"] = f'({variables[\"number\"]}) * 4'\n", + "\n", + "# INCORRECT: Multiply the string by 4\n", + "variables[\"INCORRECT 'formula * 4'\"] = variables[\"formula\"] * 4\n", + "# Correct: Parentheses-wrap the string and add a \"*4\" to create\n", + "# a new string containing\"(formula) * 4\"\n", + "variables[\"CORRECT '(formula) * 4'\"] = f'({variables[\"formula\"]}) * 4'\n", + "\n", + "print(f'Variables before processing: ')\n", + "for k, v in variables.items():\n", + " if \"number\" in k or \"formula\" in k:\n", + " print(f' {k:25s}: {v}')\n", + "\n", + "spec.process()\n", + "\n", + "print(f'\\nVariables after processing: ')\n", + "for k, v in variables.items():\n", + " if \"number\" in k or \"formula\" in k:\n", + " print(f' {k:25s}: {v}')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/inputs/arch.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/inputs/arch.yaml new file mode 100644 index 00000000..4c32beb7 --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/inputs/arch.yaml @@ -0,0 +1,57 @@ +architecture: + version: 0.4 + # ============================================================ + # Architecture Description + # ============================================================ + nodes: # Top-level is hierarchical + - !Container # Top-level system + name: system + + - !Component # DRAM main memory + name: DRAM + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: DATAWIDTH + + - !Component # Global buffer for inputs & outputs + name: buffer + class: SRAM + attributes: + depth: 512 + width: 128 + datawidth: DATAWIDTH + constraints: + dataspace: {keep: [Inputs, Outputs, Weights]} + + - !Container # Each PE in the column receives a different filter row + name: PE + spatial: {meshX: 8} + constraints: + spatial: + permutation: [N, P, Q, R, S, C, M] + factors: [N=1, P=1, Q=1, R=1] + maximize_dims: [[M, C]] + split: len(spec.problem.instance) + + {% if reg_enabled|default(True) %} + - !Component # Global buffer for inputs & outputs + name: reg + class: SRAM + subclass: register + attributes: + datawidth: DATAWIDTH + depth: 1 + width: datawidth * 3 + constraints: + dataspace: {keep: [Inputs, Outputs, Weights]} + temporal: {factors_only: []} + {% endif %} + + - !Component # MAC unit + name: mac + class: intmac + attributes: + multiplier_width: DATAWIDTH + adder_width: DATAWIDTH * 2 diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/inputs/components.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/inputs/components.yaml new file mode 100644 index 00000000..bffdfe93 --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/inputs/components.yaml @@ -0,0 +1,30 @@ +components: + version: 0.4 # REQUIRED version number + classes: + - name: intmac + attributes: + multiplier_width: "must_specify" + adder_width: "must_specify" + + subcomponents: + - name: adder + class: aladdin_adder + attributes: {width: adder_width} + - name: multiplier + class: aladdin_multiplier + attributes: {width: multiplier_width} + + actions: + - name: compute + subcomponents: + - {name: adder, actions: [{name: add}]} + - {name: multiplier, actions: [{name: multiply}]} + + - name: register # Zero energy/area + attributes: {} + subcomponents: [] + actions: + - {name: read, subcomponents: []} + - {name: write, subcomponents: []} + - {name: update, subcomponents: []} + - {name: leak, subcomponents: []} \ No newline at end of file diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/inputs/mapper.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/inputs/mapper.yaml new file mode 100644 index 00000000..9bf255d8 --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/inputs/mapper.yaml @@ -0,0 +1,12 @@ +mapper: + version: 0.4 + optimization_metrics: [ edp ] + live_status: False + num_threads: 4 + search_size: 100 # Max valid mappings per-thread + victory_condition: 10000 # Exit once a mapping is better than this number of + # valid mappings in a row + timeout: 10000 # Max invalid mappings in a row + max_permutations_per_if_visit: 4 # We fix permutations with the Greedy Mapper + algorithm: random_pruned # linear_pruned + max_temporal_loops_in_a_mapping: 9 diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/inputs/problem.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/inputs/problem.yaml new file mode 100644 index 00000000..753849d8 --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/inputs/problem.yaml @@ -0,0 +1,63 @@ +problem: + version: 0.4 + instance: + C: 128 + G: 1 + H: 1 + Hdilation: 1 + Hpad: 0 + Hstride: 1 + M: 128 + N: 32 + P: 128 + Q: 128 + R: 1 + S: 1 + W: 1 + Wdilation: 1 + Wpad: 0 + Wstride: 1 + shape: + coefficients: + - {name: Wstride, default: 1} + - {name: Hstride, default: 1} + - {name: Wdilation, default: 1} + - {name: Hdilation, default: 1} + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - - - G + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - - - G + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + - - - G + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + - G diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/inputs/variables.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/inputs/variables.yaml new file mode 100644 index 00000000..c49ea7cf --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/inputs/variables.yaml @@ -0,0 +1,5 @@ +variables: + version: 0.4 + technology: "45nm" + global_cycle_seconds: 1e-9 + DATAWIDTH: {{datawidth_jinja|default(8)}} # 8 bits is the default \ No newline at end of file diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/ART.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/ART.yaml new file mode 100644 index 00000000..6b161e3f --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/ART.yaml @@ -0,0 +1,13 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + area: 0.0 + - name: system_top_level.buffer[1..1] + area: 43608.4 + - name: system_top_level.inter_PE_spatial[1..1] + area: 1.0 + - name: system_top_level.reg[1..8] + area: 0 + - name: system_top_level.mac[1..8] + area: 1726.5 diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/ART_summary_verbose.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/ART_summary_verbose.yaml new file mode 100644 index 00000000..65a09ee7 --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/ART_summary_verbose.yaml @@ -0,0 +1,28 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_top_level.buffer[1..1] + area: 43608.4 + primitive_estimations: CactiSRAM + - name: system_top_level.inter_PE_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.reg[1..8] + area: 0 + primitive_estimations: [] + - name: system_top_level.mac[1..8] + area: 1726.5 + primitive_estimations: + - name: adder + estimator: Library + area: 139.0 + area_scale: 1 + total_component_area: 139.0 + - name: multiplier + estimator: Library + area: 1587.5 + area_scale: 1 + total_component_area: 1587.5 diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/ERT.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/ERT.yaml new file mode 100644 index 00000000..482071aa --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/ERT.yaml @@ -0,0 +1,66 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: system_top_level.buffer[1..1] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.000271 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 9.65335 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 12.6203 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 12.6203 + - name: system_top_level.reg[1..8] + actions: + - name: read + arguments: {} + energy: 0 + - name: write + arguments: {} + energy: 0 + - name: update + arguments: {} + energy: 0 + - name: leak + arguments: {} + energy: 0 + - name: system_top_level.mac[1..8] + actions: + - name: compute + arguments: {} + energy: 3.275 diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/ERT_summary_verbose.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/ERT_summary_verbose.yaml new file mode 100644 index 00000000..076fe5c7 --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/ERT_summary_verbose.yaml @@ -0,0 +1,91 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + actions: + - name: leak + energy: 0.0 + - name: read + energy: 512.0 + - name: update + energy: 512.0 + - name: write + energy: 512.0 + primitive_estimation(s): + - system_top_level.DRAM[1..1]: + estimator: CactiDRAM + - name: system_top_level.buffer[1..1] + actions: + - name: leak + energy: 0.000271 + - name: read + energy: 9.65335 + - name: update + energy: 12.6203 + - name: write + energy: 12.6203 + primitive_estimation(s): + - system_top_level.buffer[1..1]: + estimator: CactiSRAM + - name: system_top_level.reg[1..8] + actions: + - name: read + energy: 0 + - name: write + energy: 0 + - name: update + energy: 0 + - name: leak + energy: 0 + primitive_estimation(s): + - action_name: read + arguments: {} + energy: 0 + subaction_estimations: [] + - action_name: write + arguments: {} + energy: 0 + subaction_estimations: [] + - action_name: update + arguments: {} + energy: 0 + subaction_estimations: [] + - action_name: leak + arguments: {} + energy: 0 + subaction_estimations: [] + - name: system_top_level.mac[1..8] + actions: + - name: compute + energy: 3.275 + primitive_estimation(s): + - action_name: compute + arguments: {} + energy: 3.275 + subaction_estimations: + - subcomponent_name: adder + subaction_name: add + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + technology: "45nm" + n_instances: 1 + energy: 0.105 + scale_energy_by: 1.0 + interpreted_energy: 0.105 + percentage: 3.21% + estimator: Library + - subcomponent_name: multiplier + subaction_name: multiply + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + technology: "45nm" + n_instances: 1 + energy: 3.17 + scale_energy_by: 1.0 + interpreted_energy: 3.17 + percentage: 96.79% + estimator: Library diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/accelergy_verbose.log b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/accelergy_verbose.log new file mode 100644 index 00000000..2b6df321 --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/accelergy_verbose.log @@ -0,0 +1,1022 @@ +2024-05-29 17:03:01 INFO _ _ +2024-05-29 17:03:01 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 17:03:01 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 17:03:01 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 17:03:01 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 17:03:01 INFO |___/ |___/ +2024-05-29 17:03:01 INFO generating outputs according to the following specified output flags... +2024-05-29 17:03:01 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 17:03:01 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 17:03:01 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 17:03:01 INFO config file located: +2024-05-29 17:03:01 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 17:03:01 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 17:03:01 WARNING Please update the file to the latest version. +2024-05-29 17:03:01 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/parsed-processed-input.yaml for architecture info +2024-05-29 17:03:01 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/parsed-processed-input.yaml for compound_components info +2024-05-29 17:03:01 INFO Adding required action "leak" to class DRAM +2024-05-29 17:03:01 INFO Adding required action "read" to class DRAM +2024-05-29 17:03:01 INFO Adding required action "update" to class DRAM +2024-05-29 17:03:01 INFO Adding required action "write" to class DRAM +2024-05-29 17:03:01 INFO Adding required action "leak" to class SRAM +2024-05-29 17:03:01 INFO Adding required action "read" to class SRAM +2024-05-29 17:03:01 INFO Adding required action "update" to class SRAM +2024-05-29 17:03:01 INFO Adding required action "write" to class SRAM +2024-05-29 17:03:01 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 17:03:01 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 17:03:01 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 17:03:01 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 17:03:01 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 17:03:01 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 17:03:01 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 17:03:01 INFO Getting all estimators in module +2024-05-29 17:03:01 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 17:03:01 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 17:03:01 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 17:03:01 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 17:03:01 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 17:03:01 INFO Found estimator plug-in: dummy_table () +2024-05-29 17:03:01 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 17:03:01 INFO Found estimator plug-in: Library () +2024-05-29 17:03:01 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 17:03:01 INFO Found estimator plug-in: CactiCache () +2024-05-29 17:03:01 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 17:03:01 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO Components in the architecture: +2024-05-29 17:03:01 INFO Primitive Components: +2024-05-29 17:03:01 INFO DRAM +2024-05-29 17:03:01 INFO SRAM +2024-05-29 17:03:01 INFO dummy_storage +2024-05-29 17:03:01 INFO Compound Components: +2024-05-29 17:03:01 INFO intmac +2024-05-29 17:03:01 INFO register +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO Supported Components: +2024-05-29 17:03:01 INFO _anything_(set 'technology=-1' to use the dummy table) +2024-05-29 17:03:01 INFO _anything_._anything_() +2024-05-29 17:03:01 INFO adc(resolution, technology, throughput, n_adcs) +2024-05-29 17:03:01 INFO adc.convert() +2024-05-29 17:03:01 INFO adc.drive() +2024-05-29 17:03:01 INFO adc.read() +2024-05-29 17:03:01 INFO adc.sample() +2024-05-29 17:03:01 INFO adc.leak() +2024-05-29 17:03:01 INFO adc.activate() +2024-05-29 17:03:01 INFO aladdin_adder(technology=45nm, global_cycle_seconds=1e-9, width|datawidth=32, energy=0.21, area=2.78E+02, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO aladdin_adder.add() +2024-05-29 17:03:01 INFO aladdin_adder.read() +2024-05-29 17:03:01 INFO aladdin_adder(technology=45nm, global_cycle_seconds=1e-9, width|datawidth=32, energy=0.0024, area=2.78E+02, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO aladdin_adder.leak() +2024-05-29 17:03:01 INFO aladdin_adder(technology=45nm, global_cycle_seconds=1e-9, width|datawidth=32, energy=0, area=2.78E+02, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO aladdin_adder.update() +2024-05-29 17:03:01 INFO aladdin_adder.write() +2024-05-29 17:03:01 INFO aladdin_comparator(technology=45nm, global_cycle_seconds=1e-9, width|datawidth=32, energy(pJ)=0.02947, area(um^2)=71, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO aladdin_comparator.compare() +2024-05-29 17:03:01 INFO aladdin_comparator.read() +2024-05-29 17:03:01 INFO aladdin_comparator(technology=45nm, global_cycle_seconds=1e-9, width|datawidth=32, energy(pJ)=2.51E-05, area(um^2)=71, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO aladdin_comparator.leak() +2024-05-29 17:03:01 INFO aladdin_comparator(technology=45nm, global_cycle_seconds=1e-9, width|datawidth=32, energy(pJ)=0, area(um^2)=71, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO aladdin_comparator.update() +2024-05-29 17:03:01 INFO aladdin_comparator.write() +2024-05-29 17:03:01 INFO aladdin_counter(technology=45nm, global_cycle_seconds=1e-9, width|datawidth=32, energy(pJ)=0.25074, area(um^2)=495.5, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO aladdin_counter.count() +2024-05-29 17:03:01 INFO aladdin_counter.read() +2024-05-29 17:03:01 INFO aladdin_counter(technology=45nm, global_cycle_seconds=1e-9, width|datawidth=32, energy(pJ)=0.0003213, area(um^2)=495.5, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO aladdin_counter.leak() +2024-05-29 17:03:01 INFO aladdin_counter(technology=45nm, global_cycle_seconds=1e-9, width|datawidth=32, energy(pJ)=0, area(um^2)=495.5, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO aladdin_counter.update() +2024-05-29 17:03:01 INFO aladdin_counter.write() +2024-05-29 17:03:01 INFO aladdin_multiplier(technology=45nm, global_cycle_seconds=1e-9, width|datawidth=32, width_a|datawidth_a=32, width_b|datawidth_b=32, energy(pJ)=12.68, area(um^2)=6350, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO aladdin_multiplier.multiply() +2024-05-29 17:03:01 INFO aladdin_multiplier.read() +2024-05-29 17:03:01 INFO aladdin_multiplier(technology=45nm, global_cycle_seconds=1e-9, width|datawidth=32, width_a|datawidth_a=32, width_b|datawidth_b=32, energy(pJ)=0.08, area(um^2)=6350, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO aladdin_multiplier.leak() +2024-05-29 17:03:01 INFO aladdin_multiplier(technology=45nm, global_cycle_seconds=1e-9, width|datawidth=32, width_a|datawidth_a=32, width_b|datawidth_b=32, energy(pJ)=0, area(um^2)=6350, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO aladdin_multiplier.update() +2024-05-29 17:03:01 INFO aladdin_multiplier.write() +2024-05-29 17:03:01 INFO aladdin_register(technology=45nm, global_cycle_seconds=1e-9, width|datawidth=1, dynamic energy(pJ)=0.009, area(um^2)=5.98E+00, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO aladdin_register.read() +2024-05-29 17:03:01 INFO aladdin_register(technology=45nm, global_cycle_seconds=1e-9, width|datawidth=1, dynamic energy(pJ)=0, area(um^2)=5.98E+00, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO aladdin_register.write() +2024-05-29 17:03:01 INFO aladdin_register(technology=45nm, global_cycle_seconds=1e-9, width|datawidth=1, dynamic energy(pJ)=0, area(um^2)=5.98E+00, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO aladdin_register.leak() +2024-05-29 17:03:01 INFO aladdin_register.update() +2024-05-29 17:03:01 INFO array_adc(rows=32, cols=32, cols_active_at_once=8, cell_config=placeholder, average_input_value=1, average_cell_value=1, sequential=False, adc_resolution=0, read_pulse_width=1e-08, voltage_dac_bits=1, temporal_dac_bits=1, temporal_spiking=False, voltage=0, threshold_voltage=0, global_cycle_seconds=1e-09, technology=32) +2024-05-29 17:03:01 INFO array_adc.read() +2024-05-29 17:03:01 INFO array_adc.mac_random() +2024-05-29 17:03:01 INFO array_adc.mac_reused() +2024-05-29 17:03:01 INFO array_adc.compute() +2024-05-29 17:03:01 INFO array_adc.add() +2024-05-29 17:03:01 INFO array_adc.shift_add() +2024-05-29 17:03:01 INFO array_adc.convert() +2024-05-29 17:03:01 INFO array_adc.write() +2024-05-29 17:03:01 INFO array_adc.set() +2024-05-29 17:03:01 INFO array_adc.erase() +2024-05-29 17:03:01 INFO array_adc.update() +2024-05-29 17:03:01 INFO array_adc.leak() +2024-05-29 17:03:01 INFO array_adc: alias for ADC Plug-In plug-in adc +2024-05-29 17:03:01 INFO array_col_drivers(rows=32, cols=32, cols_active_at_once=8, cell_config=placeholder, average_input_value=1, average_cell_value=1, sequential=False, adc_resolution=0, read_pulse_width=1e-08, voltage_dac_bits=1, temporal_dac_bits=1, temporal_spiking=False, voltage=0, threshold_voltage=0, global_cycle_seconds=1e-09, technology=32) +2024-05-29 17:03:01 INFO array_col_drivers.read() +2024-05-29 17:03:01 INFO array_col_drivers.mac_random() +2024-05-29 17:03:01 INFO array_col_drivers.mac_reused() +2024-05-29 17:03:01 INFO array_col_drivers.compute() +2024-05-29 17:03:01 INFO array_col_drivers.add() +2024-05-29 17:03:01 INFO array_col_drivers.shift_add() +2024-05-29 17:03:01 INFO array_col_drivers.convert() +2024-05-29 17:03:01 INFO array_col_drivers.write() +2024-05-29 17:03:01 INFO array_col_drivers.set() +2024-05-29 17:03:01 INFO array_col_drivers.erase() +2024-05-29 17:03:01 INFO array_col_drivers.update() +2024-05-29 17:03:01 INFO array_col_drivers.leak() +2024-05-29 17:03:01 INFO array_row_drivers(rows=32, cols=32, cols_active_at_once=8, cell_config=placeholder, average_input_value=1, average_cell_value=1, sequential=False, adc_resolution=0, read_pulse_width=1e-08, voltage_dac_bits=1, temporal_dac_bits=1, temporal_spiking=False, voltage=0, threshold_voltage=0, global_cycle_seconds=1e-09, technology=32) +2024-05-29 17:03:01 INFO array_row_drivers.read() +2024-05-29 17:03:01 INFO array_row_drivers.mac_random() +2024-05-29 17:03:01 INFO array_row_drivers.mac_reused() +2024-05-29 17:03:01 INFO array_row_drivers.compute() +2024-05-29 17:03:01 INFO array_row_drivers.add() +2024-05-29 17:03:01 INFO array_row_drivers.shift_add() +2024-05-29 17:03:01 INFO array_row_drivers.convert() +2024-05-29 17:03:01 INFO array_row_drivers.write() +2024-05-29 17:03:01 INFO array_row_drivers.set() +2024-05-29 17:03:01 INFO array_row_drivers.erase() +2024-05-29 17:03:01 INFO array_row_drivers.update() +2024-05-29 17:03:01 INFO array_row_drivers.leak() +2024-05-29 17:03:01 INFO atomlayer_input_buffer_transfers(technology=32nm, global_cycle_seconds=1e-9, width|datawidth=16, depth=128, energy=6.46, area=2100, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO atomlayer_input_buffer_transfers.read() +2024-05-29 17:03:01 INFO atomlayer_input_buffer_transfers(technology=32nm, global_cycle_seconds=1e-9, width|datawidth=16, depth=128, energy=0, area=2100, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO atomlayer_input_buffer_transfers.write() +2024-05-29 17:03:01 INFO atomlayer_input_buffer_transfers.update() +2024-05-29 17:03:01 INFO atomlayer_input_buffer_transfers.leak() +2024-05-29 17:03:01 INFO atomlayer_register_ladder(technology=32nm, global_cycle_seconds=1e-9, width|datawidth=16, depth=128, energy=0.083, area=1620, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO atomlayer_register_ladder.read() +2024-05-29 17:03:01 INFO atomlayer_register_ladder.write() +2024-05-29 17:03:01 INFO atomlayer_register_ladder(technology=32nm, global_cycle_seconds=1e-9, width|datawidth=16, depth=128, energy=0, area=1620, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO atomlayer_register_ladder.update() +2024-05-29 17:03:01 INFO atomlayer_register_ladder.leak() +2024-05-29 17:03:01 INFO bitwise(technology, global_cycle_seconds, width) +2024-05-29 17:03:01 INFO bitwise.leak() +2024-05-29 17:03:01 INFO bitwise.access() +2024-05-29 17:03:01 INFO brahms_dac(technology=40nm, global_cycle_seconds=1e-9, resolution=8, energy=0.291, area=438, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO brahms_dac.read() +2024-05-29 17:03:01 INFO brahms_dac.convert() +2024-05-29 17:03:01 INFO brahms_dac(technology=40nm, global_cycle_seconds=1e-9, resolution=8, energy=0, area=438, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO brahms_dac.update() +2024-05-29 17:03:01 INFO brahms_dac.write() +2024-05-29 17:03:01 INFO brahms_dac.leak() +2024-05-29 17:03:01 INFO cache(technology, width, depth, n_rw_ports=1, n_banks=1, associativity=1, tag_size=None) +2024-05-29 17:03:01 INFO cache.idle() +2024-05-29 17:03:01 INFO cache.read(address_delta=True, data_delta=True) +2024-05-29 17:03:01 INFO cache.read_access(address_delta=True, data_delta=True) +2024-05-29 17:03:01 INFO cache.update(address_delta=True, data_delta=True) +2024-05-29 17:03:01 INFO cache.update_access(address_delta=True, data_delta=True) +2024-05-29 17:03:01 INFO cache.write(address_delta=True, data_delta=True) +2024-05-29 17:03:01 INFO cache.write_access(address_delta=True, data_delta=True) +2024-05-29 17:03:01 INFO cache.leak(global_cycle_seconds) +2024-05-29 17:03:01 INFO cim_adc: alias for ADC Plug-In plug-in adc +2024-05-29 17:03:01 INFO cim_array_adc: alias for ADC Plug-In plug-in adc +2024-05-29 17:03:01 INFO comparator(technology, global_cycle_seconds, width) +2024-05-29 17:03:01 INFO comparator.leak() +2024-05-29 17:03:01 INFO comparator.access() +2024-05-29 17:03:01 INFO counter(technology, global_cycle_seconds, width) +2024-05-29 17:03:01 INFO counter.leak() +2024-05-29 17:03:01 INFO counter.access() +2024-05-29 17:03:01 INFO crossbar(technology, global_cycle_seconds, n_inputs, n_outputs, width) +2024-05-29 17:03:01 INFO crossbar.leak() +2024-05-29 17:03:01 INFO crossbar.access() +2024-05-29 17:03:01 INFO DRAM(width, type=LPDDR4) +2024-05-29 17:03:01 INFO DRAM.idle() +2024-05-29 17:03:01 INFO DRAM.read() +2024-05-29 17:03:01 INFO DRAM.update() +2024-05-29 17:03:01 INFO DRAM.write() +2024-05-29 17:03:01 INFO DRAM.leak(global_cycle_seconds) +2024-05-29 17:03:01 INFO dummy_compute(global_cycle_seconds=1e-9, energy=0, area=0, n_instances=1, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO dummy_compute.read() +2024-05-29 17:03:01 INFO dummy_compute.update() +2024-05-29 17:03:01 INFO dummy_compute.leak() +2024-05-29 17:03:01 INFO dummy_compute.write() +2024-05-29 17:03:01 INFO dummy_compute.*() +2024-05-29 17:03:01 INFO dummy_storage(global_cycle_seconds=1e-9, energy=0, area=0, n_instances=1, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO dummy_storage.read() +2024-05-29 17:03:01 INFO dummy_storage.update() +2024-05-29 17:03:01 INFO dummy_storage.leak() +2024-05-29 17:03:01 INFO dummy_storage.write() +2024-05-29 17:03:01 INFO dummy_storage.*() +2024-05-29 17:03:01 INFO FIFO(technology, global_cycle_seconds, width, depth) +2024-05-29 17:03:01 INFO FIFO.leak() +2024-05-29 17:03:01 INFO FIFO.access() +2024-05-29 17:03:01 INFO flip_flop(n_bits=8, global_cycle_seconds=1e-09, technology=32) +2024-05-29 17:03:01 INFO flip_flop.read() +2024-05-29 17:03:01 INFO flip_flop.mac_random() +2024-05-29 17:03:01 INFO flip_flop.mac_reused() +2024-05-29 17:03:01 INFO flip_flop.compute() +2024-05-29 17:03:01 INFO flip_flop.add() +2024-05-29 17:03:01 INFO flip_flop.shift_add() +2024-05-29 17:03:01 INFO flip_flop.convert() +2024-05-29 17:03:01 INFO flip_flop.write() +2024-05-29 17:03:01 INFO flip_flop.set() +2024-05-29 17:03:01 INFO flip_flop.erase() +2024-05-29 17:03:01 INFO flip_flop.update() +2024-05-29 17:03:01 INFO flip_flop.leak() +2024-05-29 17:03:01 INFO forms_adc(technology=32nm, global_cycle_seconds=1e-9, resolution=4, energy=0.22619, area=284.375, n_instances=1, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO forms_adc.convert() +2024-05-29 17:03:01 INFO forms_adc.read() +2024-05-29 17:03:01 INFO forms_adc(technology=32nm, global_cycle_seconds=1e-9, resolution=4, energy=0, area=284.375, n_instances=1, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO forms_adc.update() +2024-05-29 17:03:01 INFO forms_adc.write() +2024-05-29 17:03:01 INFO forms_adc.leak() +2024-05-29 17:03:01 INFO fpadder(technology, global_cycle_seconds, exponent, mantissa) +2024-05-29 17:03:01 INFO fpadder.leak() +2024-05-29 17:03:01 INFO fpadder.access() +2024-05-29 17:03:01 INFO fpmac(technology, global_cycle_seconds, exponent, mantissa) +2024-05-29 17:03:01 INFO fpmac.leak() +2024-05-29 17:03:01 INFO fpmac.access() +2024-05-29 17:03:01 INFO fpmultiplier(technology, global_cycle_seconds, exponent, mantissa) +2024-05-29 17:03:01 INFO fpmultiplier.leak() +2024-05-29 17:03:01 INFO fpmultiplier.access() +2024-05-29 17:03:01 INFO intadder(technology, global_cycle_seconds, width) +2024-05-29 17:03:01 INFO intadder.leak() +2024-05-29 17:03:01 INFO intadder.access() +2024-05-29 17:03:01 INFO intadder(n_bits=8, global_cycle_seconds=1e-09, technology=32) +2024-05-29 17:03:01 INFO intadder.read() +2024-05-29 17:03:01 INFO intadder.mac_random() +2024-05-29 17:03:01 INFO intadder.mac_reused() +2024-05-29 17:03:01 INFO intadder.compute() +2024-05-29 17:03:01 INFO intadder.add() +2024-05-29 17:03:01 INFO intadder.shift_add() +2024-05-29 17:03:01 INFO intadder.convert() +2024-05-29 17:03:01 INFO intadder.write() +2024-05-29 17:03:01 INFO intadder.set() +2024-05-29 17:03:01 INFO intadder.erase() +2024-05-29 17:03:01 INFO intadder.update() +2024-05-29 17:03:01 INFO intadder.leak() +2024-05-29 17:03:01 INFO intadder_tree(n_bits=8, n_adder_tree_inputs=2, global_cycle_seconds=1e-09, technology=32) +2024-05-29 17:03:01 INFO intadder_tree.read() +2024-05-29 17:03:01 INFO intadder_tree.mac_random() +2024-05-29 17:03:01 INFO intadder_tree.mac_reused() +2024-05-29 17:03:01 INFO intadder_tree.compute() +2024-05-29 17:03:01 INFO intadder_tree.add() +2024-05-29 17:03:01 INFO intadder_tree.shift_add() +2024-05-29 17:03:01 INFO intadder_tree.convert() +2024-05-29 17:03:01 INFO intadder_tree.write() +2024-05-29 17:03:01 INFO intadder_tree.set() +2024-05-29 17:03:01 INFO intadder_tree.erase() +2024-05-29 17:03:01 INFO intadder_tree.update() +2024-05-29 17:03:01 INFO intadder_tree.leak() +2024-05-29 17:03:01 INFO intmac(technology, global_cycle_seconds, width) +2024-05-29 17:03:01 INFO intmac.leak() +2024-05-29 17:03:01 INFO intmac.access() +2024-05-29 17:03:01 INFO intmultiplier(technology, global_cycle_seconds, width) +2024-05-29 17:03:01 INFO intmultiplier.leak() +2024-05-29 17:03:01 INFO intmultiplier.access() +2024-05-29 17:03:01 INFO isaac_adc(technology=32nm, global_cycle_seconds=1e-9, resolution=8, energy=1.666666667, area=1200, n_instances=1, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO isaac_adc.convert() +2024-05-29 17:03:01 INFO isaac_adc.read() +2024-05-29 17:03:01 INFO isaac_adc(technology=32nm, global_cycle_seconds=1e-9, resolution=8, energy=0, area=1200, n_instances=1, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO isaac_adc.leak() +2024-05-29 17:03:01 INFO isaac_adc.update() +2024-05-29 17:03:01 INFO isaac_adc.write() +2024-05-29 17:03:01 INFO isaac_adc(technology=32nm, global_cycle_seconds=1e-9, resolution=4, energy=0.79, area=361.04, n_instances=1, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO isaac_adc.convert() +2024-05-29 17:03:01 INFO isaac_adc.read() +2024-05-29 17:03:01 INFO isaac_adc(technology=32nm, global_cycle_seconds=1e-9, resolution=5, energy=0.99, area=476.91, n_instances=1, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO isaac_adc.convert() +2024-05-29 17:03:01 INFO isaac_adc.read() +2024-05-29 17:03:01 INFO isaac_adc(technology=32nm, global_cycle_seconds=1e-9, resolution=6, energy=1.20, area=626.91, n_instances=1, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO isaac_adc.convert() +2024-05-29 17:03:01 INFO isaac_adc.read() +2024-05-29 17:03:01 INFO isaac_adc(technology=32nm, global_cycle_seconds=1e-9, resolution=7, energy=1.42, area=845.18, n_instances=1, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO isaac_adc.convert() +2024-05-29 17:03:01 INFO isaac_adc.read() +2024-05-29 17:03:01 INFO isaac_adc(technology=32nm, global_cycle_seconds=1e-9, resolution=8, energy=1.67, area=1200, n_instances=1, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO isaac_adc.convert() +2024-05-29 17:03:01 INFO isaac_adc.read() +2024-05-29 17:03:01 INFO isaac_adc(technology=32nm, global_cycle_seconds=1e-9, resolution=9, energy=1.969078145, area=1827.911647, n_instances=1, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO isaac_adc.convert() +2024-05-29 17:03:01 INFO isaac_adc.read() +2024-05-29 17:03:01 INFO isaac_adc(technology=32nm, global_cycle_seconds=1e-9, resolution=10, energy=2.379022742, area=3002.008032, n_instances=1, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO isaac_adc.convert() +2024-05-29 17:03:01 INFO isaac_adc.read() +2024-05-29 17:03:01 INFO isaac_chip2chip_link(technology=65nm, global_cycle_seconds=1e-9, width|datawidth=128, energy=26, area=23000000, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO isaac_chip2chip_link.read() +2024-05-29 17:03:01 INFO isaac_chip2chip_link.write() +2024-05-29 17:03:01 INFO isaac_chip2chip_link.update() +2024-05-29 17:03:01 INFO isaac_chip2chip_link(technology=65nm, global_cycle_seconds=1e-9, width|datawidth=128, energy=0, area=23000000, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO isaac_chip2chip_link.leak() +2024-05-29 17:03:01 INFO isaac_dac(technology=32nm, global_cycle_seconds=1e-9, resolution=1, energy=0.41667, area=0.166015625, rows=1, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO isaac_dac.drive() +2024-05-29 17:03:01 INFO isaac_dac.read() +2024-05-29 17:03:01 INFO isaac_dac(technology=32nm, global_cycle_seconds=1e-9, resolution=1, energy=0, area=0.166015625, rows=1, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO isaac_dac.write() +2024-05-29 17:03:01 INFO isaac_dac.leak() +2024-05-29 17:03:01 INFO isaac_dac.update() +2024-05-29 17:03:01 INFO isaac_edram(technology=32nm, global_cycle_seconds=1e-9, width|datawidth=256, depth=2048, energy=20.45, area=83000, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO isaac_edram.read() +2024-05-29 17:03:01 INFO isaac_edram.write() +2024-05-29 17:03:01 INFO isaac_edram.update() +2024-05-29 17:03:01 INFO isaac_edram(technology=32nm, global_cycle_seconds=1e-9, width|datawidth=256, depth=2048, energy=0, area=83000, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO isaac_edram.leak() +2024-05-29 17:03:01 INFO isaac_edram_bus(technology=32nm, global_cycle_seconds=1e-9, width|datawidth=1, energy=0.054, area=29.296875, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO isaac_edram_bus.read() +2024-05-29 17:03:01 INFO isaac_edram_bus(technology=32nm, global_cycle_seconds=1e-9, width|datawidth=1, energy=0, area=29.296875, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO isaac_edram_bus.leak() +2024-05-29 17:03:01 INFO isaac_edram_bus.update() +2024-05-29 17:03:01 INFO isaac_edram_bus.write() +2024-05-29 17:03:01 INFO isaac_router(technology=32nm, global_cycle_seconds=1e-9, width|datawidth=256, energy=20.74, area=150000, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO isaac_router.read() +2024-05-29 17:03:01 INFO isaac_router(technology=32nm, global_cycle_seconds=1e-9, width|datawidth=256, energy=0, area=150000, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO isaac_router.leak() +2024-05-29 17:03:01 INFO isaac_router.update() +2024-05-29 17:03:01 INFO isaac_router.write() +2024-05-29 17:03:01 INFO isaac_router_shared_by_four(technology=32nm, global_cycle_seconds=1e-9, width|datawidth=256, energy=20.74, area=37500, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO isaac_router_shared_by_four.read() +2024-05-29 17:03:01 INFO isaac_router_shared_by_four(technology=32nm, global_cycle_seconds=1e-9, width|datawidth=256, energy=0, area=37500, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO isaac_router_shared_by_four.leak() +2024-05-29 17:03:01 INFO isaac_router_shared_by_four.update() +2024-05-29 17:03:01 INFO isaac_router_shared_by_four.write() +2024-05-29 17:03:01 INFO isaac_shift_add(technology=32nm, global_cycle_seconds=1e-9, width|datawidth=16, energy=0.021, area=60, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO isaac_shift_add.shift_add() +2024-05-29 17:03:01 INFO isaac_shift_add.read() +2024-05-29 17:03:01 INFO isaac_shift_add.write() +2024-05-29 17:03:01 INFO isaac_shift_add(technology=32nm, global_cycle_seconds=1e-9, width|datawidth=16, energy=0.00E+00, area=60, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO isaac_shift_add.leak() +2024-05-29 17:03:01 INFO isaac_shift_add.update() +2024-05-29 17:03:01 INFO jia_datapath(technology=65nm, global_cycle_seconds=540e-9, voltage=1.2, energy=12, area=10535, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO jia_datapath.read() +2024-05-29 17:03:01 INFO jia_datapath(technology=65nm, global_cycle_seconds=540e-9, voltage=1.2, energy=2.4, area=10535, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO jia_datapath.leak() +2024-05-29 17:03:01 INFO jia_datapath(technology=65nm, global_cycle_seconds=540e-9, voltage=1.2, energy=0, area=10535, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO jia_datapath.write() +2024-05-29 17:03:01 INFO jia_datapath.update() +2024-05-29 17:03:01 INFO jia_shift_add(technology=65nm, global_cycle_seconds=540e-9, resolution=8, voltage=1.2, energy=2.25, area=5000, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO jia_shift_add.read() +2024-05-29 17:03:01 INFO jia_shift_add(technology=65nm, global_cycle_seconds=540e-9, resolution=8, voltage=1.2, energy=1.2, area=5000, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO jia_shift_add.leak() +2024-05-29 17:03:01 INFO jia_shift_add(technology=65nm, global_cycle_seconds=540e-9, resolution=8, voltage=1.2, energy=0, area=5000, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO jia_shift_add.write() +2024-05-29 17:03:01 INFO jia_shift_add.update() +2024-05-29 17:03:01 INFO jia_zero_gate(technology=65nm, global_cycle_seconds=540e-9, rows=1, resolution=8, voltage=1.2, energy=0.5, area=174, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO jia_zero_gate.read() +2024-05-29 17:03:01 INFO jia_zero_gate(technology=65nm, global_cycle_seconds=540e-9, rows=1, resolution=8, voltage=1.2, energy=0.2, area=174, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO jia_zero_gate.leak() +2024-05-29 17:03:01 INFO jia_zero_gate(technology=65nm, global_cycle_seconds=540e-9, rows=1, resolution=8, voltage=1.2, energy=0, area=174, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO jia_zero_gate.write() +2024-05-29 17:03:01 INFO jia_zero_gate.update() +2024-05-29 17:03:01 INFO max_pool(n_bits=8, pool_window=2, global_cycle_seconds=1e-09, technology=32) +2024-05-29 17:03:01 INFO max_pool.read() +2024-05-29 17:03:01 INFO max_pool.mac_random() +2024-05-29 17:03:01 INFO max_pool.mac_reused() +2024-05-29 17:03:01 INFO max_pool.compute() +2024-05-29 17:03:01 INFO max_pool.add() +2024-05-29 17:03:01 INFO max_pool.shift_add() +2024-05-29 17:03:01 INFO max_pool.convert() +2024-05-29 17:03:01 INFO max_pool.write() +2024-05-29 17:03:01 INFO max_pool.set() +2024-05-29 17:03:01 INFO max_pool.erase() +2024-05-29 17:03:01 INFO max_pool.update() +2024-05-29 17:03:01 INFO max_pool.leak() +2024-05-29 17:03:01 INFO memory_cell(rows=32, cols=32, cols_active_at_once=8, cell_config=placeholder, average_input_value=1, average_cell_value=1, sequential=False, adc_resolution=0, read_pulse_width=1e-08, voltage_dac_bits=1, temporal_dac_bits=1, temporal_spiking=False, voltage=0, threshold_voltage=0, global_cycle_seconds=1e-09, technology=32) +2024-05-29 17:03:01 INFO memory_cell.read() +2024-05-29 17:03:01 INFO memory_cell.mac_random() +2024-05-29 17:03:01 INFO memory_cell.mac_reused() +2024-05-29 17:03:01 INFO memory_cell.compute() +2024-05-29 17:03:01 INFO memory_cell.add() +2024-05-29 17:03:01 INFO memory_cell.shift_add() +2024-05-29 17:03:01 INFO memory_cell.convert() +2024-05-29 17:03:01 INFO memory_cell.write() +2024-05-29 17:03:01 INFO memory_cell.set() +2024-05-29 17:03:01 INFO memory_cell.erase() +2024-05-29 17:03:01 INFO memory_cell.update() +2024-05-29 17:03:01 INFO memory_cell.leak() +2024-05-29 17:03:01 INFO mux(n_mux_inputs=2, n_bits=8, global_cycle_seconds=1e-09, technology=32) +2024-05-29 17:03:01 INFO mux.read() +2024-05-29 17:03:01 INFO mux.mac_random() +2024-05-29 17:03:01 INFO mux.mac_reused() +2024-05-29 17:03:01 INFO mux.compute() +2024-05-29 17:03:01 INFO mux.add() +2024-05-29 17:03:01 INFO mux.shift_add() +2024-05-29 17:03:01 INFO mux.convert() +2024-05-29 17:03:01 INFO mux.write() +2024-05-29 17:03:01 INFO mux.set() +2024-05-29 17:03:01 INFO mux.erase() +2024-05-29 17:03:01 INFO mux.update() +2024-05-29 17:03:01 INFO mux.leak() +2024-05-29 17:03:01 INFO nand_gate(global_cycle_seconds=1e-09, technology=32) +2024-05-29 17:03:01 INFO nand_gate.read() +2024-05-29 17:03:01 INFO nand_gate.mac_random() +2024-05-29 17:03:01 INFO nand_gate.mac_reused() +2024-05-29 17:03:01 INFO nand_gate.compute() +2024-05-29 17:03:01 INFO nand_gate.add() +2024-05-29 17:03:01 INFO nand_gate.shift_add() +2024-05-29 17:03:01 INFO nand_gate.convert() +2024-05-29 17:03:01 INFO nand_gate.write() +2024-05-29 17:03:01 INFO nand_gate.set() +2024-05-29 17:03:01 INFO nand_gate.erase() +2024-05-29 17:03:01 INFO nand_gate.update() +2024-05-29 17:03:01 INFO nand_gate.leak() +2024-05-29 17:03:01 INFO newton_adc(technology=32nm, global_cycle_seconds=1e-9, resolution=9, energy=2.58333333333, area=1500, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO newton_adc.convert() +2024-05-29 17:03:01 INFO newton_adc.read() +2024-05-29 17:03:01 INFO newton_adc(technology=32nm, global_cycle_seconds=1e-9, resolution=9, energy=0, area=1500, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO newton_adc.write() +2024-05-29 17:03:01 INFO newton_adc.update() +2024-05-29 17:03:01 INFO newton_adc.leak() +2024-05-29 17:03:01 INFO nor_gate(global_cycle_seconds=1e-09, technology=32) +2024-05-29 17:03:01 INFO nor_gate.read() +2024-05-29 17:03:01 INFO nor_gate.mac_random() +2024-05-29 17:03:01 INFO nor_gate.mac_reused() +2024-05-29 17:03:01 INFO nor_gate.compute() +2024-05-29 17:03:01 INFO nor_gate.add() +2024-05-29 17:03:01 INFO nor_gate.shift_add() +2024-05-29 17:03:01 INFO nor_gate.convert() +2024-05-29 17:03:01 INFO nor_gate.write() +2024-05-29 17:03:01 INFO nor_gate.set() +2024-05-29 17:03:01 INFO nor_gate.erase() +2024-05-29 17:03:01 INFO nor_gate.update() +2024-05-29 17:03:01 INFO nor_gate.leak() +2024-05-29 17:03:01 INFO not_gate(global_cycle_seconds=1e-09, technology=32) +2024-05-29 17:03:01 INFO not_gate.read() +2024-05-29 17:03:01 INFO not_gate.mac_random() +2024-05-29 17:03:01 INFO not_gate.mac_reused() +2024-05-29 17:03:01 INFO not_gate.compute() +2024-05-29 17:03:01 INFO not_gate.add() +2024-05-29 17:03:01 INFO not_gate.shift_add() +2024-05-29 17:03:01 INFO not_gate.convert() +2024-05-29 17:03:01 INFO not_gate.write() +2024-05-29 17:03:01 INFO not_gate.set() +2024-05-29 17:03:01 INFO not_gate.erase() +2024-05-29 17:03:01 INFO not_gate.update() +2024-05-29 17:03:01 INFO not_gate.leak() +2024-05-29 17:03:01 INFO pim_adc: alias for ADC Plug-In plug-in adc +2024-05-29 17:03:01 INFO pim_array_adc: alias for ADC Plug-In plug-in adc +2024-05-29 17:03:01 INFO raella_quant_multiplier(technology=45nm, global_cycle_seconds=1e-9, energy=0.25, area=0, n_instances=1, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO raella_quant_multiplier.multiply() +2024-05-29 17:03:01 INFO raella_quant_multiplier.read() +2024-05-29 17:03:01 INFO raella_quant_multiplier(technology=45nm, global_cycle_seconds=1e-9, energy=0, area=0, n_instances=1, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO raella_quant_multiplier.update() +2024-05-29 17:03:01 INFO raella_quant_multiplier.leak() +2024-05-29 17:03:01 INFO raella_quant_multiplier.write() +2024-05-29 17:03:01 INFO reg(technology, global_cycle_seconds, width) +2024-05-29 17:03:01 INFO reg.leak() +2024-05-29 17:03:01 INFO reg.access() +2024-05-29 17:03:01 INFO regfile(technology, global_cycle_seconds, width, depth) +2024-05-29 17:03:01 INFO regfile.leak() +2024-05-29 17:03:01 INFO regfile.access() +2024-05-29 17:03:01 INFO sar_adc: alias for ADC Plug-In plug-in adc +2024-05-29 17:03:01 INFO shift_add(n_bits=8, shift_register_n_bits=16, global_cycle_seconds=1e-09, technology=32) +2024-05-29 17:03:01 INFO shift_add.read() +2024-05-29 17:03:01 INFO shift_add.mac_random() +2024-05-29 17:03:01 INFO shift_add.mac_reused() +2024-05-29 17:03:01 INFO shift_add.compute() +2024-05-29 17:03:01 INFO shift_add.add() +2024-05-29 17:03:01 INFO shift_add.shift_add() +2024-05-29 17:03:01 INFO shift_add.convert() +2024-05-29 17:03:01 INFO shift_add.write() +2024-05-29 17:03:01 INFO shift_add.set() +2024-05-29 17:03:01 INFO shift_add.erase() +2024-05-29 17:03:01 INFO shift_add.update() +2024-05-29 17:03:01 INFO shift_add.leak() +2024-05-29 17:03:01 INFO SRAM(technology, global_cycle_seconds, width, depth) +2024-05-29 17:03:01 INFO SRAM.leak() +2024-05-29 17:03:01 INFO SRAM.access() +2024-05-29 17:03:01 INFO SRAM(technology, width, depth, n_rw_ports=1, n_banks=1) +2024-05-29 17:03:01 INFO SRAM.idle() +2024-05-29 17:03:01 INFO SRAM.read(address_delta=True, data_delta=True) +2024-05-29 17:03:01 INFO SRAM.update(address_delta=True, data_delta=True) +2024-05-29 17:03:01 INFO SRAM.write(address_delta=True, data_delta=True) +2024-05-29 17:03:01 INFO SRAM.leak(global_cycle_seconds) +2024-05-29 17:03:01 INFO timely_charging_comparator(technology=65nm, global_cycle_seconds=1e-9, energy=0.0417, area=40, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO timely_charging_comparator.compare() +2024-05-29 17:03:01 INFO timely_charging_comparator.read() +2024-05-29 17:03:01 INFO timely_charging_comparator(technology=65nm, global_cycle_seconds=1e-9, energy=0, area=40, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO timely_charging_comparator.write() +2024-05-29 17:03:01 INFO timely_charging_comparator.update() +2024-05-29 17:03:01 INFO timely_charging_comparator.leak() +2024-05-29 17:03:01 INFO timely_dtc(technology=65nm, global_cycle_seconds=1e-9, resolution=8, energy=0.0375, area=240, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO timely_dtc.convert() +2024-05-29 17:03:01 INFO timely_dtc.read() +2024-05-29 17:03:01 INFO timely_dtc(technology=65nm, global_cycle_seconds=1e-9, resolution=8, energy=0, area=240, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO timely_dtc.write() +2024-05-29 17:03:01 INFO timely_dtc.leak() +2024-05-29 17:03:01 INFO timely_dtc.update() +2024-05-29 17:03:01 INFO timely_iadder(technology=65nm, global_cycle_seconds=1e-9, energy=0.0368, area=40, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO timely_iadder.read() +2024-05-29 17:03:01 INFO timely_iadder.add() +2024-05-29 17:03:01 INFO timely_iadder(technology=65nm, global_cycle_seconds=1e-9, energy=0, area=40, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO timely_iadder.write() +2024-05-29 17:03:01 INFO timely_iadder.update() +2024-05-29 17:03:01 INFO timely_iadder.leak() +2024-05-29 17:03:01 INFO timely_input_output_buffer(technology=65nm, global_cycle_seconds=1e-9, width|datawidth=128, depth=128, energy=203.776, area=40, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO timely_input_output_buffer.read() +2024-05-29 17:03:01 INFO timely_input_output_buffer(technology=65nm, global_cycle_seconds=1e-9, width|datawidth=128, depth=128, energy=496.624, area=40, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO timely_input_output_buffer.write() +2024-05-29 17:03:01 INFO timely_input_output_buffer.update() +2024-05-29 17:03:01 INFO timely_input_output_buffer(technology=65nm, global_cycle_seconds=1e-9, width|datawidth=128, depth=128, energy=0, area=40, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO timely_input_output_buffer.leak() +2024-05-29 17:03:01 INFO timely_psubbuf(technology=65nm, global_cycle_seconds=1e-9, n_instances=1, energy=0.0023, area=5, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO timely_psubbuf.drive() +2024-05-29 17:03:01 INFO timely_psubbuf.read() +2024-05-29 17:03:01 INFO timely_psubbuf.convert() +2024-05-29 17:03:01 INFO timely_psubbuf(technology=65nm, global_cycle_seconds=1e-9, n_instances=1, energy=0, area=5, area_scale=1, energy_scale=1) +2024-05-29 17:03:01 INFO timely_psubbuf.leak() +2024-05-29 17:03:01 INFO timely_psubbuf.update() +2024-05-29 17:03:01 INFO timely_psubbuf.write() +2024-05-29 17:03:01 INFO timely_tdc(technology=65nm, global_cycle_seconds=1e-9, resolution=8, energy=0.145, area=310, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO timely_tdc.convert() +2024-05-29 17:03:01 INFO timely_tdc.read() +2024-05-29 17:03:01 INFO timely_tdc(technology=65nm, global_cycle_seconds=1e-9, resolution=8, energy=0, area=310, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO timely_tdc.leak() +2024-05-29 17:03:01 INFO timely_tdc.write() +2024-05-29 17:03:01 INFO timely_tdc.update() +2024-05-29 17:03:01 INFO timely_xsubbuf(technology=65nm, global_cycle_seconds=1e-9, rows=1, energy=0.00062, area=5, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO timely_xsubbuf.read() +2024-05-29 17:03:01 INFO timely_xsubbuf.drive() +2024-05-29 17:03:01 INFO timely_xsubbuf.buffer() +2024-05-29 17:03:01 INFO timely_xsubbuf(technology=65nm, global_cycle_seconds=1e-9, rows=1, energy=0, area=5, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO timely_xsubbuf.leak() +2024-05-29 17:03:01 INFO timely_xsubbuf.write() +2024-05-29 17:03:01 INFO timely_xsubbuf.update() +2024-05-29 17:03:01 INFO wan_analog_integrator(technology=130nm, n_steps=1, global_cycle_seconds=1e-6, voltage=1.8, energy=0.25, area=350, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO wan_analog_integrator.read() +2024-05-29 17:03:01 INFO wan_analog_integrator(technology=130nm, n_steps=*, global_cycle_seconds=1e-6, voltage=1.8, energy=0, area=350, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO wan_analog_integrator.leak() +2024-05-29 17:03:01 INFO wan_analog_integrator(technology=130nm, n_steps=*, global_cycle_seconds=1e-6, voltage=1.8, energy=0, area=350, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO wan_analog_integrator.write() +2024-05-29 17:03:01 INFO wan_analog_integrator.update() +2024-05-29 17:03:01 INFO wan_analog_sample(technology=130nm, global_cycle_seconds=1e-6, voltage=1.8, energy=1.2, area=350, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO wan_analog_sample.read() +2024-05-29 17:03:01 INFO wan_analog_sample(technology=130nm, global_cycle_seconds=1e-6, voltage=1.8, energy=0, area=350, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO wan_analog_sample.leak() +2024-05-29 17:03:01 INFO wan_analog_sample(technology=130nm, global_cycle_seconds=1e-6, voltage=1.8, energy=0, area=350, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO wan_analog_sample.write() +2024-05-29 17:03:01 INFO wan_analog_sample.update() +2024-05-29 17:03:01 INFO wan_shift_add(technology=130nm, n_steps=1, global_cycle_seconds=1e-6, resolution=8, voltage=1.8, energy=0.1, area=170, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO wan_shift_add.read() +2024-05-29 17:03:01 INFO wan_shift_add(technology=130nm, n_steps=*, global_cycle_seconds=1e-6, resolution=8, voltage=1.8, energy=0, area=170, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO wan_shift_add.leak() +2024-05-29 17:03:01 INFO wan_shift_add(technology=130nm, n_steps=*, global_cycle_seconds=1e-6, resolution=8, voltage=1.8, energy=0, area=170, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO wan_shift_add.write() +2024-05-29 17:03:01 INFO wan_shift_add.update() +2024-05-29 17:03:01 INFO wan_variable_precision_adc(technology=130nm, n_steps=1, global_cycle_seconds=1e-6, voltage=1.8, energy=0.3, area=400, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO wan_variable_precision_adc.read() +2024-05-29 17:03:01 INFO wan_variable_precision_adc(technology=130nm, n_steps=*, global_cycle_seconds=1e-6, voltage=1.8, energy=0, area=400, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO wan_variable_precision_adc.leak() +2024-05-29 17:03:01 INFO wan_variable_precision_adc(technology=130nm, n_steps=*, global_cycle_seconds=1e-6, voltage=1.8, energy=0, area=400, area_scale=1, energy_scale=1, n_instances=1) +2024-05-29 17:03:01 INFO wan_variable_precision_adc.write() +2024-05-29 17:03:01 INFO wan_variable_precision_adc.update() +2024-05-29 17:03:01 INFO wire(technology, global_cycle_seconds, length, width) +2024-05-29 17:03:01 INFO wire.transfer() +2024-05-29 17:03:01 INFO wire.transfer_random() +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO Plug-ins without entries: +2024-05-29 17:03:01 INFO DEPRECATED table-based-plug-ins. Use the Library plug-in instead. +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO Parsing functions: +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO Calculated adder."width" as "adder_width" = 16. +2024-05-29 17:03:01 INFO Calculated multiplier."width" as "multiplier_width" = 8. +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:01 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 17:03:01 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 17:03:01 INFO | Unused arguments (action_latency_cycles) provided for DRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 17:03:01 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:01 DEBUG Why plug-ins did not estimate: +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 80% estimating accuracy: No messages found. +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: Identified a set of tables named: test_tables +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Primitive class DRAM is not supported. Supported classes are: ['regfile', 'SRAM', 'counter', 'comparator', 'crossbar', 'wire', 'FIFO', 'bitwise', 'intadder', 'intmultiplier', 'intmac', 'fpadder', 'fpmultiplier', 'fpmac', 'reg'] +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support dram. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find leak for dram +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support DRAM.leak. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'], supported actions: ['convert', 'drive', 'read', 'sample', 'leak', 'activate'] +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['SRAM'] +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:01 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 17:03:01 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 17:03:01 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.read. Arguments used: () +2024-05-29 17:03:01 DEBUG Why plug-ins did not estimate: +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 80% estimating accuracy: No messages found. +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Primitive class DRAM is not supported. Supported classes are: ['regfile', 'SRAM', 'counter', 'comparator', 'crossbar', 'wire', 'FIFO', 'bitwise', 'intadder', 'intmultiplier', 'intmac', 'fpadder', 'fpmultiplier', 'fpmac', 'reg'] +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support dram. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find energy for dram +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support DRAM.read. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'], supported actions: ['convert', 'drive', 'read', 'sample', 'leak', 'activate'] +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['SRAM'] +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:01 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 17:03:01 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 17:03:01 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.update. Arguments used: () +2024-05-29 17:03:01 DEBUG Why plug-ins did not estimate: +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 80% estimating accuracy: No messages found. +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Primitive class DRAM is not supported. Supported classes are: ['regfile', 'SRAM', 'counter', 'comparator', 'crossbar', 'wire', 'FIFO', 'bitwise', 'intadder', 'intmultiplier', 'intmac', 'fpadder', 'fpmultiplier', 'fpmac', 'reg'] +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support dram. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find energy for dram +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support DRAM.update. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'], supported actions: ['convert', 'drive', 'read', 'sample', 'leak', 'activate'] +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['SRAM'] +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:01 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 17:03:01 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 17:03:01 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.write. Arguments used: () +2024-05-29 17:03:01 DEBUG Why plug-ins did not estimate: +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 80% estimating accuracy: No messages found. +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Primitive class DRAM is not supported. Supported classes are: ['regfile', 'SRAM', 'counter', 'comparator', 'crossbar', 'wire', 'FIFO', 'bitwise', 'intadder', 'intmultiplier', 'intmac', 'fpadder', 'fpmultiplier', 'fpmac', 'reg'] +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support dram. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find energy for dram +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support DRAM.write. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'], supported actions: ['convert', 'drive', 'read', 'sample', 'leak', 'activate'] +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['SRAM'] +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO ENERGY ESTIMATION for SRAM(depth=512, width=128, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:01 INFO CactiSRAM estimated 2.71132e-16 with accuracy 80%. Messages: +2024-05-29 17:03:01 INFO | Unused arguments (datawidth, has_power_gating, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (depth, width, n_banks, technology) +2024-05-29 17:03:01 INFO | Unused arguments (action_latency_cycles) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 17:03:01 INFO | Calling CACTI with cache_size=8192 n_rw_ports=1 block_size=16 tech_node_um=0.045 n_banks=2 tag_size=0 associativity=1 +2024-05-29 17:03:01 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpntuyfp_5 +2024-05-29 17:03:01 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpw98laspx +2024-05-29 17:03:01 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:01 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpntuyfp_5 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpw98laspx 2>&1 +2024-05-29 17:03:01 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 17:03:01 INFO | Cache bandwidth: 331.75576555234744 bits/second +2024-05-29 17:03:01 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.771652 +2024-05-29 17:03:01 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:01 DEBUG Why plug-ins did not estimate: +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 80% estimating accuracy: No messages found. +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Only SRAMs with depth <= 128 and width <= 32 are supported by Aladdin +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support sram. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find leak for sram +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support SRAM.leak. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'], supported actions: ['convert', 'drive', 'read', 'sample', 'leak', 'activate'] +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['DRAM'] +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO ENERGY ESTIMATION for SRAM(depth=512, width=128, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:01 INFO CactiSRAM estimated 9.65335e-12 with accuracy 80%. Messages: +2024-05-29 17:03:01 INFO | Unused arguments (datawidth, has_power_gating, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (depth, width, n_banks, technology) +2024-05-29 17:03:01 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for SRAM.read. Arguments used: () +2024-05-29 17:03:01 INFO | Calling CACTI with cache_size=8192 n_rw_ports=1 block_size=16 tech_node_um=0.045 n_banks=2 tag_size=0 associativity=1 +2024-05-29 17:03:01 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp77zxe0u3 +2024-05-29 17:03:01 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3bo6j67k +2024-05-29 17:03:01 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:01 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp77zxe0u3 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp3bo6j67k 2>&1 +2024-05-29 17:03:01 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 17:03:01 INFO | Cache bandwidth: 331.75576555234744 bits/second +2024-05-29 17:03:01 DEBUG Why plug-ins did not estimate: +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 80% estimating accuracy: No messages found. +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Only SRAMs with depth <= 128 and width <= 32 are supported by Aladdin +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support sram. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find energy for sram +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support SRAM.read. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'], supported actions: ['convert', 'drive', 'read', 'sample', 'leak', 'activate'] +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['DRAM'] +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO ENERGY ESTIMATION for SRAM(depth=512, width=128, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:01 INFO CactiSRAM estimated 1.26203e-11 with accuracy 80%. Messages: +2024-05-29 17:03:01 INFO | Unused arguments (datawidth, has_power_gating, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (depth, width, n_banks, technology) +2024-05-29 17:03:01 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for SRAM.update. Arguments used: () +2024-05-29 17:03:01 INFO | Calling CACTI with cache_size=8192 n_rw_ports=1 block_size=16 tech_node_um=0.045 n_banks=2 tag_size=0 associativity=1 +2024-05-29 17:03:01 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpl2s2a7rt +2024-05-29 17:03:01 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmptquvmjfp +2024-05-29 17:03:01 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:01 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpl2s2a7rt >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmptquvmjfp 2>&1 +2024-05-29 17:03:01 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 17:03:01 INFO | Cache bandwidth: 331.75576555234744 bits/second +2024-05-29 17:03:01 DEBUG Why plug-ins did not estimate: +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 80% estimating accuracy: No messages found. +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Only SRAMs with depth <= 128 and width <= 32 are supported by Aladdin +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support sram. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find energy for sram +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support SRAM.update. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'], supported actions: ['convert', 'drive', 'read', 'sample', 'leak', 'activate'] +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['DRAM'] +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO ENERGY ESTIMATION for SRAM(depth=512, width=128, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:01 INFO CactiSRAM estimated 1.26203e-11 with accuracy 80%. Messages: +2024-05-29 17:03:01 INFO | Unused arguments (datawidth, has_power_gating, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (depth, width, n_banks, technology) +2024-05-29 17:03:01 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for SRAM.write. Arguments used: () +2024-05-29 17:03:01 INFO | Calling CACTI with cache_size=8192 n_rw_ports=1 block_size=16 tech_node_um=0.045 n_banks=2 tag_size=0 associativity=1 +2024-05-29 17:03:01 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpr1vp6a3l +2024-05-29 17:03:01 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5vts3hta +2024-05-29 17:03:01 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:01 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpr1vp6a3l >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5vts3hta 2>&1 +2024-05-29 17:03:01 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 17:03:01 INFO | Cache bandwidth: 331.75576555234744 bits/second +2024-05-29 17:03:01 DEBUG Why plug-ins did not estimate: +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 80% estimating accuracy: No messages found. +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Only SRAMs with depth <= 128 and width <= 32 are supported by Aladdin +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support sram. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find energy for sram +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support SRAM.write. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'], supported actions: ['convert', 'drive', 'read', 'sample', 'leak', 'activate'] +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['DRAM'] +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:01 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 17:03:01 INFO | Found 1 entries for aladdin_adder.add. +2024-05-29 17:03:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 17:03:01 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | Scaling width from 32 to 16 +2024-05-29 17:03:01 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:01 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 17:03:01 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:01 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 17:03:01 DEBUG Estimator logs: +2024-05-29 17:03:01 DEBUG | Library with accuracy 90% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Found 1 entries for aladdin_adder.add. +2024-05-29 17:03:01 DEBUG | | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 DEBUG | | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Primitive class aladdin_adder is not supported. Supported classes are: ['regfile', 'SRAM', 'counter', 'comparator', 'crossbar', 'wire', 'FIFO', 'bitwise', 'intadder', 'intmultiplier', 'intmac', 'fpadder', 'fpmultiplier', 'fpmac', 'reg'] +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | ERROR: NeuroSim estimator does not support aladdin_adder. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | ADC Plug-In does not support aladdin_adder.add. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'], supported actions: ['convert', 'drive', 'read', 'sample', 'leak', 'activate'] +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Class name aladdin_adder is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Class name aladdin_adder is not supported. Supported class names: ['DRAM'] +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Class name aladdin_adder is not supported. Supported class names: ['SRAM'] +2024-05-29 17:03:01 DEBUG Why plug-ins did not estimate: +2024-05-29 17:03:01 DEBUG | Library with accuracy 90% estimating accuracy: value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Primitive class aladdin_adder is not supported. Supported classes are: ['regfile', 'SRAM', 'counter', 'comparator', 'crossbar', 'wire', 'FIFO', 'bitwise', 'intadder', 'intmultiplier', 'intmac', 'fpadder', 'fpmultiplier', 'fpmac', 'reg'] +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support aladdin_adder. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support aladdin_adder.add. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'], supported actions: ['convert', 'drive', 'read', 'sample', 'leak', 'activate'] +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name aladdin_adder is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name aladdin_adder is not supported. Supported class names: ['DRAM'] +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name aladdin_adder is not supported. Supported class names: ['SRAM'] +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO ENERGY ESTIMATION for aladdin_multiplier(width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).multiply(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:01 INFO Library estimated 3.17p with accuracy 90%. Messages: +2024-05-29 17:03:01 INFO | Found 1 entries for aladdin_multiplier.multiply. +2024-05-29 17:03:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'multiply', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | value=12.68, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x energy', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_multiplier energy has been scaled 0.25x'] +2024-05-29 17:03:01 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'multiply', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | Scaling width from 32 to 8 +2024-05-29 17:03:01 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:01 INFO | Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x energy +2024-05-29 17:03:01 INFO | Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:01 INFO | aladdin_multiplier energy has been scaled 0.25x +2024-05-29 17:03:01 DEBUG Estimator logs: +2024-05-29 17:03:01 DEBUG | Library with accuracy 90% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Found 1 entries for aladdin_multiplier.multiply. +2024-05-29 17:03:01 DEBUG | | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'multiply', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 DEBUG | | value=12.68, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Primitive class aladdin_multiplier is not supported. Supported classes are: ['regfile', 'SRAM', 'counter', 'comparator', 'crossbar', 'wire', 'FIFO', 'bitwise', 'intadder', 'intmultiplier', 'intmac', 'fpadder', 'fpmultiplier', 'fpmac', 'reg'] +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | ERROR: NeuroSim estimator does not support aladdin_multiplier. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | ADC Plug-In does not support aladdin_multiplier.multiply. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'], supported actions: ['convert', 'drive', 'read', 'sample', 'leak', 'activate'] +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['DRAM'] +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['SRAM'] +2024-05-29 17:03:01 DEBUG Why plug-ins did not estimate: +2024-05-29 17:03:01 DEBUG | Library with accuracy 90% estimating accuracy: value=12.68, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Primitive class aladdin_multiplier is not supported. Supported classes are: ['regfile', 'SRAM', 'counter', 'comparator', 'crossbar', 'wire', 'FIFO', 'bitwise', 'intadder', 'intmultiplier', 'intmac', 'fpadder', 'fpmultiplier', 'fpmac', 'reg'] +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support aladdin_multiplier. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support aladdin_multiplier.multiply. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'], supported actions: ['convert', 'drive', 'read', 'sample', 'leak', 'activate'] +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['DRAM'] +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['SRAM'] +2024-05-29 17:03:01 WARNING No action counts are specified as yaml input +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO AREA ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 17:03:01 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 17:03:01 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 17:03:01 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:01 DEBUG Why plug-ins did not estimate: +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 80% estimating accuracy: No messages found. +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support dram. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find area for dram +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support DRAM.None. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc']. +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['SRAM'] +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO AREA ESTIMATION for SRAM(depth=512, width=128, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 17:03:01 INFO CactiSRAM estimated 4.36084e-08 with accuracy 80%. Messages: +2024-05-29 17:03:01 INFO | Unused arguments (datawidth, has_power_gating, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (depth, width, n_banks, technology) +2024-05-29 17:03:01 INFO | Calling CACTI with cache_size=8192 n_rw_ports=1 block_size=16 tech_node_um=0.045 n_banks=2 tag_size=0 associativity=1 +2024-05-29 17:03:01 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp4neel843 +2024-05-29 17:03:01 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5ar5ag6a +2024-05-29 17:03:01 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:01 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp4neel843 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp5ar5ag6a 2>&1 +2024-05-29 17:03:01 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 17:03:01 INFO | Cache bandwidth: 331.75576555234744 bits/second +2024-05-29 17:03:01 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:01 DEBUG Why plug-ins did not estimate: +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 80% estimating accuracy: No messages found. +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support sram. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find area for sram +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support SRAM.None. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc']. +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['DRAM'] +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 17:03:01 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 17:03:01 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:01 DEBUG Why plug-ins did not estimate: +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 100% estimating accuracy: No messages found. +2024-05-29 17:03:01 DEBUG | Library with accuracy 90% estimating accuracy: value=0.0, matching_attrs=2, log=['Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support dummy_storage. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support dummy_storage.None. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc']. +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name dummy_storage is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name dummy_storage is not supported. Supported class names: ['DRAM'] +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name dummy_storage is not supported. Supported class names: ['SRAM'] +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:01 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 17:03:01 INFO | Found 5 entries for aladdin_adder. +2024-05-29 17:03:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:01 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | Scaling width from 32 to 16 +2024-05-29 17:03:01 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:01 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 17:03:01 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:01 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 17:03:01 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:01 DEBUG Estimator logs: +2024-05-29 17:03:01 DEBUG | Library with accuracy 90% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Found 5 entries for aladdin_adder. +2024-05-29 17:03:01 DEBUG | | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 DEBUG | | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 DEBUG | | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 DEBUG | | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 DEBUG | | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 DEBUG | | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | ERROR: NeuroSim estimator does not support aladdin_adder. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | ADC Plug-In does not support aladdin_adder.None. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc']. +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Class name aladdin_adder is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Class name aladdin_adder is not supported. Supported class names: ['DRAM'] +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Class name aladdin_adder is not supported. Supported class names: ['SRAM'] +2024-05-29 17:03:01 DEBUG Why plug-ins did not estimate: +2024-05-29 17:03:01 DEBUG | Library with accuracy 90% estimating accuracy: value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support aladdin_adder. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support aladdin_adder.None. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc']. +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name aladdin_adder is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name aladdin_adder is not supported. Supported class names: ['DRAM'] +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name aladdin_adder is not supported. Supported class names: ['SRAM'] +2024-05-29 17:03:01 INFO +2024-05-29 17:03:01 INFO AREA ESTIMATION for aladdin_multiplier(width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:01 INFO Library estimated 1587.5u^2 with accuracy 90%. Messages: +2024-05-29 17:03:01 INFO | Found 5 entries for aladdin_multiplier. +2024-05-29 17:03:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'multiply', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_multiplier area has been scaled 0.25x'] +2024-05-29 17:03:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'read', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_multiplier area has been scaled 0.25x'] +2024-05-29 17:03:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '0.08', 'area(um^2)': '6350', 'action': 'leak', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_multiplier area has been scaled 0.25x'] +2024-05-29 17:03:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '0', 'area(um^2)': '6350', 'action': 'update', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_multiplier area has been scaled 0.25x'] +2024-05-29 17:03:01 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '0', 'area(um^2)': '6350', 'action': 'write', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_multiplier area has been scaled 0.25x'] +2024-05-29 17:03:01 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'multiply', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 INFO | Scaling width from 32 to 8 +2024-05-29 17:03:01 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:01 INFO | Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area +2024-05-29 17:03:01 INFO | Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:01 INFO | aladdin_multiplier area has been scaled 0.25x +2024-05-29 17:03:01 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:01 DEBUG Estimator logs: +2024-05-29 17:03:01 DEBUG | Library with accuracy 90% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Found 5 entries for aladdin_multiplier. +2024-05-29 17:03:01 DEBUG | | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'multiply', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 DEBUG | | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'read', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 DEBUG | | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '0.08', 'area(um^2)': '6350', 'action': 'leak', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 DEBUG | | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '0', 'area(um^2)': '6350', 'action': 'update', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 DEBUG | | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '0', 'area(um^2)': '6350', 'action': 'write', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:01 DEBUG | | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | ERROR: NeuroSim estimator does not support aladdin_multiplier. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | ADC Plug-In does not support aladdin_multiplier.None. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc']. +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['DRAM'] +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: +2024-05-29 17:03:01 DEBUG | | Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | | Class name aladdin_multiplier is not supported. Supported class names: ['SRAM'] +2024-05-29 17:03:01 DEBUG Why plug-ins did not estimate: +2024-05-29 17:03:01 DEBUG | Library with accuracy 90% estimating accuracy: value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09'] +2024-05-29 17:03:01 DEBUG | DEPRECATED table-based-plug-ins. Use the Library plug-in instead. with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-05-29 17:03:01 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-05-29 17:03:01 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support aladdin_multiplier. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-05-29 17:03:01 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support aladdin_multiplier.None. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc']. +2024-05-29 17:03:01 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['cache'] +2024-05-29 17:03:01 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['DRAM'] +2024-05-29 17:03:01 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name aladdin_multiplier is not supported. Supported class names: ['SRAM'] +2024-05-29 17:03:01 INFO verbose flattened architecture is saved to: +2024-05-29 17:03:01 INFO ./flattened_architecture_verbose.yaml +2024-05-29 17:03:01 INFO energy reference table is saved to: +2024-05-29 17:03:01 INFO ./ERT.yaml +2024-05-29 17:03:01 INFO verbose energy reference table summary is saved to: +2024-05-29 17:03:01 INFO ./ERT_summary_verbose.yaml +2024-05-29 17:03:01 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 17:03:01 INFO area reference table is saved to: +2024-05-29 17:03:01 INFO ./ART.yaml +2024-05-29 17:03:01 INFO verbose area reference table summary is saved to: +2024-05-29 17:03:01 INFO ./ART_summary_verbose.yaml diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/flattened_architecture_verbose.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/flattened_architecture_verbose.yaml new file mode 100644 index 00000000..17e51e33 --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/flattened_architecture_verbose.yaml @@ -0,0 +1,140 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.reg[1..8] + class: register + attributes: + datawidth: 8 + depth: 1 + width: 24 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 8 + meshY: 1 + power_gated_at: null + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-09 + DATAWIDTH: 8 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + primitive_components: [] + actions: + - name: read + arguments: {} + primitive_actions: [] + - name: write + arguments: {} + primitive_actions: [] + - name: update + arguments: {} + primitive_actions: [] + - name: leak + arguments: {} + primitive_actions: [] + - name: system_top_level.mac[1..8] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 8 + meshY: 1 + power_gated_at: null + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-09 + DATAWIDTH: 8 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + primitive_components: + - name: adder + class: aladdin_adder + attributes: + width: 16 + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + technology: "45nm" + n_instances: 1 + area_scale: 1 + - name: multiplier + class: aladdin_multiplier + attributes: + width: 8 + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + technology: "45nm" + n_instances: 1 + area_scale: 1 + actions: + - name: compute + arguments: {} + primitive_actions: + - name: adder + action: add + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + technology: "45nm" + n_instances: 1 + energy_scale: 1.0 + - name: multiplier + action: multiply + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + technology: "45nm" + n_instances: 1 + energy_scale: 1.0 + - name: system_top_level.DRAM[1..1] + class: DRAM + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + - name: system_top_level.buffer[1..1] + class: SRAM + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + - name: system_top_level.inter_PE_spatial[1..1] + class: dummy_storage + actions: [] diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/parsed-processed-input.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/parsed-processed-input.yaml new file mode 100644 index 00000000..1f9c0647 --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/parsed-processed-input.yaml @@ -0,0 +1,257 @@ +dumped_by_timeloop_front_end: true +architecture: + version: '0.4' + subtree: + - name: system_top_level + attributes: + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-9 + DATAWIDTH: 8 + has_power_gating: false + power_gated_at: null + local: + - name: DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + required_actions: + - leak + - read + - update + - write + enabled: true + - name: buffer[1..1] + class: SRAM + attributes: + depth: 512 + width: 128 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + required_actions: + - leak + - read + - update + - write + enabled: true + - name: inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + enabled: true + - name: mac[1..8] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 8 + meshY: 1 + power_gated_at: null + required_actions: + - compute + enabled: true +architecture_constraints: + targets: + - type: temporal + permutation: GSR + target: DRAM + - keep: + - Inputs + - Outputs + - Weights + type: bypass + target: buffer + - type: temporal + permutation: GSR + target: buffer + - type: spatial + factors: N=1,P=1,Q=1,R=1,M=8,C=1 + permutation: GNPQRSCM + split: 17 + target: inter_PE_spatial + - factors: C=1,M=1,R=1,S=1,N=1,P=1,Q=1,G=1 + permutation: CMRSNPQG + type: temporal + target: inter_PE_spatial + - bypass: + - Weights + - Inputs + - Outputs + type: bypass + target: inter_PE_spatial +problem: + version: '0.4' + instance: + C: 128 + G: 1 + H: 1 + Hdilation: 1 + Hpad: 0 + Hstride: 1 + M: 128 + N: 32 + P: 128 + Q: 128 + R: 1 + S: 1 + W: 1 + Wdilation: 1 + Wpad: 0 + Wstride: 1 + densities: {} + shape: + coefficients: + - name: Wstride + default: 1 + - name: Hstride + default: 1 + - name: Wdilation + default: 1 + - name: Hdilation + default: 1 + data_spaces: + - name: Weights + projection: + - - - C + - - - M + - - - R + - - - S + - - - G + read_write: false + - name: Inputs + projection: + - - - N + - - - C + - - - R + - Wdilation + - - P + - Wstride + - - - S + - Hdilation + - - Q + - Hstride + - - - G + read_write: false + - name: Outputs + projection: + - - - N + - - - M + - - - Q + - - - P + - - - G + read_write: true + dimensions: + - C + - M + - R + - S + - N + - P + - Q + - G + name: '' +compound_components: + version: '0.4' + classes: + - name: intmac + attributes: + multiplier_width: "must_specify" + adder_width: "must_specify" + subcomponents: + - name: adder + class: aladdin_adder + attributes: + width: adder_width + - name: multiplier + class: aladdin_multiplier + attributes: + width: multiplier_width + actions: + - name: compute + subcomponents: + - name: adder + actions: + - name: add + - name: multiplier + actions: + - name: multiply + - name: register + attributes: {} + subcomponents: [] + actions: + - name: read + subcomponents: [] + - name: write + subcomponents: [] + - name: update + subcomponents: [] + - name: leak + subcomponents: [] +mapping: [] +mapper: + optimization_metrics: + - edp + version: '0.4' + live_status: false + num_threads: 4 + search_size: 1000 + victory_condition: 10000 + timeout: 10000 + max_permutations_per_if_visit: 4 + algorithm: random_pruned + max_temporal_loops_in_a_mapping: 9 + out_prefix: timeloop-mapper + optimization_metric: [] + sync_interval: null + log_interval: 1 + log_oaves: false + log_oaves_mappings: false + log_stats: false + log_suboptimal: false + diagnostics: false + penalize_consecutive_bypass_fails: false + emit_whoop_nest: false + filter_revisits: false +mapspace: + version: '0.4' + template: uber +globals: + version: '0.4' + environment_variables: {} + expression_custom_functions: [] + accelergy_plug_ins: [] diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.ART.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.ART.yaml new file mode 100644 index 00000000..d3fd9e81 --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.ART.yaml @@ -0,0 +1,11 @@ +ART: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + area: 0.0 + - name: system_top_level.buffer[1..1] + area: 43608.4 + - name: system_top_level.inter_PE_spatial[1..1] + area: 1.0 + - name: system_top_level.mac[1..8] + area: 1726.5 diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.ART_summary.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.ART_summary.yaml new file mode 100644 index 00000000..8f9bce07 --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.ART_summary.yaml @@ -0,0 +1,19 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_top_level.buffer[1..1] + area: 43608.4 + primitive_estimations: CactiSRAM + - name: system_top_level.inter_PE_spatial[1..1] + area: 1.0 + primitive_estimations: dummy_table + - name: system_top_level.mac[1..8] + area: 1726.5 + primitive_estimations: + - name: adder + estimator: Library + - name: multiplier + estimator: Library diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.ERT.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.ERT.yaml new file mode 100644 index 00000000..0ff64242 --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.ERT.yaml @@ -0,0 +1,52 @@ +ERT: + version: '0.4' + tables: + - name: system_top_level.DRAM[1..1] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.0 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 512.0 + - name: system_top_level.buffer[1..1] + actions: + - name: leak + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 0.000271 + - name: read + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 9.65335 + - name: update + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 12.6203 + - name: write + arguments: + global_cycle_seconds: 1e-09 + action_latency_cycles: 1 + energy: 12.6203 + - name: system_top_level.mac[1..8] + actions: + - name: compute + arguments: {} + energy: 3.275 diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.ERT_summary.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.ERT_summary.yaml new file mode 100644 index 00000000..07e6d99f --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.ERT_summary.yaml @@ -0,0 +1,38 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_top_level.DRAM[1..1] + actions: + - name: leak + energy: 0.0 + - name: read + energy: 512.0 + - name: update + energy: 512.0 + - name: write + energy: 512.0 + primitive_estimation(s): + - name: system_top_level.DRAM[1..1] + estimator: CactiDRAM + - name: system_top_level.buffer[1..1] + actions: + - name: leak + energy: 0.000271 + - name: read + energy: 9.65335 + - name: update + energy: 12.6203 + - name: write + energy: 12.6203 + primitive_estimation(s): + - name: system_top_level.buffer[1..1] + estimator: CactiSRAM + - name: system_top_level.mac[1..8] + actions: + - name: compute + energy: 3.275 + primitive_estimation(s): + - name: adder + estimator: Library + - name: multiplier + estimator: Library diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.accelergy.log b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.accelergy.log new file mode 100644 index 00000000..a3c864b2 --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.accelergy.log @@ -0,0 +1,216 @@ +2024-05-29 17:03:09 INFO _ _ +2024-05-29 17:03:09 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-05-29 17:03:09 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-05-29 17:03:09 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-05-29 17:03:09 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-05-29 17:03:09 INFO |___/ |___/ +2024-05-29 17:03:09 INFO generating outputs according to the following specified output flags... +2024-05-29 17:03:09 INFO Please use the -f flag to update the preference (default to all output files) +2024-05-29 17:03:09 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-05-29 17:03:09 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-05-29 17:03:09 INFO config file located: +2024-05-29 17:03:09 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-05-29 17:03:09 WARNING File /home/tanner/.config/accelergy/accelergy_config.yaml is outdated. File version is 0.3, while the latest version is 0.4. +2024-05-29 17:03:09 WARNING Please update the file to the latest version. +2024-05-29 17:03:09 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/parsed-processed-input.yaml for architecture info +2024-05-29 17:03:09 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/parsed-processed-input.yaml for compound_components info +2024-05-29 17:03:09 INFO Adding required action "leak" to class DRAM +2024-05-29 17:03:09 INFO Adding required action "read" to class DRAM +2024-05-29 17:03:09 INFO Adding required action "update" to class DRAM +2024-05-29 17:03:09 INFO Adding required action "write" to class DRAM +2024-05-29 17:03:09 INFO Adding required action "leak" to class SRAM +2024-05-29 17:03:09 INFO Adding required action "read" to class SRAM +2024-05-29 17:03:09 INFO Adding required action "update" to class SRAM +2024-05-29 17:03:09 INFO Adding required action "write" to class SRAM +2024-05-29 17:03:09 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-05-29 17:03:09 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-05-29 17:03:09 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-05-29 17:03:09 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-05-29 17:03:09 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-05-29 17:03:09 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-05-29 17:03:09 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-05-29 17:03:09 INFO Getting all estimators in module +2024-05-29 17:03:09 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-05-29 17:03:09 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-05-29 17:03:09 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-05-29 17:03:09 INFO Found estimator plug-in: DEPRECATED table-based-plug-ins. Use the Library plug-in instead. () +2024-05-29 17:03:09 INFO Found estimator plug-in: Aladdin_table () +2024-05-29 17:03:09 INFO Found estimator plug-in: dummy_table () +2024-05-29 17:03:09 INFO Found estimator plug-in: Neurosim Plug-In () +2024-05-29 17:03:09 INFO Found estimator plug-in: Library () +2024-05-29 17:03:09 INFO Found estimator plug-in: ADC Plug-In () +2024-05-29 17:03:09 INFO Found estimator plug-in: CactiCache () +2024-05-29 17:03:09 INFO Found estimator plug-in: CactiDRAM () +2024-05-29 17:03:09 INFO Found estimator plug-in: CactiSRAM () +2024-05-29 17:03:09 INFO Calculated adder."width" as "adder_width" = 16. +2024-05-29 17:03:09 INFO Calculated multiplier."width" as "multiplier_width" = 8. +2024-05-29 17:03:09 INFO +2024-05-29 17:03:09 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:09 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 17:03:09 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 17:03:09 INFO | Unused arguments (action_latency_cycles) provided for DRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 17:03:09 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:09 INFO +2024-05-29 17:03:09 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:09 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 17:03:09 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 17:03:09 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.read. Arguments used: () +2024-05-29 17:03:09 INFO +2024-05-29 17:03:09 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:09 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 17:03:09 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 17:03:09 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.update. Arguments used: () +2024-05-29 17:03:09 INFO +2024-05-29 17:03:09 INFO ENERGY ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:09 INFO CactiDRAM estimated 5.12e-10 with accuracy 80%. Messages: +2024-05-29 17:03:09 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 17:03:09 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for DRAM.write. Arguments used: () +2024-05-29 17:03:09 INFO +2024-05-29 17:03:09 INFO ENERGY ESTIMATION for SRAM(depth=512, width=128, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).leak(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:09 INFO CactiSRAM estimated 2.71132e-16 with accuracy 80%. Messages: +2024-05-29 17:03:09 INFO | Unused arguments (datawidth, has_power_gating, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (depth, width, n_banks, technology) +2024-05-29 17:03:09 INFO | Unused arguments (action_latency_cycles) provided for SRAM.leak. Arguments used: (global_cycle_seconds) +2024-05-29 17:03:09 INFO | Calling CACTI with cache_size=8192 n_rw_ports=1 block_size=16 tech_node_um=0.045 n_banks=2 tag_size=0 associativity=1 +2024-05-29 17:03:09 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpo2tdnz34 +2024-05-29 17:03:09 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpurnwcfo0 +2024-05-29 17:03:09 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:09 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpo2tdnz34 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpurnwcfo0 2>&1 +2024-05-29 17:03:09 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 17:03:09 INFO | Cache bandwidth: 331.75576555234744 bits/second +2024-05-29 17:03:09 INFO | Global cycle time 1e-09 is less than the cache's random cycle time 0.771652 +2024-05-29 17:03:09 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:09 INFO +2024-05-29 17:03:09 INFO ENERGY ESTIMATION for SRAM(depth=512, width=128, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).read(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:09 INFO CactiSRAM estimated 9.65335e-12 with accuracy 80%. Messages: +2024-05-29 17:03:09 INFO | Unused arguments (datawidth, has_power_gating, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (depth, width, n_banks, technology) +2024-05-29 17:03:09 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for SRAM.read. Arguments used: () +2024-05-29 17:03:09 INFO | Calling CACTI with cache_size=8192 n_rw_ports=1 block_size=16 tech_node_um=0.045 n_banks=2 tag_size=0 associativity=1 +2024-05-29 17:03:09 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpt8ihkeq_ +2024-05-29 17:03:09 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp150ng5d1 +2024-05-29 17:03:09 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:09 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpt8ihkeq_ >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp150ng5d1 2>&1 +2024-05-29 17:03:09 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 17:03:09 INFO | Cache bandwidth: 331.75576555234744 bits/second +2024-05-29 17:03:09 INFO +2024-05-29 17:03:09 INFO ENERGY ESTIMATION for SRAM(depth=512, width=128, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).update(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:09 INFO CactiSRAM estimated 1.26203e-11 with accuracy 80%. Messages: +2024-05-29 17:03:09 INFO | Unused arguments (datawidth, has_power_gating, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (depth, width, n_banks, technology) +2024-05-29 17:03:09 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for SRAM.update. Arguments used: () +2024-05-29 17:03:09 INFO | Calling CACTI with cache_size=8192 n_rw_ports=1 block_size=16 tech_node_um=0.045 n_banks=2 tag_size=0 associativity=1 +2024-05-29 17:03:09 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmprynadnuc +2024-05-29 17:03:09 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpzmtidaok +2024-05-29 17:03:09 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:09 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmprynadnuc >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpzmtidaok 2>&1 +2024-05-29 17:03:09 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 17:03:09 INFO | Cache bandwidth: 331.75576555234744 bits/second +2024-05-29 17:03:09 INFO +2024-05-29 17:03:09 INFO ENERGY ESTIMATION for SRAM(depth=512, width=128, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1).write(global_cycle_seconds=1e-09, action_latency_cycles=1) +2024-05-29 17:03:09 INFO CactiSRAM estimated 1.26203e-11 with accuracy 80%. Messages: +2024-05-29 17:03:09 INFO | Unused arguments (datawidth, has_power_gating, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (depth, width, n_banks, technology) +2024-05-29 17:03:09 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles) provided for SRAM.write. Arguments used: () +2024-05-29 17:03:09 INFO | Calling CACTI with cache_size=8192 n_rw_ports=1 block_size=16 tech_node_um=0.045 n_banks=2 tag_size=0 associativity=1 +2024-05-29 17:03:09 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmparut6pti +2024-05-29 17:03:09 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6tz_kuw4 +2024-05-29 17:03:09 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:09 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmparut6pti >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp6tz_kuw4 2>&1 +2024-05-29 17:03:09 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 17:03:09 INFO | Cache bandwidth: 331.75576555234744 bits/second +2024-05-29 17:03:09 INFO +2024-05-29 17:03:09 INFO ENERGY ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).add(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:09 INFO Library estimated 0.105p with accuracy 90%. Messages: +2024-05-29 17:03:09 INFO | Found 1 entries for aladdin_adder.add. +2024-05-29 17:03:09 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | value=0.21, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_adder energy has been scaled 0.5x'] +2024-05-29 17:03:09 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | Scaling width from 32 to 16 +2024-05-29 17:03:09 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:09 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x energy +2024-05-29 17:03:09 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:09 INFO | aladdin_adder energy has been scaled 0.5x +2024-05-29 17:03:09 INFO +2024-05-29 17:03:09 INFO ENERGY ESTIMATION for aladdin_multiplier(width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1).multiply(global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:09 INFO Library estimated 3.17p with accuracy 90%. Messages: +2024-05-29 17:03:09 INFO | Found 1 entries for aladdin_multiplier.multiply. +2024-05-29 17:03:09 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'multiply', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | value=12.68, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x energy', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x energy', 'aladdin_multiplier energy has been scaled 0.25x'] +2024-05-29 17:03:09 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'multiply', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | Scaling width from 32 to 8 +2024-05-29 17:03:09 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:09 INFO | Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x energy +2024-05-29 17:03:09 INFO | Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x energy +2024-05-29 17:03:09 INFO | aladdin_multiplier energy has been scaled 0.25x +2024-05-29 17:03:09 WARNING No action counts are specified as yaml input +2024-05-29 17:03:09 INFO +2024-05-29 17:03:09 INFO AREA ESTIMATION for DRAM(type=LPDDR4, width=64, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 17:03:09 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-05-29 17:03:09 INFO | Unused arguments (datawidth, has_power_gating, n_banks, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, technology, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for DRAM.__init__. Arguments used: (type, width) +2024-05-29 17:03:09 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:09 INFO +2024-05-29 17:03:09 INFO AREA ESTIMATION for SRAM(depth=512, width=128, datawidth=8, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, technology=45nm, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 17:03:09 INFO CactiSRAM estimated 4.36084e-08 with accuracy 80%. Messages: +2024-05-29 17:03:09 INFO | Unused arguments (datawidth, has_power_gating, cluster_size, reduction_supported, multiple_buffering, min_utilization, allow_overbooking, meshX, meshY, version, global_cycle_seconds, DATAWIDTH, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (depth, width, n_banks, technology) +2024-05-29 17:03:09 INFO | Calling CACTI with cache_size=8192 n_rw_ports=1 block_size=16 tech_node_um=0.045 n_banks=2 tag_size=0 associativity=1 +2024-05-29 17:03:09 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpf5mn1atb +2024-05-29 17:03:09 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_ksoeemq +2024-05-29 17:03:09 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-05-29 17:03:09 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpf5mn1atb >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmp_ksoeemq 2>&1 +2024-05-29 17:03:09 INFO | Cache bandwidth: 32.0 bits/cycle +2024-05-29 17:03:09 INFO | Cache bandwidth: 331.75576555234744 bits/second +2024-05-29 17:03:09 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:09 INFO +2024-05-29 17:03:09 INFO AREA ESTIMATION for dummy_storage(width=1, depth=1, datawidth=1, technology=-1, has_power_gating=False, n_banks=2, cluster_size=1, reduction_supported=True, multiple_buffering=1, min_utilization=0, allow_overbooking=False, meshX=1, meshY=1, version=0.4, global_cycle_seconds=1e-09, DATAWIDTH=8, action_latency_cycles=1, cycle_seconds=1e-09, n_instances=1) +2024-05-29 17:03:09 INFO dummy_table estimated 1u^2 with accuracy 100%. Messages: +2024-05-29 17:03:09 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:09 INFO +2024-05-29 17:03:09 INFO AREA ESTIMATION for aladdin_adder(width=16, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:09 INFO Library estimated 139.0u^2 with accuracy 90%. Messages: +2024-05-29 17:03:09 INFO | Found 5 entries for aladdin_adder. +2024-05-29 17:03:09 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:09 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'read', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:09 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.0024', 'area': '2.78E+02', 'action': 'leak', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:09 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'update', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:09 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0', 'area': '2.78E+02', 'action': 'write', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | value=278.0, matching_attrs=3, log=['Scaling width from 32 to 16', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area', 'Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_adder area has been scaled 0.5x'] +2024-05-29 17:03:09 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'energy': '0.21', 'area': '2.78E+02', 'action': 'add', 'name': 'aladdin_adder', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | Scaling width from 32 to 16 +2024-05-29 17:03:09 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:09 INFO | Scaled aladdin_adder.width from 32.0 to 16.0: 0.5x area +2024-05-29 17:03:09 INFO | Scaled aladdin_adder.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:09 INFO | aladdin_adder area has been scaled 0.5x +2024-05-29 17:03:09 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:09 INFO +2024-05-29 17:03:09 INFO AREA ESTIMATION for aladdin_multiplier(width=8, global_cycle_seconds=1e-09, action_latency_cycles=1, cycle_seconds=1e-09, technology=45nm, n_instances=1) +2024-05-29 17:03:09 INFO Library estimated 1587.5u^2 with accuracy 90%. Messages: +2024-05-29 17:03:09 INFO | Found 5 entries for aladdin_multiplier. +2024-05-29 17:03:09 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'multiply', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_multiplier area has been scaled 0.25x'] +2024-05-29 17:03:09 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'read', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_multiplier area has been scaled 0.25x'] +2024-05-29 17:03:09 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '0.08', 'area(um^2)': '6350', 'action': 'leak', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_multiplier area has been scaled 0.25x'] +2024-05-29 17:03:09 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '0', 'area(um^2)': '6350', 'action': 'update', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_multiplier area has been scaled 0.25x'] +2024-05-29 17:03:09 INFO | Checking entry "{'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '0', 'area(um^2)': '6350', 'action': 'write', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | value=6350.0, matching_attrs=3, log=['Scaling width from 32 to 8', 'Scaling global_cycle_seconds from 1e-9 to 1e-09', 'Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area', 'Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area', 'aladdin_multiplier area has been scaled 0.25x'] +2024-05-29 17:03:09 INFO | Best-matching entry: {'technology': '45nm', 'global_cycle_seconds': '1e-9', 'width|datawidth': '32', 'width_a|datawidth_a': '32', 'width_b|datawidth_b': '32', 'energy(pJ)': '12.68', 'area(um^2)': '6350', 'action': 'multiply', 'name': 'aladdin_multiplier', 'area_scale': 1, 'energy_scale': 1, 'n_instances': 1} +2024-05-29 17:03:09 INFO | Scaling width from 32 to 8 +2024-05-29 17:03:09 INFO | Scaling global_cycle_seconds from 1e-9 to 1e-09 +2024-05-29 17:03:09 INFO | Scaled aladdin_multiplier.width from 32.0 to 8.0: 0.25x area +2024-05-29 17:03:09 INFO | Scaled aladdin_multiplier.global_cycle_seconds from 1e-09 to 1e-09: 1x area +2024-05-29 17:03:09 INFO | aladdin_multiplier area has been scaled 0.25x +2024-05-29 17:03:09 INFO | Multiplying by n_instances 1 +2024-05-29 17:03:09 INFO flattened architecture is saved to: +2024-05-29 17:03:09 INFO ./timeloop-mapper.flattened_architecture.yaml +2024-05-29 17:03:09 INFO energy reference table is saved to: +2024-05-29 17:03:09 INFO ./timeloop-mapper.ERT.yaml +2024-05-29 17:03:09 INFO energy reference table summary is saved to: +2024-05-29 17:03:09 INFO ./timeloop-mapper.ERT_summary.yaml +2024-05-29 17:03:09 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-05-29 17:03:09 INFO area reference table is saved to: +2024-05-29 17:03:09 INFO ./timeloop-mapper.ART.yaml +2024-05-29 17:03:09 INFO area reference table summary is saved to: +2024-05-29 17:03:09 INFO ./timeloop-mapper.ART_summary.yaml diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.flattened_architecture.yaml b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.flattened_architecture.yaml new file mode 100644 index 00000000..7d6151c6 --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.flattened_architecture.yaml @@ -0,0 +1,104 @@ +architecture: + version: '0.4' + local: + - name: system_top_level.DRAM[1..1] + class: DRAM + attributes: + type: "LPDDR4" + width: 64 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-09 + DATAWIDTH: 8 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - read + - update + - write + enabled: true + - name: system_top_level.buffer[1..1] + class: SRAM + attributes: + depth: 512 + width: 128 + datawidth: 8 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-09 + DATAWIDTH: 8 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - leak + - read + - update + - write + enabled: true + - name: system_top_level.inter_PE_spatial[1..1] + class: dummy_storage + attributes: + width: 1 + depth: 1 + datawidth: 1 + technology: -1 + has_power_gating: false + n_banks: 2 + cluster_size: 1 + reduction_supported: true + multiple_buffering: 1 + min_utilization: 0 + allow_overbooking: false + meshX: 1 + meshY: 1 + power_gated_at: null + version: '0.4' + global_cycle_seconds: 1e-09 + DATAWIDTH: 8 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + enabled: true + - name: system_top_level.mac[1..8] + class: intmac + attributes: + multiplier_width: 8 + adder_width: 16 + has_power_gating: false + meshX: 8 + meshY: 1 + power_gated_at: null + version: '0.4' + technology: "45nm" + global_cycle_seconds: 1e-09 + DATAWIDTH: 8 + action_latency_cycles: 1 + cycle_seconds: 1e-09 + n_instances: 1 + required_actions: + - compute + enabled: true diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.map.tenssella.txt b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.map.tenssella.txt new file mode 100644 index 00000000..2e39275b --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.map.tenssella.txt @@ -0,0 +1,16 @@ +t2 +C 2 M 2 R 1 S 1 N 32 P 128 Q 4 G 1 +PQMNC +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +#error Tenssella does not support bypass. +t1 +C 64 M 8 R 1 S 1 N 1 P 1 Q 32 G 1 +MQC +t0 +C 1 M 1 R 1 S 1 N 1 P 1 Q 1 G 1 +G +s0 +C 1 M 8 R 1 S 1 N 1 P 1 Q 1 G 1 +M +8 diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.oaves.csv b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/outputs/timeloop-mapper.oaves.csv new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/top.yaml.jinja b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/top.yaml.jinja new file mode 100644 index 00000000..a6f7bedc --- /dev/null +++ b/workspace/tutorial_exercises/02_interface_and_design_space_exploration_2024/top.yaml.jinja @@ -0,0 +1,9 @@ +# This file will be converted into a YAML file by Jinja2 templating. +{{add_to_path(cwd() ~ '/inputs')}} + +# Grab the necessary top keys from each file and put them here +architecture: {{include('arch.yaml', 'architecture')}} +components: {{include('components.yaml', 'components')}} +variables: {{include('variables.yaml', 'variables')}} +mapper: {{include('mapper.yaml', 'mapper')}} +problem: {{include(problem|default('problem.yaml'), 'problem')}} diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/.gitkeep b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/README.md b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/README.md new file mode 100644 index 00000000..796f3c6c --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/README.md @@ -0,0 +1 @@ +## Please navigate to `notebooks` to try out exercises \ No newline at end of file diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/.gitkeep b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/00.1-background-fibertree.ipynb b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/00.1-background-fibertree.ipynb new file mode 100644 index 00000000..8c2da61f --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/00.1-background-fibertree.ipynb @@ -0,0 +1,184 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "-" + } + }, + "source": [ + "# Sparseloop Tutorial - 00 - Background\n", + "\n", + "The notebooks with names \"\\.1-\\-fibertree\" contain a series of examples of various computations using the **fibertree** emulator to illustrate the impact of a set of optimizations to exploit sparsity. \n", + "\n", + "To initialize the fibertree environment some setup is required using the incantation in the following cell:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "slideshow": { + "slide_type": "-" + } + }, + "outputs": [], + "source": [ + "# Run boilerplate code to set up environment\n", + "\n", + "%run ./prelude.py --style=tree --animation=movie" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Einsum notation\n", + "\n", + "The computations in there notebooks will generally be characterized by an Einsum-style expression. For example the Einsum for matrix multiply is:\n", + "\n", + "$$ A_{m,n} = A_{m,k} \\times B_{k,n} $$\n", + " \n", + "In an Einsum the capital letters represent the **tensors** in the computation and their subscripts (**indices**) indicate the ranks of the tensor. Indices that appear in variables on both the left (output) and right (input) side of the expression mean that a output will be created for each valid values for those indices and that output will be based on the corresponding inputs with the same index values. The ranks associated with such indices are referred to as **uncontracted** dimensions. Indices that only appear on the right imply that there is a reduction across all the values of that index. The ranks associated with such indices are referred to as **contracted** dimensions. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Coding conventions\n", + "\n", + "These fibertree-based notebooks usually following the following naming convention:\n", + "\n", + "- Rank names (or **ids**) will be an uppercase letter string, e.g., \"K\"\n", + "- Variables holding the **shape** of a fiber in a rank will be an uppercase letter matching the name of the rank, e.g., `K`\n", + "- Variables holding a **coordinate** in a fiber of a rank will be a lowercase letter matching the name of the rank, e.g., `k`\n", + "- Variables holding a **tensor** will be uppercase letters with the name of the tensor followed by an underscore (_) and the names of its ranks in uppercase, e.g., \"A_MK\"\n", + "- Variables holding a **fiber** of a rank will be lowercase letters with the name of the tensor followed by an underscore (_) and the name of the fiber's rank in lowercase, .e.g., \"a_m\"." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Creating Tensors\n", + "\n", + "The fibertree language allows one to set up Jupyter controls using the `TensorMaker()` class to dynamically set attributes of a randomly populated tensor. The attributes that can be set are:\n", + "\n", + "- name - the name of the tensor\n", + "- rank_ids - a list of names of the ranks in the tensor in order from top to bottom\n", + "- shape - a list of **shapes** of the fibers in each rank\n", + "- interval - the top of the interval starting at 0 of legal values from elements of the tensor\n", + "- density - the uniform density for values of elements of tensor being non-zero\n", + "- color - a color to use when displaying the tensor\n", + "- seed - a random number seed used when creating the tensor\n", + "\n", + "When declaring a tensor the `name` and `rank_ids` parameters are required but default values can be set for all the other attributes using keyword parameters to the `TensorMaker.addTensor()` method.\n", + "\n", + "The cell below declares a rank-1 and a rank-2 tensor." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#\n", + "# Set default tensor attributes (i.e., the shape of the tensors)\n", + "#\n", + "L = 10\n", + "N = 5\n", + "\n", + "#\n", + "# Create controls to configure the `A` and `B` tensors\n", + "#\n", + "tm = TensorMaker(\"sparseloop-background\")\n", + "\n", + "tm.addTensor(\"A\", rank_ids=[\"L\"], shape=[L], density=0.4, color=\"blue\")\n", + "tm.addTensor(\"B\", rank_ids=[\"N\", \"L\"], shape=[N, L], density=0.2, color=\"green\")\n", + "\n", + "tm.displayControls()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create and display the tensors\n", + "\n", + "The tensors `A` and `B` declared above can be instantiated using the `TensorMaker.makeTensor()` method and displayed using the `displayTensor()` method.\n", + "\n", + "In the diagrams the tree begins with a root (black diamond). Below the root, the **ranks** are visible as labeled levels in the tree, and each rank consists of one or more **fibers** (grey ovals). Each fiber contains a set of **coordinates** (numbers in brown circles) and each coordinate is assocaited with a **payload** that is either another fiber at the next rank or a leaf **value** (box colored as specified in the control boxes above).\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "#\n", + "# Create instances of the tensors\n", + "#\n", + "\n", + "A_K = tm.makeTensor(\"A\")\n", + "B_K = tm.makeTensor(\"B\")\n", + "\n", + "#\n", + "# Display the tensors\n", + "#\n", + "displayTensor(A_K)\n", + "displayTensor(B_K)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Testing area\n", + "\n", + "For running alternative algorithms" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/01.1-dotproduct-fibertree.ipynb b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/01.1-dotproduct-fibertree.ipynb new file mode 100644 index 00000000..cf8d165f --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/01.1-dotproduct-fibertree.ipynb @@ -0,0 +1,473 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "-" + } + }, + "source": [ + "# Sparseloop Tutorial - 01 - Dot Product\n", + "\n", + "This notebook contains a series of examples of a **dot product** computation, i.e., a reduction of the element-wise products of all the elements of the inputs. The **fibertree** emulator is used to illustrate the impact of a set of optimizations to exploit sparsity. The basic computation is represented by the Einsum:\n", + "\n", + "$$ Z_m = A_k \\times B_k $$\n", + "\n", + "Note that while the output is nominally a scalar, for consistency with the **Timeloop** tool the output implemented as a 1-D tensor. However, that tensor contains only a single element.\n", + "\n", + "First, include some libraries" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "slideshow": { + "slide_type": "-" + } + }, + "outputs": [], + "source": [ + "# Run boilerplate code to set up environment\n", + "\n", + "%run ./prelude.py --style=tree --animation=movie" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Configure two rank-1 input tensors\n", + "\n", + "The following cell sets up the control sliders to specify the attributes of the `A` and `B` input tensors. Those attributes include their **shape**, which specifies the allowable range of **coordinates** of elements of the tensor and their **density**.\n", + "\n", + "The rank names use the following convention:\n", + "\n", + "- K - contracted dimension shared by `A` and `B`\n", + "- M - dummy rank for output `Z`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#\n", + "# Set default problem instance attributes (i.e., the shape of the tensors)\n", + "#\n", + "K = 10\n", + "M = 1\n", + "\n", + "#\n", + "# Create controls to configure the `A` and `B` tensors\n", + "#\n", + "tm = TensorMaker(\"sparseloop-dot-product\")\n", + "\n", + "tm.addTensor(\"A\", rank_ids=[\"K\"], shape=[K], density=0.4, color=\"blue\")\n", + "tm.addTensor(\"B\", rank_ids=[\"K\"], shape=[K], density=1.0, color=\"green\")\n", + "\n", + "tm.displayControls()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create and display the tensors\n", + "\n", + "Create the `A` and `B` tensors based on the current settings of the configuration sliders above and display the resulting tensors. These tensors are represented in the **fibertree** tensor abstraction, where for sparse fibers only the **elements** (**coordinate**/**payload** tuples) in a fiber with **non-empty** (non-zero) payloads need be shown. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "A_K = tm.makeTensor(\"A\")\n", + "B_K = tm.makeTensor(\"B\")\n", + "\n", + "displayTensor(A_K)\n", + "displayTensor(B_K)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Dot product - A, B uncompressed\n", + "\n", + "The following code sequence corresponds to an implementation of dot product where the hardware must read every **coordinate** of each input tensor and reduces the element-wise products of those values into the output irrespective of whether any **payload** value is zero. This corresponds to the totally unoptimized case.\n", + "\n", + "Notes:\n", + "\n", + "- The code below uses the `Fiber.getPayload()` method to obtain a **payload** value by **coordinate**. For `A` and `B` in an **uncompressed** format this is a cheap direct access because the **coordinate** equals the **position** of the value, but the operation could be much more expensive for other formats.\n", + "\n", + "- To force a useful visualization of the traversal of the `A` tensor it's **empty** coordinates are filled with zeros using the `uncompressTensor()` method.\n", + "\n", + "- The code below assumes that the output tensor `Z` is in an uncompressed format. Again this is facilitated with the `uncompressTensor()` method and allows updates to be performed with direct indexing into the output tensor by **coordinate** (again because for uncompressed formats the **coordinate** and **position** are equal).\n", + "\n", + "Observations:\n", + "\n", + "- The computation takes `K` cycles irrespective of the sparsity of the the input tensors.\n", + "\n", + "- The hardware reads a value from both tensors irrespective of whether a **payload** value in `A` is zero." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "#\n", + "# Create the input/output tensors\n", + "#\n", + "K = getShape(tm, \"K\")\n", + "M = 1\n", + "\n", + "A_K = tm.makeTensor(\"A\")\n", + "B_K = tm.makeTensor(\"B\")\n", + "Z_M = Tensor(name=\"Z\", rank_ids=[\"M\"], shape=[M])\n", + "\n", + "uncompressTensor(A_K)\n", + "uncompressTensor(Z_M)\n", + "\n", + "#\n", + "# Display the input tensors\n", + "#\n", + "print(\"Problem instance:\")\n", + "print(f\"K: {K}\")\n", + "print(f\"M: {M}\")\n", + "print(\"\")\n", + "\n", + "print(\"Input tensor A\")\n", + "displayTensor(A_K)\n", + "print(\"Input tensor B\")\n", + "displayTensor(B_K)\n", + "print(\"Output tensor Z (intial)\")\n", + "displayTensor(Z_M)\n", + "\n", + "#\n", + "# Get the root fibers of each tensor\n", + "#\n", + "a_k = A_K.getRoot()\n", + "b_k = B_K.getRoot()\n", + "z_m = Z_M.getRoot()\n", + "\n", + "#\n", + "# Animation bookkeeping\n", + "#\n", + "canvas = createCanvas(A_K, B_K, Z_M)\n", + "\n", + "#\n", + "# Traverse all `M` coordinates of the output tensor\n", + "#\n", + "for m in range(M):\n", + "\n", + " #\n", + " # Traverse all `K` coordinates of the input tensors\n", + " #\n", + " for k in range(K):\n", + " #\n", + " # Get the values of `A` and `B` at coordinate `k`\n", + " #\n", + " a_val = a_k.getPayload(k)\n", + " b_val = b_k.getPayload(k)\n", + " \n", + " #\n", + " # Do the dot product multiplication and reduction\n", + " #\n", + " z_m[m] += a_val * b_val\n", + " \n", + " #\n", + " # Animation bookkeeping\n", + " #\n", + " canvas.addActivity([(k,)], [(k,)], [(m,)],\n", + " spacetime=(0, k))\n", + " \n", + " \n", + "#\n", + "# Display results\n", + "#\n", + "print(\"Output tensor Z (final)\")\n", + "displayTensor(Z_M)\n", + "\n", + "displayCanvas(canvas)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Dot Product - Gating Unneeded Reads\n", + "\n", + "The following code sequence corresponds to an implementation of dot product where the hardware must read every **coordinate** of the input tensor `A` but then **gates** the read of `B` and computation when the **payload** value of an element of tensor `A` is zero. This corresponds to the case where `B` is gated on `A`.\n", + "\n", + "Notes:\n", + "\n", + "- The code below again uses the `Fiber.getPayload()` method to obtain a **payload** value by **coordinate** for both the `A` and `B` tensors. \n", + "\n", + "- The cost of the reference to `A` may vary based on whether the specific format needs to do an access for **coordinates** with zero values.\n", + "\n", + "- As in the case above, the code in this cell assumes that the output tensor `Z` is in an uncompressed format.\n", + "\n", + "Observations:\n", + "\n", + "- The computation takes `K` cycles irrespective of the sparsity of the the input tensors\n", + "\n", + "- The hardware saves reads of data and computation when the **payload** value of `A` is zero." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "#\n", + "# Create the input/output tensors\n", + "#\n", + "K = getShape(tm, \"K\")\n", + "M = 1\n", + "\n", + "A_K = tm.makeTensor(\"A\")\n", + "B_K = tm.makeTensor(\"B\")\n", + "Z_M = Tensor(name=\"Z\", rank_ids=[\"M\"], shape=[M])\n", + "\n", + "uncompressTensor(A_K)\n", + "uncompressTensor(Z_M)\n", + "\n", + "#\n", + "# Display the input tensors\n", + "#\n", + "print(\"Problem instance:\")\n", + "print(f\"K: {K}\")\n", + "print(f\"M: {M}\")\n", + "print(\"\")\n", + "\n", + "print(\"Input A\")\n", + "displayTensor(A_K)\n", + "print(\"Input B\")\n", + "displayTensor(B_K)\n", + "print(\"Output Z (initial)\")\n", + "displayTensor(Z_M)\n", + "\n", + "#\n", + "# Get the root fibers of each tensor\n", + "#\n", + "a_k = A_K.getRoot()\n", + "b_k = B_K.getRoot()\n", + "z_m = Z_M.getRoot()\n", + "\n", + "#\n", + "# Animation bookkeeping\n", + "#\n", + "canvas = createCanvas(A_K, B_K, Z_M)\n", + "\n", + "#\n", + "# Traverse the single element of the output shape\n", + "#\n", + "for m in range(M):\n", + " #\n", + " # Traverse all `K` coordinates of the input tensor `A`\n", + " #\n", + " for k in range(K):\n", + " #\n", + " # Get the value of `A` at coordinate `k`\n", + " #\n", + " a_val = a_k.getPayload(k)\n", + " \n", + " #\n", + " # Gate the access to the value of `B`\n", + " # and computation based on the value of `A`\n", + " #\n", + " if a_val != 0:\n", + " b_val = b_k.getPayload(k)\n", + "\n", + " z_m[m] += a_val * b_val\n", + "\n", + " #\n", + " # Animation bookkeeping\n", + " #\n", + " if a_val == 0:\n", + " B_activity = []\n", + " Z_activity = []\n", + " else:\n", + " B_activity = [(k,)]\n", + " Z_activity = [(m,)]\n", + " \n", + " canvas.addActivity([(k,)], B_activity, Z_activity,\n", + " spacetime=(0, k))\n", + " \n", + "\n", + "#\n", + "# Display results\n", + "#\n", + "print(\"Output tensor Z (final)\")\n", + "displayTensor(Z_M)\n", + "\n", + "displayCanvas(canvas)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Dot Product - Skipping \"empty\" coordinates in A\n", + "\n", + "The following code sequence corresponds to an implementation of dot product where the hardware can traverse just the **non-empty** elements of the input tensor `A` and then only accesses the elements of `B` for the **coordinates** of those **non-empty** elements of `A`. This corresponds to the case where there is **skipping** of elements of `A`.\n", + "\n", + "Notes:\n", + "\n", + "- The code below uses the default `Fiber` iterator to obtain the **coordinates** and **payloads** of the **non-empty** elements of tensor `A`. \n", + "\n", + "- The cost of the reference to `B` using `Fiber.getPayload()` will vary based on the cost of finding a **payload** by **coordinates** for the specific format used for `B`.\n", + "\n", + "- As in the case above, the code in this cell assumes that the output tensor `Z` is in an uncompressed format.\n", + "\n", + "Observations:\n", + "\n", + "- The computation takes a number of cycles (and does reads and computes) proportional to the number of **non-empty** elements in `A`, i.e., `A`'s **occupancy**.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "#\n", + "# Create the input/output tensors\n", + "#\n", + "K = getShape(tm, \"K\")\n", + "M = 1\n", + "\n", + "A_K = tm.makeTensor(\"A\")\n", + "B_K = tm.makeTensor(\"B\")\n", + "Z_M = Tensor(name=\"Z\", rank_ids=[\"M\"], shape=[M])\n", + "\n", + "uncompressTensor(Z_M)\n", + "\n", + "#\n", + "# Display the input tensors\n", + "#\n", + "print(\"Problem instance:\")\n", + "print(f\"K: {K}\")\n", + "print(f\"M: {M}\")\n", + "print(\"\")\n", + "\n", + "print(\"Input A\")\n", + "displayTensor(A_K)\n", + "print(\"Input B\")\n", + "displayTensor(B_K)\n", + "print(\"Output Z (initial)\")\n", + "displayTensor(Z_M)\n", + "\n", + "#\n", + "# Get the root fibers of each tensor\n", + "#\n", + "a_k = A_K.getRoot()\n", + "b_k = B_K.getRoot()\n", + "z_m = Z_M.getRoot()\n", + "\n", + "\n", + "#\n", + "# Animation bookkeeping\n", + "#\n", + "canvas = createCanvas(A_K, B_K, Z_M)\n", + "\n", + "#\n", + "# Traverse the single element of the output shape\n", + "#\n", + "for m in range(M):\n", + " #\n", + " # Traverse non-empty elements of the tensor `A`\n", + " #\n", + " for k, a_val in a_k:\n", + " #\n", + " # Get value of `B` at non-zero coordinates of `A`\n", + " # and then do compute\n", + " #\n", + " b_val = b_k.getPayload(k)\n", + "\n", + " z_m[m] += a_val * b_val\n", + "\n", + " #\n", + " # Animation bookkeeping\n", + " #\n", + " canvas.addActivity([(k,)], [(k,)], [(m,)],\n", + " spacetime=(0, k))\n", + "\n", + "#\n", + "# Display results\n", + "#\n", + "print(\"Output tensor Z (final)\")\n", + "displayTensor(Z_M)\n", + "\n", + "displayCanvas(canvas)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Testing area\n", + "\n", + "For running alternative algorithms" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/01.2-dotproduct-sparseloop.ipynb b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/01.2-dotproduct-sparseloop.ipynb new file mode 100644 index 00000000..21cee9f1 --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/01.2-dotproduct-sparseloop.ipynb @@ -0,0 +1,431 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Dot Product\n", + "\n", + "The following sequence of cells illustrate hardware processing of a dot product computation:\n", + "\n", + "$$ Z_{m} = A_{k} \\times B_{k} $$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"DUDU_setup\"\n", + "\n", + "## Exercise 01.2.1 Uncompressed Dense Vectors \n", + "\n", + "### Understanding the inputs: Problem Specification" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%set_env BASELINE_DIR=../../../example_designs\n", + "%set_env DESIGNS_DIR=../../../example_designs/example_designs/sparseloop\n", + "%set_env SCRIPTS_DIR=../scripts" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/01.2.1-DUDU-dot-product/ && cat problem.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding the inputs: Architecture Specification" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/01.2.1-DUDU-dot-product/\n", + "cat arch.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding the inputs: Mapping Specification" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/01.2.1-DUDU-dot-product/\n", + "cat mapping.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Run Example" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $BASELINE_DIR\n", + "python3 run_example_designs.py --architecture sparseloop/01.2.1-DUDU-dot-product" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Examine Important Stats: Storage Capacity & Accesses\n", + "Different access types\n", + " - fills: initial writes of the data (zero for 1 level storage, so not shown)\n", + " - reads: streaming out data\n", + " - updates: writebacks of the updated data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%set_env OUT_DIR=../../../example_designs/example_designs/sparseloop/01.2.1-DUDU-dot-product/outputs/default_problem" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "%%bash\n", + "export SCRIPT_PATH=$(realpath $SCRIPTS_DIR/01.2.1-DUDU-dot-product-buffer-stats.sh)\n", + "chmod +x $SCRIPT_PATH && cd $OUT_DIR && $SCRIPT_PATH" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Examine Important Stats: Computes" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "export SCRIPT_PATH=$(realpath $SCRIPTS_DIR/01.2.1-DUDU-dot-product-buffer-stats.sh)\n", + "chmod +x $SCRIPT_PATH && cd $OUT_DIR && $SCRIPT_PATH" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Examine Important Stats: Summary" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "export SCRIPT_PATH=$(realpath $SCRIPTS_DIR/01.2.1-DUDU-dot-product-summary-stats.sh)\n", + "chmod +x $SCRIPT_PATH && cd $OUT_DIR && $SCRIPT_PATH" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Sparse vector A\n", + "\n", + "\"SU_C_DU_setup\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exercise 01.2.2 Sparse Uncompressed A and Uncompressed Dense B\n", + "### Updated Inputs: Problem Specification Now Reflects Sparsity" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/01.2.2-SUDU-dot-product/ && grep \"instance:\" problem.yaml -A 10" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Run Example With All Other Inputs Stay the Same" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "# cd ../designs/01.2.2-SUDU-dot-product\n", + "# timeloop-model arch/*.yaml map/*.yaml prob/*.yaml -o output/no-optimization\n", + "export S\n", + "\n", + "cd $BASELINE_DIR\n", + "python3 run_example_designs.py --architecture sparseloop/01.2.2-SUDU-dot-product --remove-sparse-opts" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Examine Important Stats\n", + "\n", + "You should see **no changes** in runtime statistics. Although there are potential savings introduced by the A vector, with a default uncompressed representation and no sparse optimization applied, it is not possible to exploit such savings. Thus, the baseline architecture's behaviors will not change." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%set_env OUT_DIR=../../../example_designs/example_designs/sparseloop/01.2.2-SUDU-dot-product/outputs/default_problem" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "export SCRIPT_PATH=$(realpath $SCRIPTS_DIR/01.2.2-SUDU-dot-product-aggregated-stats.sh)\n", + "chmod +x $SCRIPT_PATH && cd $OUT_DIR && $SCRIPT_PATH\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "### Additional Input: Sparse Optimization Feature Specification To Enable Gating\n", + "- Goal: Perform gating on B and Z based on the payloads in A\n", + "\n", + "\"figures/01.2.2.SUDU_gating_setup.png\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "# sparse tensor instance\n", + "cd $DESIGNS_DIR/01.2.2-SUDU-dot-product/ && cat arch.yaml " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Run Example With Gating Applied" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $BASELINE_DIR\n", + "python3 run_example_designs.py --architecture sparseloop/01.2.2-SUDU-dot-product" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Examine Important Stats\n", + "\n", + "- `A`: no change, as A tensor is still represented in an uncompressed format and requires the same amount of storage capacity.\n", + "- `B`: reduced number of actual reads and **gated reads** counts show up.\n", + "- `Z`: reduced number of actual reads and actual updates, and **gated reads** && **gated updates** counts show up.\n", + "- `MAC`: reduced number of actual computes. As a result of `gating` on `B`, no operands are sent to `MAC` unit when `A` is empty (i.e., `NOT_EXIST` for both operands). So the number of computes reduced by 75%.\n", + "- lower utilization. The reduced number of computes make MAC stays idle for 75% of the cycles, during which there is still access to `A` stored in the `Buffer` (but no accesses to `B` and `Z`). \n", + "- total number of cycles no change.\n", + "- total energy reduced. Reduced number of accesses to `B` and `Z`, and reduced number of computes both save energy " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "export SCRIPT_PATH=$(realpath $SCRIPTS_DIR/01.2.2-SUDU-dot-product-aggregated-stats.sh)\n", + "chmod +x $SCRIPT_PATH && cd $OUT_DIR && $SCRIPT_PATH" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exercise 01.2.3 Sparse Compressed A and Dense Uncompressed B\n", + "\n", + "\n", + "\"figures/01.2.3.SCDU_skipping_setup.png\"\n", + "\n", + "\n", + "\n", + "### Updated Input: Sparse Optimization Specification\n", + "- Represent sparse A in a compressed format: coordinate payload\n", + "- Perform skipping based on the compressed A\n", + "\n", + "### Updated Input: Architecture Sepcfication\n", + "Extra metadata storage needed to store the *coordiantes* in the compressed representation format" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/01.2.3-SCDU-dot-product\n", + "cat arch.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Run Example with Updated Sparse Optimization Specification and Architecture Specification" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "\n", + "# Run example\n", + "cd $BASELINE_DIR\n", + "python3 run_example_designs.py --architecture sparseloop/01.2.3-SCDU-dot-product" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Examine Important Stats\n", + "\n", + "- `A` related:\n", + " - Reduced capacity requirement and reduced number of accesses due to compressed data representation format.\n", + " - Extra metadata storage overhead, extra metadata access overhead. Note that # of metadata units equals to # of nonzero data in A.\n", + "- `B`: Reduced number of actual reads and **skipped reads** counts show up due to explicit skipping optimization.\n", + "- `Z`: Reduced number of actual reads and actual updates, and **skipped reads** && **skipped updates** counts show up due to explicit skipping optimization.\n", + "- `MAC`: Reduced number of actual computes. As a result of `skipping` on `B`, no operands are sent to `MAC` unit when `A` is empty (i.e., `NOT_EXIST` for both operands). So the number of computes reduced by 75%.\n", + "- Full utilization at 1.0. Since both computes and storage accesses are skipped, the utilization of the MAC unit is still full and the total number of cycles reduced as well.\n", + "- Total number of cycles reduced.\n", + "- Total energy reduced." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%set_env OUT_DIR=../../../example_designs/example_designs/sparseloop/01.2.3-SCDU-dot-product/outputs/default_problem" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "export SCRIPT_PATH=$(realpath $SCRIPTS_DIR/01.2.3-SCDU-dot-product-aggregated-stats.sh)\n", + "chmod +x $SCRIPT_PATH && cd $OUT_DIR && $SCRIPT_PATH" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + }, + "pycharm": { + "stem_cell": { + "cell_type": "raw", + "metadata": { + "collapsed": false + }, + "source": [] + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/02.1-matrixmultiply-fibertree.ipynb b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/02.1-matrixmultiply-fibertree.ipynb new file mode 100644 index 00000000..1d9dd404 --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/02.1-matrixmultiply-fibertree.ipynb @@ -0,0 +1,476 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "-" + } + }, + "source": [ + "# Sparseloop Tutorial - 02 - Matrix Multiply\n", + "\n", + "This notebook contains a series of examples of a **matrix multiply** computation. The **fibertree** emulator is used to illustrate the impact of a set of optimizations to exploit sparsity. The basic computation is represented by the Einsum:\n", + "\n", + "$$ Z_{m,n} = A_{m,k} \\times B_{k,n} $$\n", + "\n", + "Note that while the output is nominally a sparse rank-2 tensor, in this notebook the output is assumed to be in an uncompressed format and is directly referenced by **coordinate** since **position** == **coordinate** in an uncompressed format.\n", + "\n", + "First, include some libraries" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "slideshow": { + "slide_type": "-" + } + }, + "outputs": [], + "source": [ + "# Run boilerplate code to set up environment\n", + "\n", + "%run ./prelude.py --style=tree --animation=movie" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Configure two rank-2 input tensors\n", + "\n", + "The following cell sets up the control sliders to specify the attributes of the `A` and `B` input tensors. Those attributes include their **shape**, which specifies the allowable range of **coordinates** of elements of the tensor and their **density**.\n", + "\n", + "The rank names use the following convention:\n", + "\n", + "- M - uncontracted dimension in input `A`\n", + "- N - uncontracted dimension in input `B`\n", + "- K - contracted dimension shared by `A` and `B`\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#\n", + "# Set default problem instance attributes (i.e., the shape of the tensors)\n", + "#\n", + "K = 8\n", + "M = 6\n", + "N = 6\n", + "\n", + "#\n", + "# Create controls to configure the `A` and `B` tensors\n", + "#\n", + "tm2 = TensorMaker(\"sparseloop-matrix-multiply\", autoload=True)\n", + "\n", + "tm2.addTensor(\"A\", rank_ids=[\"M\", \"K\"], shape=[M, K], density=0.4, color=\"blue\")\n", + "tm2.addTensor(\"B\", rank_ids=[\"K\", \"N\"], shape=[K, N], density=0.5, color=\"green\")\n", + "\n", + "tm2.displayControls()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create and display the input tensors\n", + "\n", + "Create the `A` and `B` tensors based on the current settings of the configuration sliders above and display the resulting tensors. These tensors are represented in the **fibertree** tensor abstraction, where for sparse fibers only the **elements** (**coordinate**/**payload** tuples) in a fiber with **non-empty** (non-zero) payloads need be shown." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "A_MK = tm2.makeTensor(\"A\")\n", + "B_KN = tm2.makeTensor(\"B\")\n", + "\n", + "displayTensor(A_MK)\n", + "displayTensor(B_KN)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Traverse a rank-2 tensor\n", + "\n", + "As a simple illustration of the traversal of a rank-2 tensor, the following code shows how that can be accomplished with two nested `for` loops where the **payload** of the traversal of the top rank is a reference to a **fiber** in the next rank.\n", + "\n", + "This natural traversal order where the bottom rank is traversed fastest (i.e., in a depth first fashion) is referred to as a **concordant** traversal and tend to be the most efficient. Other, less efficient, traversal orders are referred to as **discordant**.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#\n", + "# Create a rank-2 tensor\n", + "#\n", + "A_MK = tm2.makeTensor(\"A\")\n", + "\n", + "#\n", + "# Get root of tensor\n", + "#\n", + "a_m = A_MK.getRoot()\n", + "\n", + "#\n", + "# Animation bookkeeeping\n", + "#\n", + "canvas = createCanvas(A_MK)\n", + "\n", + "cycle = 0\n", + "\n", + "#\n", + "# Traverse non-empty elements of top rank\n", + "#\n", + "for m, a_k in a_m:\n", + " #\n", + " # Traverse non-empty element of bottom rank\n", + " #\n", + " for k, a_val in a_k:\n", + " \n", + " print(f\"{a_val} \", end='')\n", + " \n", + " #\n", + " # Animation bookkeeping\n", + " #\n", + " canvas.addActivity((m,k), spacetime=(0,cycle))\n", + " cycle += 1\n", + "\n", + "displayCanvas(canvas)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Matrix multiply\n", + "\n", + "The following code illustrates the traversal and accesses associated with the computation of untiled matrix multiply as expressed by the following Einsum:\n", + "\n", + "$$ Z_{m,n} = A_{m,k} \\times B_{k,n} $$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "#\n", + "# Create the input/output tensors\n", + "#\n", + "K = getShape(tm2, \"K\")\n", + "M = getShape(tm2, \"M\")\n", + "N = getShape(tm2, \"N\")\n", + "\n", + "A_MK = tm2.makeTensor(\"A\")\n", + "B_KN = tm2.makeTensor(\"B\")\n", + "\n", + "Z_MN = Tensor(name=\"Z\", rank_ids=[\"M\", \"N\"], shape=[M, N])\n", + "\n", + "uncompressTensor(Z_MN)\n", + "\n", + "#\n", + "# Display the tensors\n", + "#\n", + "print(\"Problem instance:\")\n", + "print(f\"M: {M}\")\n", + "print(f\"K: {K}\")\n", + "print(f\"N: {N}\")\n", + "print(\"\")\n", + "\n", + "print(\"Input A\")\n", + "displayTensor(A_MK)\n", + "print(\"Input B\")\n", + "displayTensor(B_KN)\n", + "print(\"Output Z (initial)\")\n", + "displayTensor(Z_MN)\n", + "\n", + "#\n", + "# Get the root fibers of each tensor\n", + "#\n", + "a_m = A_MK.getRoot()\n", + "b_k = B_KN.getRoot()\n", + "z_m = Z_MN.getRoot()\n", + "\n", + "#\n", + "# Animation bookkeeping\n", + "#\n", + "canvas = createCanvas(A_MK, B_KN, Z_MN)\n", + "\n", + "cycle = 0\n", + "\n", + "#\n", + "# Traverse non-empty elements of top rank of `A`\n", + "#\n", + "for m, a_k in a_m:\n", + " #\n", + " # Traverse the K rank of `A`\n", + " #\n", + " for k, a_val in a_k:\n", + " #\n", + " # Obtain the matching fiber in `B`\n", + " #\n", + " b_n = b_k.getPayload(k)\n", + " \n", + " #\n", + " # Traverse the bottom rank of `B`\n", + " #\n", + " for n, b_val in b_n:\n", + " #\n", + " # Do the reduction\n", + " #\n", + " z_m[m][n] += a_val * b_val\n", + " \n", + " #\n", + " # Animation bookkeeping\n", + " #\n", + " canvas.addActivity((m,k), (k,n), (m, n), spacetime=(0,cycle))\n", + " cycle += 1\n", + " \n", + "#\n", + "# Display results\n", + "#\n", + "print(\"Output tensor Z (final)\")\n", + "displayTensor(Z_MN)\n", + "\n", + "displayCanvas(canvas)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Tiled Matrix Multiply\n", + "\n", + "$$ Z_{n1,m,n0} = A_{m,k} \\times B_{n1,k,n0}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Splitting of B\n", + "\n", + "First we look at the sequence for splitting the `B` tensor along the N rank.\n", + "\n", + "Notes:\n", + "\n", + "- The coordinates in the N0 rank are the original N coordinates\n", + "- We are assuming that this is done offline... Online tiling is beyond the scope of this notebook." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#\n", + "# Create tensors\n", + "#\n", + "\n", + "N0 = 3\n", + "\n", + "B_KN = tm2.makeTensor(\"B\")\n", + "\n", + "print(\"Original B tensor\")\n", + "displayTensor(B_KN)\n", + "\n", + "#\n", + "# Split the `N` rank of `B` into a series of fibers with shape `N0`\n", + "# then rename the coordinates of the N1 rank to match the coordinates we want in the output (hacky)\n", + "#\n", + "B_N1N0K = B_KN.splitUniform(N0, depth=1)\n", + "B_N1N0K = B_N1N0K.updateCoords(lambda n, c, p: n, depth=1)\n", + "\n", + "print(\"B tensor with N rank split into fibers with a shape={N0}\")\n", + "displayTensor(B_N1N0K)\n", + "\n", + "#\n", + "# Swizzle the ranks of B so that we can traverse it in a **concordant** fashion\n", + "#\n", + "B_N1KN0 = B_N1N0K.swapRanks()\n", + "\n", + "print(\"B tensor split and swizzed for concordant traversal\")\n", + "displayTensor(B_N1KN0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Tiled Matrix Multiply" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "#\n", + "# Create the input/output tensors\n", + "#\n", + "K = getShape(tm2, \"K\")\n", + "M = getShape(tm2, \"M\")\n", + "N = getShape(tm2, \"N\")\n", + "\n", + "N1 = 2\n", + "N0 = (N+1)//2\n", + "\n", + "#\n", + "# Create tensors\n", + "#\n", + "\n", + "A_MK = tm2.makeTensor(\"A\")\n", + "B_KN = tm2.makeTensor(\"B\")\n", + "\n", + "\n", + "B_N1KN0 = B_KN.splitUniform(N0, depth=1).swapRanks()\n", + "B_N1KN0 = B_N1KN0.updateCoords(lambda n, c, p: n)\n", + "\n", + "Z_MN = Tensor(name=\"Z\",\n", + " rank_ids=[\"M\", \"N\"],\n", + " shape=[M, N])\n", + "uncompressTensor(Z_MN)\n", + "\n", + "Z_N1MN0 = Z_MN.splitUniform(N0, depth=1).swapRanks()\n", + "Z_N1MN0 = Z_N1MN0.updateCoords(lambda n, c, p: n)\n", + "Z_N1MN0.setMutable(True)\n", + "\n", + "#\n", + "# Display Tensors\n", + "#\n", + "print(\"Problem instance:\")\n", + "print(f\"K: {K}\")\n", + "print(f\"M: {M}\")\n", + "print(f\"N: {N}\")\n", + "print(f\"N1: {N1}\")\n", + "print(f\"N0: {N0}\")\n", + "\n", + "displayTensor(A_MK)\n", + "displayTensor(B_N1KN0)\n", + "displayTensor(Z_N1MN0)\n", + "\n", + "#\n", + "# Get the root fibers of each tensor\n", + "#\n", + "a_m = A_MK.getRoot()\n", + "b_n1 = B_N1KN0.getRoot()\n", + "z_n1 = Z_N1MN0.getRoot()\n", + "\n", + "#\n", + "# Animation bookkeeping\n", + "#\n", + "canvas = createCanvas(A_MK, B_N1KN0, Z_N1MN0)\n", + "\n", + "cycle = 0\n", + "\n", + "#\n", + "# Traverse non-empty elements of `N1` (top) rank of `B`\n", + "#\n", + "for n1, b_k in b_n1:\n", + " #\n", + " # Traverse non-empty elements of `M` (top) rank of A\n", + " #\n", + " for m, a_k in a_m:\n", + " #\n", + " # Traverse the K (bottom) rank of `A`\n", + " #\n", + " for k, a_val in a_k:\n", + " #\n", + " # Obtain the matching fiber in `B`\n", + " #\n", + " b_n0 = b_k.getPayload(k)\n", + " \n", + " #\n", + " # Traverse the `N0` (bottom) rank of `B`\n", + " #\n", + " for n0, b_val in b_n0:\n", + " #\n", + " # Do the reduction\n", + " #\n", + " # Note hack to get right position in `N0` rank of `Z`\n", + " #\n", + " z_n1[n1][m][n0%N0] += a_val * b_val\n", + " \n", + " #\n", + " # Animation bookkeeping\n", + " #\n", + " canvas.addActivity([(m,k)], [(n1,k,n0)], [(n1, m, n0)], \n", + " spacetime=(0,cycle))\n", + " cycle += 1\n", + " \n", + "displayTensor(Z_N1MN0)\n", + "displayCanvas(canvas)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Testing area\n", + "\n", + "For running alternative algorithms" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/02.2-matrixmultiply-sparseloop.ipynb b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/02.2-matrixmultiply-sparseloop.ipynb new file mode 100644 index 00000000..a696024d --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/02.2-matrixmultiply-sparseloop.ipynb @@ -0,0 +1,381 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Matrix Multiply\n", + "\n", + "The following sequence of cells illustrate hardware processing of a matrix multiply computation:\n", + "
\n", + "
\n", + " Zm,n = Am,k x Bk,n\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exercise 02.2.1 Sparse Matrix Multiplitcation\n", + "\"spMspM_setup\"\n", + "\n", + "### Understanding the inputs: Problem Specification" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%set_env BASELINE_DIR=../../../example_designs\n", + "%set_env DESIGNS_DIR=../../../example_designs/example_designs/sparseloop\n", + "%set_env SCRIPTS_DIR=../scripts" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/02.2.1-spMspM/ && cat problem.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding the inputs: Architecture Specification\n", + "We consider a more realistic architecture with a larger `BackingStorage` and a smaller local `Buffer`. We use small storages here for simplicity." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/02.2.1-spMspM/ && cat arch.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding the inputs: Mapping Specification\n", + "We need to specify the loops for each storage unit. Since we are doing simple streaming from `BackingStorage` to `Buffer`, all the loops below the `BackingStorage` level have trivial bounds." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/02.2.1-spMspM/ && cat mapping.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding the inputs: Sparse Optimization Feature Specification\n", + "As shown in the setup figure above, we need the following sparse optimizations to achieve the expected behaviors\n", + "- compressed representation of tensors A and B at both storage levels\n", + "- skipping optimization applied to all A, B, and Z with different skipping conditions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/02.2.1-spMspM/ && cat arch.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Run Example" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $BASELINE_DIR\n", + "python3 run_example_designs.py --architecture sparseloop/02.2.1-spMspM" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Examine Important Stats\n", + "\n", + "1. `A` Tensor Related: \n", + " - Reduced data storage capacity requirement due to its compressed data representation.\n", + " - There are skipped data accesses due to the explicit skipping optimization of A based on B, i.e., if B has an empty payload value, then it is not necessary to read out the corresponding A anymore.\n", + " - Reduced number of accesses actual data accesses because of compressed representation format as well as explicit skipping optimization.\n", + " - Metadata storage overhead and accesses. Note that # of metadata units > # of nonzero values in A. There are 25 units of metadata overhead because we have 16 coordinates in the lower rank and 8+1 offsets in the upper rank. Thus, the total number of metadata + number of data units < original tile shape.\n", + " - Some of the metadata accesses are also skipped.\n", + "2. `B` Tensor Related\n", + " - Reduced data storage capacity requirement due to its compressed data representation.\n", + " - Skipped data accesses due to the explicit skipping optimization of B based on A, i.e., if A has an empty payload value, then it is not necessary to read out the corresponding B fiber.\n", + " - Reduced number of actual data accesses because of compressed representation format as well as explicit skipping optimization.\n", + " - Metadata storage overhead and accesses. Note the due to the higher density in B, total number of metadata + number of data units > original tile shape because of higher tensor density.\n", + "3. `Z`: \n", + " - Capacity requirement == tile shape due to uncompressed representation.\n", + " - Reduced number of actual reads and actual updates, and skipped reads && skipped updates counts show up.\n", + "4. `MAC`: reduced number of actual computes since the operands are skipped at the `Buffer` and become `NOT_EXSIT` at the compute.\n", + "6. Total number of cycles reduced as both computes and storage accesses are skipped. As a result, MAC has a full utilization fo 1.0.\n", + "7. Total energy reduced due to reduced storage accesses and computes." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%set_env OUT_DIR=../../../example_designs/example_designs/sparseloop/02.2.1-spMspM/outputs/default_problem" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "%%bash\n", + "export SCRIPT_PATH=$(realpath $SCRIPTS_DIR/02.2.1-spMspM-aggregated-stats.sh)\n", + "chmod +x $SCRIPT_PATH && cd $OUT_DIR && $SCRIPT_PATH" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exercise 02.2.2 Tiled Sparse Matrix Multiplitcation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding Inputs: Mapping Specification with Tiling on `N`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/02.2.2-spMspM-tiled/ && cat mapping.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding Inputs: Architecture with A Smaller Buffer\n", + "\n", + "Tiling allows smaller `B` and `Z` tiles to be stored in the `Buffer`, so we can reduce the storage space in our architecture. In this specific example, we reduce the `depth` of the `Buffer` to half, i.e., 128 to 64." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "echo \"===========================================\"\n", + "echo \" Untiled Exampe Buffer Specification\"\n", + "echo \"===========================================\"\n", + "\n", + "cd $DESIGNS_DIR/02.2.1-spMspM\n", + "grep Buffer -A 9 arch.yaml\n", + "\n", + "printf \"\\n===========================================\\n\"\n", + "printf \" Tiled Exampe Buffer Specification\\n\"\n", + "printf \"===========================================\\n\"\n", + "\n", + "cd ../02.2.2-spMspM-tiled\n", + "grep Buffer -A 9 arch.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding Inputs: Data Representaiton Format Specification for Pretiled Tensors\n", + "\n", + "#### Tiling introduces splitted rank(s) and thus additional ranks in tensor\n", + "\"tiled_mapping\"\n", + "\n", + "\n", + "#### Pretiling \n", + "Accelerator designs usually only support concordant traversal of compressed tensors, and thus when tiling is necessary, the input tensor to the accelerator is often **pre-tiled**.\n", + "\n", + "Thus the `B` tensor stored in `BackingStorage` needs to have three ranks, N1, K, N0 *(N/N1)*. Failing to specify enough ranks for the tensor representation will result in an error.\n", + "\n", + "In this example, the top `N1` rank is only useful in `BackingStroage` to identify the tiles (elements in the `N1` ranks) being transferred to `Buffer`, so the `N1` rank is not transferred to `Buffer` storage." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/02.2.2-spMspM-tiled && grep sparse_optimizations -A 9 arch.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Run Example" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $BASELINE_DIR\n", + "python3 run_example_designs.py --architecture sparseloop/02.2.2-spMspM-tiled" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Examine Important Stats: `B` Tensor - Centric View\n", + "- `A` Tensor Related: \n", + " - All observations from the last part stay true, as `A` tensor is not tiled.\n", + "- `B` Tensor Related\n", + " - `BackingStorage` has the tensor pre-tiled to 3 ranks. \n", + " - Metadata storage capacity overhead increased significantly in `BackingStorage`, and thus the number of metadata reads.\n", + " - Smaller tiles are stored in `Buffer`, each tile in `Buffer` is still in rank2 format.\n", + "- `Z` Tensor Related: \n", + " - Smaller tiles are stored in `Buffer` in uncompressed format.\n", + " - Other observations stay the same as the untiled case.\n", + "- `MAC`: Same behaviors as untiled." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%set_env OUT_DIR=../../../example_designs/example_designs/sparseloop/02.2.2-spMspM-tiled/outputs/default_problem" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "export SCRIPT_PATH=$(realpath $SCRIPTS_DIR/02.2.2-spMspM-pretiling-stats.sh)\n", + "chmod +x $SCRIPT_PATH && cd $OUT_DIR && $SCRIPT_PATH" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Compare Untiled and Tiled Examples\n", + "Compared to untiled example, the tiled example consumes 67% energy per algorithmic compute." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "echo \"========================================\"\n", + "echo \" Untiled Run \"\n", + "echo \"========================================\"\n", + "cd $BASELINE_DIR\n", + "python3 run_example_designs.py --architecture sparseloop/02.2.1-spMspM\n", + "\n", + "echo \"========================================\"\n", + "echo \" Tiled Run \"\n", + "echo \"========================================\"\n", + "python3 run_example_designs.py --architecture sparseloop/02.2.2-spMspM-tiled" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + }, + "pycharm": { + "stem_cell": { + "cell_type": "raw", + "metadata": { + "collapsed": false + }, + "source": [] + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/03.1-convolution.ipynb b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/03.1-convolution.ipynb new file mode 100644 index 00000000..3a656749 --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/03.1-convolution.ipynb @@ -0,0 +1,508 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "-" + } + }, + "source": [ + "# Sparseloop Tutorial - 03 - Convolution\n", + "\n", + "This notebook contains a series of examples of a DNN **convolution** computation. The **fibertree** emulator is used to illustrate the impact of a set of optimizations to exploit sparsity. The basic computation for a 1-D convolution with one input channel and one output channel is represented by the Einsum:\n", + "\n", + "$$ O_{q} = I_{(q+s)} \\times F_{s} $$\n", + "\n", + "Note that while the output is possibly a sparse rank-1 tensor, in this notebook the output is assumed to be in an uncompressed format and is directly referenced by **coordinate** since **position** == **coordinate** in an uncompressed format.\n", + "\n", + "First, include some libraries" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "slideshow": { + "slide_type": "-" + } + }, + "outputs": [], + "source": [ + "# Run boilerplate code to set up environment\n", + "\n", + "%run ./prelude.py --style=tree --animation=movie" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Configure convolution tensors input tensors\n", + "\n", + "The following cell sets up the control sliders to specify the attributes of the 1-D `I` (input activations) and `F` (filter weight) input tensors. Those attributes include their **shape**, which specifies the allowable range of **coordinates** of elements of the tensor and their **density**.\n", + "\n", + "The empty 1-D 'O' (output activations) tensors are declared when used in later cells. \n", + "\n", + "The rank names use the following convention:\n", + "\n", + "- `W` - The width of the input activation tensor (`I`)\n", + "- `S` - The width of the filter weight tensor (`F`)\n", + "- `Q` - The width of the output activation tensor (`O`)\n", + "- `M` - The number of output channels in `F` and `O` (used in later cells).\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#\n", + "# Set default problem instance attributes (i.e., the shape of the tensors)\n", + "#\n", + "W = 12\n", + "S = 3\n", + "\n", + "\n", + "#\n", + "# Create controls to configure the `I` and `F` tensors\n", + "#\n", + "tm3 = TensorMaker(\"sparseloop-convolution-1\", autoload=True)\n", + "\n", + "tm3.addTensor(\"F\", rank_ids=[\"S\"], shape=[S], density=0.5, color=\"green\")\n", + "tm3.addTensor(\"I\", rank_ids=[\"W\"], shape=[W], density=1.0, color=\"blue\")\n", + "\n", + "tm3.displayControls()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create and display convolution tensors" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "F_S = tm3.makeTensor(\"F\")\n", + "I_W = tm3.makeTensor(\"I\")\n", + "\n", + "displayTensor(F_S)\n", + "displayTensor(I_W)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Simple 1-D Convolution\n", + "\n", + "$$ O_{q} = I_{(q+s)} \\times F_{s} $$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#\n", + "# Create input convolution tensors\n", + "#\n", + "S = getShape(tm3, \"S\")\n", + "W = getShape(tm3, \"W\")\n", + "Q = W-S+1\n", + "\n", + "F_S = tm3.makeTensor(\"F\")\n", + "I_W = tm3.makeTensor(\"I\")\n", + "\n", + "O_Q = Tensor(name=\"O\", rank_ids=[\"Q\"], shape=[Q])\n", + "uncompressTensor(O_Q)\n", + "\n", + "#\n", + "# Display Tensors\n", + "#\n", + "print(\"Problem Instance:\")\n", + "print(f\"S: {S}\")\n", + "print(f\"W: {W}\")\n", + "print(f\"Q: {Q}\")\n", + "print(\"\")\n", + "\n", + "print(\"Filter weight tensor F\")\n", + "displayTensor(F_S)\n", + "print(\"Input activation tensor I\")\n", + "displayTensor(I_W)\n", + "print(\"Output activation tensor O (initial)\")\n", + "displayTensor(O_Q)\n", + "\n", + "#\n", + "# Get root of tensors\n", + "#\n", + "i_w = I_W.getRoot()\n", + "f_s = F_S.getRoot()\n", + "o_q = O_Q.getRoot()\n", + "\n", + "#\n", + "# Animation bookkeeeping\n", + "#\n", + "canvas = createCanvas(F_S, I_W, O_Q)\n", + "\n", + "cycle = 0\n", + "\n", + "#\n", + "# Traverse all `Q` coordinates of the output tensor\n", + "#\n", + "for q in range(Q):\n", + " #\n", + " # Traverse the non-empty coordinates of the filter weights\n", + " #\n", + " for s, f_val in f_s:\n", + " #\n", + " # Compute and fetch the required input activation coordinate\n", + " #\n", + " w = q + s\n", + " i_val = i_w.getPayload(w)\n", + " \n", + " #\n", + " # Compute value to contribute to partial output sum\n", + " #\n", + " o_q[q] += i_val * f_val\n", + " \n", + " #\n", + " # Animation bookkeeping\n", + " #\n", + " canvas.addActivity((s,), (w,), (q,), spacetime=(0,cycle))\n", + " cycle += 1\n", + " \n", + "#\n", + "# Display results\n", + "#\n", + "print(\"Output activation tensor O (final)\")\n", + "displayTensor(O_Q)\n", + "\n", + "displayCanvas(canvas)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Convolution - 1D - with output channels\n", + "\n", + "$$ O_{m,q} = I_{(q+s)} \\times F_{m,s} $$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Configure convolution tensors" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#\n", + "# Set default problem instance attributes (i.e., the shape of the tensors)\n", + "#\n", + "M = 4\n", + "W = 12\n", + "S = 4\n", + "\n", + "#\n", + "# Create controls to configure the `I` and `F` tensors\n", + "#\n", + "tm4 = TensorMaker(\"sparseloop-convolution-2\", autoload=True)\n", + "\n", + "tm4.addTensor(\"F\", rank_ids=[\"M\", \"S\"], shape=[M, S], density=0.5, color=\"green\")\n", + "tm4.addTensor(\"I\", rank_ids=[\"W\"], shape=[W], density=1.0, color=\"blue\")\n", + "\n", + "tm4.displayControls()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create and display convolution tensors" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "F_MS = tm4.makeTensor(\"F\")\n", + "I_W = tm4.makeTensor(\"I\")\n", + "\n", + "displayTensor(F_MS)\n", + "displayTensor(I_W)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convolution with multiple output channels" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "#\n", + "# Create input convolution tensors\n", + "#\n", + "M = getShape(tm4, \"M\")\n", + "S = getShape(tm4, \"S\")\n", + "W = getShape(tm4, \"W\")\n", + "Q = W - S + 1\n", + "\n", + "F_MS = tm4.makeTensor(\"F\")\n", + "I_W = tm4.makeTensor(\"I\")\n", + "\n", + "O_MQ = Tensor(name=\"O\", rank_ids=[\"M\", \"Q\"], shape=[M, Q])\n", + "uncompressTensor(O_MQ)\n", + "\n", + "#\n", + "# Display Tensors\n", + "#\n", + "print(\"Problem Instance:\")\n", + "print(f\"M: {M}\")\n", + "print(f\"S: {S}\")\n", + "print(f\"W: {W}\")\n", + "print(f\"Q: {Q}\")\n", + "print(\"\")\n", + "\n", + "print(\"Filter weight tensor F\")\n", + "displayTensor(F_MS)\n", + "print(\"Input activation tensor I\")\n", + "displayTensor(I_W)\n", + "print(\"Output activation tensor O (initial)\")\n", + "displayTensor(O_MQ)\n", + "\n", + "#\n", + "# Get root of tensors\n", + "#\n", + "i_w = I_W.getRoot()\n", + "f_m = F_MS.getRoot()\n", + "o_m = O_MQ.getRoot()\n", + "\n", + "#\n", + "# Animation bookkeeeping\n", + "#\n", + "canvas = createCanvas(F_MS, I_W, O_MQ)\n", + "\n", + "cycle = 0\n", + "\n", + "#\n", + "# Traverse filter weight output channels\n", + "#\n", + "for m, f_s in f_m: \n", + " #\n", + " # Traverse all `Q` coordinates of the output tensor\n", + " #\n", + " for q in range(Q):\n", + " #\n", + " # Traverse all non-empty filter weights for this output channel\n", + " #\n", + " for s, f_val in f_s:\n", + " #\n", + " # Compute and fetch the required input activation coordinate\n", + " #\n", + " w = q + s\n", + " i_val = i_w.getPayload(w)\n", + "\n", + " #\n", + " # Compute value to contribute to partial output sum\n", + " #\n", + " o_m[m][q] += i_val * f_val\n", + "\n", + " #\n", + " # Animation bookkeeping\n", + " #\n", + " canvas.addActivity((m,s), (w,), (m,q), spacetime=(0,cycle))\n", + " cycle += 1\n", + "\n", + "#\n", + "# Display results\n", + "#\n", + "print(\"Output activation tensor O (initial)\")\n", + "displayTensor(O_MQ)\n", + "\n", + "displayCanvas(canvas)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convolution - spatial output channels" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "#\n", + "# Create input convolution tensors\n", + "#\n", + "\n", + "split = 2\n", + "\n", + "F_MS = tm4.makeTensor(\"F\")\n", + "F_M1M0S = F_MS.splitUniform(split)\n", + "F_M1M0S = F_M1M0S.updateCoords(lambda n, c, p: n)\n", + "\n", + "I_W = tm4.makeTensor(\"I\")\n", + "\n", + "W = I_W.getShape(\"W\")\n", + "S = F_MS.getShape(\"S\")\n", + "Q = W-S+1\n", + "\n", + "M = F_MS.getShape(\"M\")\n", + "M0 = split\n", + "M1 = (M+split-1)//split\n", + "\n", + "O_MQ = Tensor(name=\"O\", rank_ids=[\"M\", \"Q\"], shape=[M, Q])\n", + "uncompressTensor(O_MQ)\n", + "O_M1M0Q = O_MQ.splitUniform(split)\n", + "\n", + "#\n", + "# Display Tensors\n", + "#\n", + "print(\"Problem Instance:\")\n", + "print(f\"M1: {M1}\")\n", + "print(f\"M0: {M0}\")\n", + "print(f\"W: {W}\")\n", + "print(f\"Q: {Q}\")\n", + "print(f\"S: {S}\")\n", + "\n", + "displayTensor(F_M1M0S)\n", + "displayTensor(I_W)\n", + "displayTensor(O_M1M0Q)\n", + "\n", + "#\n", + "# Get root of tensors\n", + "#\n", + "i_w = I_W.getRoot()\n", + "f_m1 = F_M1M0S.getRoot()\n", + "o_m1 = O_M1M0Q.getRoot()\n", + "\n", + "#\n", + "# Animation bookkeeeping\n", + "#\n", + "canvas = createCanvas(F_M1M0S, I_W, O_M1M0Q)\n", + "\n", + "#\n", + "# Traverse group of filter weight output channels\n", + "#\n", + "for m1, f_m0 in f_m1:\n", + " #\n", + " # Traverse filter weight output channels in this group\n", + " #\n", + " for m0, f_s in f_m0: \n", + " #\n", + " # Traverse all output locations for this output channel\n", + " #\n", + " for q in range(Q):\n", + " #\n", + " # Traverse all output locations\n", + " #\n", + " for s, f_val in f_s:\n", + " #\n", + " # Compute and fetch the required input activation coordinate\n", + " #\n", + " w = q + s\n", + " i_val = i_w.getPayload(w)\n", + "\n", + " #\n", + " # Compute value to contribute to partial output sum\n", + " #\n", + " o_m1[m1][m0%M0][q] += i_val * f_val\n", + " #\n", + " # Animation bookkeeping\n", + " #\n", + " spacestamp = m0\n", + " \n", + " # TBD: Time should be counted in position not coordinates!\n", + " timestamp = m1*W*S + q*S + s \n", + " \n", + " canvas.addActivity((m1,m0,s), (w,), (m1,m0,q),\n", + " spacetime=(spacestamp, timestamp))\n", + "\n", + "\n", + "displayTensor(O_M1M0Q)\n", + "displayCanvas(canvas)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Testing area\n", + "\n", + "For running alternative algorithms" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/03.2-convolution-sparseloop.ipynb b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/03.2-convolution-sparseloop.ipynb new file mode 100644 index 00000000..26a9ce3c --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/03.2-convolution-sparseloop.ipynb @@ -0,0 +1,408 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Convolution\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exercise 03.2.1 1D Convolution\n", + "\n", + "$$ O_{q} = I_{(q+s)} \\times F_{s} $$\n", + "\n", + "\"conv1d_setup\"\n", + "\n", + "\n", + "### Understanding the Inputs: Workload Specification\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%set_env BASELINE_DIR=../../../example_designs\n", + "%set_env DESIGNS_DIR=../../../example_designs/example_designs/sparseloop\n", + "%set_env SCRIPTS_DIR=../scripts" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/03.2.1-conv1d/ && cat problem.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding Inputs: Architecture Specification" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/03.2.1-conv1d/ && cat arch.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding the Inputs: Mapping Specification" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/03.2.1-conv1d/ && cat mapping.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding the Inputs: Sparse Optimziation Specification\n", + "- Compressed representation format for Weights. Note we use run length encoding (RLE) this time.\n", + "- Skip Inputs and Outputs based on Weights" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/03.2.1-conv1d/ && cat arch.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Run Example" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $BASELINE_DIR\n", + "python3 run_example_designs.py --architecture sparseloop/03.2.1-conv1d" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Examine Important Stats\n", + "- Only Weights data has associated metadata (and thus the savings and overhead brought by metadata).\n", + "- Inputs and Outputs are skipped according to Weight's sparsity.\n", + "- Reduced number of computes due to skipping at the `Buffer`.\n", + "- Overall similar behaviors compared to what we saw for the similar dot product example." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%set_env OUT_DIR=../../../example_designs/example_designs/sparseloop/03.2.1-conv1d/outputs/default_problem" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "export SCRIPT_PATH=$(realpath $SCRIPTS_DIR/03.2-conv-aggregated-stats.sh)\n", + "chmod +x $SCRIPT_PATH && cd $OUT_DIR && $SCRIPT_PATH" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conv1D with Output Channels\n", + "\n", + "\n", + "$$ O_{m,q} = I_{(q+s)} \\times F_{m,s} $$\n", + "\n", + "## Exercise 03.2.2 conv1D + Outputs Channels\n", + "\n", + "### Understanding the Inputs: Workload Specification" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/03.2.2-conv1d+oc/ && cat problem.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding the Inputs: Mapping Specification for New Workload\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/03.2.2-conv1d+oc/ && cat mapping.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding the Inputs: Sparse Optimization Specification\n", + "The extra output channel dimension introduces an extra rank in data representation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/03.2.2-conv1d+oc/ && cat arch.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Run Example" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "%%bash\n", + "cd $BASELINE_DIR\n", + "python3 run_example_designs.py --architecture sparseloop/03.2.2-conv1d+oc" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exercise 03.2.3 Conv1D + Output Channels- Spatial Tiling\n", + "\n", + "### Understanding the Inputs: Architecture Specification\n", + "\n", + "- Spatial fanout of the PEs for parallel processing\n", + "- Reduced the per-PE buffer size\n", + "\n", + "\"figures/03.2.3.spatial_arch.png\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/03.2.3-conv1d+oc-spatial/ && cat arch.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding the Inputs: Mapping Specification" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/03.2.3-conv1d+oc-spatial/ && cat mapping.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Understanding the Inputs: Sparse Optimization Specification\n", + "\n", + "Because of the spatial tiling, we need to pretile the tensor before sending it out for processing. We now have more ranks for Filter." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/03.2.3-conv1d+oc-spatial/ && cat arch.yaml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Run Example" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $BASELINE_DIR\n", + "python3 run_example_designs.py --architecture sparseloop/03.2.3-conv1d+oc-spatial" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Examine Important Stats\n", + "- Pretiling overhead incurred by the temporal and spatial tiling.\n", + "- Reduced tile size stored in `Buffer`.\n", + "- Similar savings from explicit skipping as above." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%set_env OUT_DIR=../../../example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/outputs/default_problem" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "export SCRIPT_PATH=$(realpath $SCRIPTS_DIR/03.2-conv-aggregated-stats.sh)\n", + "chmod +x $SCRIPT_PATH && cd $OUT_DIR && $SCRIPT_PATH" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Compare Untiled Example and Tiled Example\n", + "\n", + "- Untiled exampled consumes more energy and has a slower processing speed\n", + "- Spatially tiled example consumes more area but has lower energy consumption and faster processing speed" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "export OUT_DIR_1=$(realpath ../../../example_designs/example_designs/sparseloop/03.2.2-conv1d+oc/outputs/default_problem)\n", + "export OUT_DIR_2=$(realpath ../../../example_designs/example_designs/sparseloop/03.2.3-conv1d+oc-spatial/outputs/default_problem)\n", + "export SCRIPT_PATH=$(realpath $SCRIPTS_DIR/03.2-conv-summary-stats.sh)\n", + "\n", + "echo \"========================================\"\n", + "echo \" Untiled Example \"\n", + "echo \"========================================\"\n", + "chmod +x $SCRIPT_PATH && cd $OUT_DIR_1 && $SCRIPT_PATH\n", + "\n", + "echo \"========================================\"\n", + "echo \" Tiled Example \"\n", + "echo \"========================================\"\n", + "chmod +x $SCRIPT_PATH && cd $OUT_DIR_2 && $SCRIPT_PATH\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + }, + "pycharm": { + "stem_cell": { + "cell_type": "raw", + "metadata": { + "collapsed": false + }, + "source": [] + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/04.2-more-examples-and-mapspace-search-sparseloop.ipynb b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/04.2-more-examples-and-mapspace-search-sparseloop.ipynb new file mode 100644 index 00000000..d4b472b5 --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/04.2-more-examples-and-mapspace-search-sparseloop.ipynb @@ -0,0 +1,131 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# More examples with larger hardware setups and problems" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "## We provide more examples on realisitic DNN layers and hardware setups\n", + "\n", + "## Exercise 04.2.1 Eyeriss like design\n", + "We include Eyeriss architecture with offchip compression and onchip gating based on input activation's sparsity\n", + "\n", + "### Examine Sparse Optimization\n", + "We introduce a new specification key called `flattened_rankIDs`, whcih specifies which dimension can be flattened together and indexed with one specific type of metadata. Each list in the `flattened_rankIDs` specification indicates the set of dimensions that can be flattened together. For example, `RLE` can be applied to a large tile of multidimensional data that's falttened into a single diemension." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%set_env BASELINE_DIR=../../../example_designs\n", + "%set_env DESIGNS_DIR=../../../example_designs/example_designs/sparseloop\n", + "%set_env SCRIPTS_DIR=../scripts" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $DESIGNS_DIR/04.2.1-eyeriss-like-gating/ && cat arch.yaml" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $BASELINE_DIR\n", + "python3 run_example_designs.py --architecture sparseloop/04.2.1-eyeriss-like-gating" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Exercise 04.2.2 Eyeriss like design with mapspace seach\n", + "We furthur illustrate the potential of mapspace search for a sparse design and a sparse problem with `timeloop-mapper`\n", + "The search might take a while (<5min), and we recommend using the terminal to run the example, since the progress prints do not show in jupyter notebook cells" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "cd $BASELINE_DIR\n", + "python3 run_example_designs.py --architecture sparseloop/04.2.2-eyeriss-like-gating-mapspace-search" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Exercise 04.2.3 Eyeriss like design with onchip compression\n", + "We furthur enhance the design to allow onchip compression of input activations and skipping\n", + "The search might take a while (<5min), and we recommend using the terminal to run the example, since the progress prints do not show in jupyter notebook cells\n", + "\n", + "Note that, with skipping, we can enhance the utilization of the design." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "%%bash\n", + "cd $BASELINE_DIR\n", + "python3 run_example_designs.py --architecture sparseloop/04.2.3-eyeriss-like-onchip-compression" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + }, + "pycharm": { + "stem_cell": { + "cell_type": "raw", + "metadata": { + "collapsed": false + }, + "source": [] + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/.gitkeep b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/01.2.1.DUDU_setup.png b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/01.2.1.DUDU_setup.png new file mode 100644 index 00000000..ec3d98d7 Binary files /dev/null and b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/01.2.1.DUDU_setup.png differ diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/01.2.2.SUDU_baseline_setup.png b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/01.2.2.SUDU_baseline_setup.png new file mode 100644 index 00000000..2d5be117 Binary files /dev/null and b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/01.2.2.SUDU_baseline_setup.png differ diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/01.2.2.SUDU_gating_setup.png b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/01.2.2.SUDU_gating_setup.png new file mode 100644 index 00000000..ed51575c Binary files /dev/null and b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/01.2.2.SUDU_gating_setup.png differ diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/01.2.3.SCDU_skipping_setup.png b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/01.2.3.SCDU_skipping_setup.png new file mode 100644 index 00000000..640b5192 Binary files /dev/null and b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/01.2.3.SCDU_skipping_setup.png differ diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/01.2.SC_DU_arch.png b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/01.2.SC_DU_arch.png new file mode 100644 index 00000000..27309be3 Binary files /dev/null and b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/01.2.SC_DU_arch.png differ diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/02.2.1.spMspM_setup.png b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/02.2.1.spMspM_setup.png new file mode 100644 index 00000000..096a3c79 Binary files /dev/null and b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/02.2.1.spMspM_setup.png differ diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/02.2.2.dense_tiled_mapping.png b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/02.2.2.dense_tiled_mapping.png new file mode 100644 index 00000000..2dc3e7c7 Binary files /dev/null and b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/02.2.2.dense_tiled_mapping.png differ diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/03.2.1.conv1d_setup.png b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/03.2.1.conv1d_setup.png new file mode 100644 index 00000000..4738be77 Binary files /dev/null and b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/03.2.1.conv1d_setup.png differ diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/03.2.3.spatial_arch.png b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/03.2.3.spatial_arch.png new file mode 100644 index 00000000..7a86be95 Binary files /dev/null and b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/figures/03.2.3.spatial_arch.png differ diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/prelude.py b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/prelude.py new file mode 100644 index 00000000..aef437cf --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/notebooks/prelude.py @@ -0,0 +1,159 @@ +""" IPython prelude code """ + +# +# Argument parsing imports +# Note: to guide animation display since people often do "Run All Cells" +# +import argparse + +# +# System imports +# +import os +import string +import random +import warnings +from functools import * + +# +# Import display classes/utilities +# +from IPython.display import display +from IPython.display import Image +from IPython.display import HTML +from IPython.display import Javascript + +from tqdm.notebook import tqdm, trange + +# +# Math imports +# +import math + +try: + import numpy as np +except ImportError: + print("Library numpy not available") + +try: + import matplotlib.pyplot as plt + from matplotlib.pyplot import imshow + from matplotlib import rc +except ImportError: + print("Library matplotlib not available") + +# +# Try to import networkx +# +have_networkx = True +try: + import networkx as nx +except ImportError: + have_networkx = False + +# +# Import tensor class +# +from fibertree import Payload, Fiber, CoordPayload, Tensor +from fibertree import TensorImage, TensorCanvas, CycleManager +from fibertree import NotebookUtils, TensorMaker, TensorDisplay + +# +# Try to import ipywidgets +# +have_ipywidgets = True +try: + import ipywidgets as widgets + from ipywidgets import interact, interactive, fixed, interact_manual +except ImportError: + have_ipywidgets = False + +# +# Use rc to configure animation for HTML5 +# +rc("animation", html="html5") + + +# +# Convenience functions that just call the class methods on the FTD +# object created below. That object holds the current styles for +# displaying and animating the tensors. +# +def displayTensor(tensor, highlights=[], **kwargs): + """displayTensor(, hightlights=[ ...] )""" + + FTD.displayTensor(tensor, highlights=highlights, **kwargs) + + +def displayGraph(am_s): + """displayGraph(am_s)""" + + FTD.displayGraph(am_s) + + +def createCanvas(*tensors, **kwargs): + """createCanvas""" + + return FTD.createCanvas(*tensors, **kwargs) + + +def displayCanvas(*args, **kwargs): + """displayCanvas""" + + FTD.displayCanvas(*args, **kwargs) + + +# +# Parse the arguments (deprecated) +# +parser = argparse.ArgumentParser() + +parser.add_argument("--style") +parser.add_argument("--animation") +parser.add_argument("--logger", default=False, action="store_true") + +args = parser.parse_args() + +# +# Instantiate the Notebook Utilities class +# +NB = NotebookUtils() + +if args.logger: + NB.showLogging() + +# +# Instantiate the Tensor Display class +# +FTD = TensorDisplay( + style=args.style, animation=args.animation, have_ipywidgets=have_ipywidgets +) + +# +# Create a runall button +# +NB.createRunallButton() + +# +# Extra utlities for use by the tutorial +# + + +def uncompressTensor(t): + f = t.getRoot() + uncompressFiber(f, shape=t.getShape()) + + +def uncompressFiber(f, shape=None, level=0): + if shape is None: + shape = f.getShape() + + s = shape[0] + for c in range(s): + x = f.getPayloadRef(c) + if isinstance(x, Fiber): + uncompressFiber(x, shape=shape[1:], level=level + 1) + + +def getShape(tm, rankid): + return tm.controls[rankid + "_SHAPE"].value diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/.gitkeep b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.1-DUDU-dot-product-buffer-stats.sh b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.1-DUDU-dot-product-buffer-stats.sh new file mode 100755 index 00000000..2bc5d4d2 --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.1-DUDU-dot-product-buffer-stats.sh @@ -0,0 +1,7 @@ +printf "\n=== Buffer ===\n" +printf "\n --- A --- \n" +grep "=== Buffer" *.stats.txt -A 50 | grep -e 'capacity' -e 'Scalar reads' +printf "\n --- B --- \n" +grep "=== Buffer" *.stats.txt -A 80 | grep "B:" -A 20 | grep -e 'capacity' -e 'Scalar reads' +printf "\n --- Z --- \n" +grep "=== Buffer" *.stats.txt -A 100 | grep "Z:" -A 20 | grep -e 'capacity' -e 'Scalar [reads|updates]' diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.1-DUDU-dot-product-compute-stats.sh b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.1-DUDU-dot-product-compute-stats.sh new file mode 100755 index 00000000..2e460103 --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.1-DUDU-dot-product-compute-stats.sh @@ -0,0 +1,3 @@ +printf "=== MAC ===\n\n" +grep "=== MAC ===" timeloop-mapper.stats.txt -A 20 | grep Computes +grep "=== MAC ===" timeloop-mapper.stats.txt -A 20 | grep Cycles \ No newline at end of file diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.1-DUDU-dot-product-summary-stats.sh b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.1-DUDU-dot-product-summary-stats.sh new file mode 100755 index 00000000..83784c9c --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.1-DUDU-dot-product-summary-stats.sh @@ -0,0 +1,4 @@ +printf "=== Summary Stats ===\n\n" +grep "Summary Stats" timeloop-mapper.stats.txt -B 8 | grep topology +echo " " +grep "Summary Stats" timeloop-mapper.stats.txt -A 50 | grep "Computes" -A 40 | grep -v "<==>" diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.2-SUDU-dot-product-aggregated-stats.sh b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.2-SUDU-dot-product-aggregated-stats.sh new file mode 100755 index 00000000..dabad12a --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.2-SUDU-dot-product-aggregated-stats.sh @@ -0,0 +1,21 @@ +printf "\n=== Buffer ===\n" +printf "\n --- A --- \n" +grep "=== Buffer" *.stats.txt -A 50 | grep -e 'capacity' -e 'Scalar reads' +printf "\n --- B --- \n" +grep "=== Buffer" *.stats.txt -A 80 | grep "B:" -A 20 | grep -e 'capacity' -e 'Scalar reads' +printf "\n --- Z --- \n" +grep "=== Buffer" *.stats.txt -A 100 | grep "Z:" -A 20 | grep -e 'capacity' -e 'Scalar [reads|updates]' + +echo "" + +printf "=== MAC ===\n\n" +grep "=== MAC ===" timeloop-mapper.stats.txt -A 20 | grep Computes +grep "=== MAC ===" timeloop-mapper.stats.txt -A 20 | grep Cycles + +echo "" + + +printf "=== Summary Stats ===\n\n" +grep "Summary Stats" timeloop-mapper.stats.txt -B 8 | grep topology +echo " " +grep "Summary Stats" timeloop-mapper.stats.txt -A 50 | grep "Computes" -A 40 | grep -v "<==>" diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.2-SUDU-dot-product-gating-aggregated-stats.sh b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.2-SUDU-dot-product-gating-aggregated-stats.sh new file mode 100755 index 00000000..1970da4f --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.2-SUDU-dot-product-gating-aggregated-stats.sh @@ -0,0 +1,23 @@ +printf "\n=== Buffer ===\n" +printf "\n --- A --- \n" +grep "=== Buffer" *.stats.txt -A 70 | grep -e 'shape' -e ' data storage c' -e 'A[a-z]* scalar reads' +printf "\n --- B --- \n" +grep "=== Buffer" *.stats.txt -A 110 | grep "B:" -A 50 | grep -e 'shape' -e 'data storage c' -e 'A[a-z]* scalar reads' \ +-e 'Gated scalar reads' +printf "\n --- Z --- \n" +grep "=== Buffer" *.stats.txt -A 170 | grep "Z:" -A 50 | grep -e 'shape' -e 'data storage c' -e 'A[a-z]* scalar [reads|updates]' \ + -e 'Gated scalar [reads|updates]' + +echo "" + +printf "=== MAC ===\n\n" +grep "=== MAC ===" timeloop-mapper.stats.txt -A 20 | grep "A[a-z]* Computes" +grep "=== MAC ===" timeloop-mapper.stats.txt -A 20 | grep Cycles + +echo "" + + +printf "=== Summary Stats ===\n\n" +grep "Summary Stats" timeloop-mapper.stats.txt -B 8 | grep topology +echo " " +grep "Summary Stats" timeloop-mapper.stats.txt -A 50 | grep "Algorithmic Computes" -A 40 | grep -v "<==>" diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.3-SCDU-dot-product-aggregated-stats.sh b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.3-SCDU-dot-product-aggregated-stats.sh new file mode 100755 index 00000000..7550568e --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/01.2.3-SCDU-dot-product-aggregated-stats.sh @@ -0,0 +1,22 @@ +printf "\n=== Buffer ===\n" +printf "\n --- A --- \n" +grep "=== Buffer" *.stats.txt -A 70 | grep -e 'shape' -e ' storage c' -e 'format' -e 'A[a-z ]* reads' -e 'Rank' +printf "\n --- B --- \n" +grep "=== Buffer" *.stats.txt -A 110 | grep "B:" -A 50 | grep -e 'shape' -e 'data storage c' -e 'A[a-z]* scalar reads' \ +-e 'Skipped scalar reads' +printf "\n --- Z --- \n" +grep "=== Buffer" *.stats.txt -A 170 | grep "Z:" -A 50 | grep -e 'shape' -e 'data storage c' -e 'A[a-z]* scalar [reads|updates]' \ + -e 'Skipped scalar [reads|updates]' + +echo "" + +printf "=== MAC ===\n\n" +grep "=== MAC ===" timeloop-mapper.stats.txt -A 20 | grep "A[a-z]* Computes" +grep "=== MAC ===" timeloop-mapper.stats.txt -A 20 | grep Cycles + +echo "" + +printf "=== Summary Stats ===\n\n" +grep "Summary Stats" timeloop-mapper.stats.txt -B 8 | grep topology +echo " " +grep "Summary Stats" timeloop-mapper.stats.txt -A 50 | grep "Algorithmic Computes" -A 40 | grep -v "<==>" diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/02.2.1-spMspM-aggregated-stats.sh b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/02.2.1-spMspM-aggregated-stats.sh new file mode 100755 index 00000000..df921b3e --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/02.2.1-spMspM-aggregated-stats.sh @@ -0,0 +1,21 @@ +printf "\n=== Buffer ===\n" +printf "\n --- A --- \n" +grep "=== Buffer" *.stats.txt -A 70 | grep -e 'shape' -e ' storage c' -e 'format' -e reads -e fills -e Rank +printf "\n --- B --- \n" +grep "=== Buffer" *.stats.txt -A 150 | grep "B:" -A 50 | grep -e 'shape' -e 'storage c' -e 'format' -e reads -e fills -e Rank +printf "\n --- Z --- \n" +grep "=== Buffer" *.stats.txt -A 170 | grep "Z:" -A 50 | grep -e 'shape' -e 'data storage c' -e 'A[a-z]* scalar [reads|updates]' \ + -e 'Skipped scalar [reads|updates]' + +echo "" + +printf "=== MAC ===\n\n" +grep "=== MAC ===" timeloop-mapper.stats.txt -A 20 | grep "A[a-z]* Computes" +grep "=== MAC ===" timeloop-mapper.stats.txt -A 20 | grep Cycles + +echo "" + +printf "=== Summary Stats ===\n\n" +grep "Summary Stats" timeloop-mapper.stats.txt -B 8 | grep topology +echo " " +grep "Summary Stats" timeloop-mapper.stats.txt -A 50 | grep "Algorithmic Computes" -A 40 | grep -v "<==>" diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/02.2.2-spMspM-pretiling-stats.sh b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/02.2.2-spMspM-pretiling-stats.sh new file mode 100755 index 00000000..48a6c59b --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/02.2.2-spMspM-pretiling-stats.sh @@ -0,0 +1,28 @@ + +printf "\n=== BackingStorage ===\n" +printf "\n --- B --- \n" +grep "=== BackingStorage" *.stats.txt -A 120 | grep "B:" -A 70 | grep -e 'shape' -e ' storage c' -e 'format' \ +-e reads -e Rank + + +printf "\n=== Buffer ===\n" +printf "\n --- A --- \n" +grep "=== Buffer" *.stats.txt -A 43 | grep -e 'shape' -e ' storage c' -e 'format' -e Rank +printf "\n --- B --- \n" +grep "=== Buffer" *.stats.txt -A 150 | grep "B:" -A 50 | grep -e 'shape' -e ' storage c' -e 'format' \ +-e reads -e fills -e Rank +printf "\n --- Z --- \n" +grep "=== Buffer" *.stats.txt -A 170 | grep "Z:" -A 50 | grep -e 'shape' -e ' storage c' + +echo "" + +printf "=== MAC ===\n\n" +grep "=== MAC ===" timeloop-mapper.stats.txt -A 20 | grep "A[a-z]* Computes" +grep "=== MAC ===" timeloop-mapper.stats.txt -A 20 | grep Cycles + +echo "" + +printf "=== Summary Stats ===\n\n" +grep "Summary Stats" timeloop-mapper.stats.txt -B 8 | grep topology +echo " " +grep "Summary Stats" timeloop-mapper.stats.txt -A 50 | grep "Algorithmic Computes" -A 40 | grep -v "<==>" diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/03.2-conv-aggregated-stats.sh b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/03.2-conv-aggregated-stats.sh new file mode 100755 index 00000000..f9e046a0 --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/03.2-conv-aggregated-stats.sh @@ -0,0 +1,31 @@ + + +printf "\n=== BackingStorage ===\n" +printf "\n --- Weights --- \n" +grep "=== BackingStorage" *.stats.txt -A 50 | grep "Weights:" -A 26 | grep -e 'shape' -e ' storage c' -e 'format' \ +-e reads -e Rank + + +printf "\n=== Buffer ===\n" +printf "\n --- Weights --- \n" +grep "=== Buffer" *.stats.txt -A 63 | grep -e 'shape' -e ' storage c' -e 'format' -e reads -e fills -e Rank + +printf "\n --- Inputs --- \n" +grep "=== Buffer" *.stats.txt -A 120 | grep "Inputs:" -A 40 | grep -e 'shape' -e 'storage c' -e 'A[a-z]* scalar [reads|fills]' -e 'Skipped scalar [reads|fills]' -e Rank + + +printf "\n --- Outputs --- \n" +grep "=== Buffer" *.stats.txt -A 170 | grep "Outputs:" -A 40 | grep -e 'shape' -e 'data storage c' -e 'A[a-z]* scalar [reads|updates]' -e 'Skipped scalar [reads|updates]' -e Rank + +echo "" + +printf "=== MAC ===\n\n" +grep "=== MACC ===" timeloop-mapper.stats.txt -A 20 | grep "A[a-z]* Computes" +grep "=== MACC ===" timeloop-mapper.stats.txt -A 20 | grep Cycles + +echo "" + +printf "=== Summary Stats ===\n\n" +grep "Summary Stats" timeloop-mapper.stats.txt -B 8 | grep topology +echo " " +grep "Summary Stats" timeloop-mapper.stats.txt -A 50 | grep "Algorithmic Computes" -A 40 | grep -v "<==>" diff --git a/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/03.2-conv-summary-stats.sh b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/03.2-conv-summary-stats.sh new file mode 100755 index 00000000..92a04c4a --- /dev/null +++ b/workspace/tutorial_exercises/03_sparse_tensors_2021_isca/scripts/03.2-conv-summary-stats.sh @@ -0,0 +1,4 @@ +printf "=== Summary Stats ===\n\n" +grep "Summary Stats" timeloop-mapper.stats.txt -B 8 | grep topology +echo " " +grep "Summary Stats" timeloop-mapper.stats.txt -A 50 | grep "Algorithmic Computes" -A 40 | grep -v "<==>" \ No newline at end of file diff --git a/workspace/tutorial_exercises/04_compute_in_memory_2024/TUTORIALS_TO_CREATE b/workspace/tutorial_exercises/04_compute_in_memory_2024/TUTORIALS_TO_CREATE new file mode 100644 index 00000000..f89d045f --- /dev/null +++ b/workspace/tutorial_exercises/04_compute_in_memory_2024/TUTORIALS_TO_CREATE @@ -0,0 +1,56 @@ +""" +## Basic CiM Array Structure +### Basic Analog CiM Array +### CiM Container Syntax +### CiM Peripherals +""" + +""" +## Complex CiM Array Structure +### Dataflow Options +### CiMAProcessor Variables +### Variables File +### Variables free & iso +### Digital CiM +### Example Macros +""" + +""" +## CiM Components +### Component Definitions +### Provided Components +### Data-Value-Dependence +### NeuroSim Plug-In & Memory Cells +""" + +""" +## Plug-Ins +### Library Plug-In +### Adding new components to library +### User-Defined Plug-Ins +### Creating a plug-in +""" + +""" +## Building Larger Systems +### Top-Level File +### More Architecture Levels +### Examples of Larger Systems, Mix&Match +### Leakage and Power Gating +### Read/Write CiM Arrays +""" + +""" +## Running Simulations and Design Space Exploration +### Running Multiple Simulations +### Editing the Specification from Python +### Design Space Exploration Examples +### Swapping iso files +""" + +""" +## Internals +### Include file +### Defines file +### CiM Processor +""" diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/accelergy.log b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/accelergy.log new file mode 100644 index 00000000..dbecfa29 --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/accelergy.log @@ -0,0 +1,234 @@ +2024-03-28 11:00:24 INFO _ _ +2024-03-28 11:00:24 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-03-28 11:00:24 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-03-28 11:00:24 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-03-28 11:00:24 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-03-28 11:00:24 INFO |___/ |___/ +2024-03-28 11:00:24 INFO generating outputs according to the following specified output flags... +2024-03-28 11:00:24 INFO Please use the -f flag to update the preference (default to all output files) +2024-03-28 11:00:24 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-03-28 11:00:24 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-03-28 11:00:24 INFO config file located: +2024-03-28 11:00:24 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-03-28 11:00:24 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/design1.yaml for architecture info +2024-03-28 11:00:24 WARNING File /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/design1.yaml is outdated. File version is 0.4, while the latest version is 0.4. +2024-03-28 11:00:24 WARNING Please update the file to the latest version. +2024-03-28 11:00:24 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/design1.yaml for compound_components info +2024-03-28 11:00:24 WARNING File /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/design1.yaml is outdated. File version is 0.4, while the latest version is 0.4. +2024-03-28 11:00:24 WARNING Please update the file to the latest version. +2024-03-28 11:00:24 INFO primitive component file parsed: +2024-03-28 11:00:24 INFO /home/tanner/research/cimloop/venv/share/accelergy/primitive_component_libs/neurosim_components.lib.yaml +2024-03-28 11:00:24 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-03-28 11:00:24 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-03-28 11:00:24 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-03-28 11:00:24 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-03-28 11:00:24 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-03-28 11:00:24 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-03-28 11:00:24 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-03-28 11:00:24 INFO Getting all estimators in module +2024-03-28 11:00:24 INFO Getting all estimators in module +2024-03-28 11:00:24 INFO Added estimator DigitalAnalogConverterX2XLadder that estimates dac_x2x_ladder with actions convert, idle, leak, leak +2024-03-28 11:00:24 INFO Added estimator DigitalAnalogConverter_C2C that estimates dac_c2c_ladder with actions convert, idle, leak, leak +2024-03-28 11:00:24 INFO Added estimator DigitalAnalogConverter_R2R that estimates dac_r2r_ladder with actions convert, idle, leak, leak +2024-03-28 11:00:24 INFO Getting all estimators in module +2024-03-28 11:00:24 INFO Added estimator Capacitor that estimates capacitor with actions charge, idle, leak, raise_voltage_to, raise_voltage_to_from_non_supply, read, switch, update, write, leak +2024-03-28 11:00:24 INFO Added estimator ExampleRRAM that estimates ExampleRRAM with actions idle, multiply_accumulate, leak +2024-03-28 11:00:24 INFO Added estimator PassGate that estimates pass_gate with actions idle, leak +2024-03-28 11:00:24 INFO Added estimator Wire that estimates wire with actions charge, idle, leak, raise_voltage_to, raise_voltage_to_from_non_supply, read, switch, update, write, leak +2024-03-28 11:00:24 INFO Getting all estimators in module +2024-03-28 11:00:24 INFO Getting all estimators in module +2024-03-28 11:00:24 INFO Getting all estimators in module +2024-03-28 11:00:24 INFO Added estimator AccurateButPicky that estimates ternary_mac with actions idle, mac_random, leak +2024-03-28 11:00:24 INFO Added estimator InacurrateFlexible that estimates ternary_mac with actions idle, mac_random, reset, leak +2024-03-28 11:00:24 INFO Getting all estimators in module +2024-03-28 11:00:24 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-03-28 11:00:24 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-03-28 11:00:24 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-03-28 11:00:24 INFO Found estimator plug-in: table-based-plug-ins () +2024-03-28 11:00:24 INFO Found estimator plug-in: Aladdin_table () +2024-03-28 11:00:24 INFO Found estimator plug-in: dummy_table () +2024-03-28 11:00:24 INFO Found estimator plug-in: Neurosim Plug-In () +2024-03-28 11:00:24 INFO Found estimator plug-in: Library () +2024-03-28 11:00:24 INFO Found estimator plug-in: ADC Plug-In () +2024-03-28 11:00:24 INFO Found estimator plug-in: DigitalAnalogConverterX2XLadder () +2024-03-28 11:00:24 INFO Found estimator plug-in: DigitalAnalogConverter_C2C () +2024-03-28 11:00:24 INFO Found estimator plug-in: DigitalAnalogConverter_R2R () +2024-03-28 11:00:24 INFO Found estimator plug-in: Capacitor () +2024-03-28 11:00:24 INFO Found estimator plug-in: ExampleRRAM () +2024-03-28 11:00:24 INFO Found estimator plug-in: PassGate () +2024-03-28 11:00:24 INFO Found estimator plug-in: Wire () +2024-03-28 11:00:24 INFO Found estimator plug-in: AccurateButPicky () +2024-03-28 11:00:24 INFO Found estimator plug-in: InacurrateFlexible () +2024-03-28 11:00:24 INFO Found estimator plug-in: CactiCache () +2024-03-28 11:00:24 INFO Found estimator plug-in: CactiDRAM () +2024-03-28 11:00:24 INFO Found estimator plug-in: CactiSRAM () +2024-03-28 11:00:24 INFO +2024-03-28 11:00:24 INFO ENERGY ESTIMATION for ternary_mac(tech_node=45, accum_datawidth=5, global_cycle_seconds=0.001, action_latency_cycles=1, cycle_seconds=0.001, technology=45nm, n_instances=1).mac_random(unsigned=0, global_cycle_seconds=0.001, action_latency_cycles=1, cycle_seconds=0.001, technology=45nm, n_instances=1) +2024-03-28 11:00:24 INFO AccurateButPicky estimated 6.913899529408735e-13 with accuracy 99%. Messages: +2024-03-28 11:00:24 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for ternary_mac.__init__. Arguments used: (tech_node, accum_datawidth) +2024-03-28 11:00:24 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for ternary_mac.mac_random. Arguments used: (unsigned) +2024-03-28 11:00:24 DEBUG Why plug-ins did not estimate: +2024-03-28 11:00:24 DEBUG | AccurateButPicky with accuracy 99% estimating accuracy: No messages found. +2024-03-28 11:00:24 DEBUG | InacurrateFlexible with accuracy 50% estimating accuracy: No messages found. +2024-03-28 11:00:24 DEBUG | table-based-plug-ins with accuracy 0% estimating accuracy: Identified a set of tables named: test_tables +2024-03-28 11:00:24 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Primitive class ternary_mac is not supported. Supported classes are: ['regfile', 'SRAM', 'counter', 'comparator', 'crossbar', 'wire', 'FIFO', 'bitwise', 'intadder', 'intmultiplier', 'intmac', 'fpadder', 'fpmultiplier', 'fpmac', 'reg'] +2024-03-28 11:00:24 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-03-28 11:00:24 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support ternary_mac. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-03-28 11:00:24 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find energy for ternary_mac +2024-03-28 11:00:24 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support ternary_mac.mac_random. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'], supported actions: ['convert', 'drive', 'read', 'sample', 'leak', 'activate'] +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverterX2XLadder with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['dac_x2x_ladder'] +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverter_C2C with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['dac_c2c_ladder'] +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverter_R2R with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['dac_r2r_ladder'] +2024-03-28 11:00:24 DEBUG | Capacitor with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['capacitor'] +2024-03-28 11:00:24 DEBUG | ExampleRRAM with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['ExampleRRAM'] +2024-03-28 11:00:24 DEBUG | PassGate with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['pass_gate'] +2024-03-28 11:00:24 DEBUG | Wire with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['wire'] +2024-03-28 11:00:24 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['cache'] +2024-03-28 11:00:24 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['DRAM'] +2024-03-28 11:00:24 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['SRAM'] +2024-03-28 11:00:24 INFO +2024-03-28 11:00:24 INFO ENERGY ESTIMATION for ternary_mac(tech_node=45, accum_datawidth=5, global_cycle_seconds=0.001, action_latency_cycles=1, cycle_seconds=0.001, technology=45nm, n_instances=1).mac_random(unsigned=1, global_cycle_seconds=0.001, action_latency_cycles=1, cycle_seconds=0.001, technology=45nm, n_instances=1) +2024-03-28 11:00:24 INFO InacurrateFlexible estimated 3.4569497647043674e-13 with accuracy 50%. Messages: +2024-03-28 11:00:24 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for ternary_mac.__init__. Arguments used: (tech_node, accum_datawidth) +2024-03-28 11:00:24 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for ternary_mac.mac_random. Arguments used: (unsigned) +2024-03-28 11:00:24 INFO | Unsigned mac_random consuming half the energy. +2024-03-28 11:00:24 DEBUG Estimator logs: +2024-03-28 11:00:24 DEBUG | AccurateButPicky with accuracy 99% estimating value: +2024-03-28 11:00:24 DEBUG | | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for ternary_mac.__init__. Arguments used: (tech_node, accum_datawidth) +2024-03-28 11:00:24 DEBUG | | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for ternary_mac.mac_random. Arguments used: (unsigned) +2024-03-28 11:00:24 DEBUG | | AssertionError: Sorry, I only support signed operands. +2024-03-28 11:00:24 DEBUG Why plug-ins did not estimate: +2024-03-28 11:00:24 DEBUG | AccurateButPicky with accuracy 99% estimating accuracy: No messages found. +2024-03-28 11:00:24 DEBUG | InacurrateFlexible with accuracy 50% estimating accuracy: No messages found. +2024-03-28 11:00:24 DEBUG | table-based-plug-ins with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-03-28 11:00:24 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Primitive class ternary_mac is not supported. Supported classes are: ['regfile', 'SRAM', 'counter', 'comparator', 'crossbar', 'wire', 'FIFO', 'bitwise', 'intadder', 'intmultiplier', 'intmac', 'fpadder', 'fpmultiplier', 'fpmac', 'reg'] +2024-03-28 11:00:24 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-03-28 11:00:24 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support ternary_mac. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-03-28 11:00:24 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find energy for ternary_mac +2024-03-28 11:00:24 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support ternary_mac.mac_random. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'], supported actions: ['convert', 'drive', 'read', 'sample', 'leak', 'activate'] +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverterX2XLadder with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['dac_x2x_ladder'] +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverter_C2C with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['dac_c2c_ladder'] +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverter_R2R with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['dac_r2r_ladder'] +2024-03-28 11:00:24 DEBUG | Capacitor with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['capacitor'] +2024-03-28 11:00:24 DEBUG | ExampleRRAM with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['ExampleRRAM'] +2024-03-28 11:00:24 DEBUG | PassGate with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['pass_gate'] +2024-03-28 11:00:24 DEBUG | Wire with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['wire'] +2024-03-28 11:00:24 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['cache'] +2024-03-28 11:00:24 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['DRAM'] +2024-03-28 11:00:24 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['SRAM'] +2024-03-28 11:00:24 DEBUG | AccurateButPicky with accuracy 99% estimating value: AssertionError: Sorry, I only support signed operands. +2024-03-28 11:00:24 INFO Plug-ins provided accuracy, but failed to estimate: +2024-03-28 11:00:24 INFO | AccurateButPicky with accuracy 99% estimating value: AssertionError: Sorry, I only support signed operands. +2024-03-28 11:00:24 INFO +2024-03-28 11:00:24 INFO ENERGY ESTIMATION for ternary_mac(tech_node=45, accum_datawidth=5, global_cycle_seconds=0.001, action_latency_cycles=1, cycle_seconds=0.001, technology=45nm, n_instances=1).reset(make_expensive=1, global_cycle_seconds=0.001, action_latency_cycles=1, cycle_seconds=0.001, technology=45nm, n_instances=1) +2024-03-28 11:00:24 INFO InacurrateFlexible estimated 1 with accuracy 50%. Messages: +2024-03-28 11:00:24 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for ternary_mac.__init__. Arguments used: (tech_node, accum_datawidth) +2024-03-28 11:00:24 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for ternary_mac.reset. Arguments used: (make_expensive) +2024-03-28 11:00:24 INFO | InacurrateFlexible reset is expensive! Returning a high energy. +2024-03-28 11:00:24 DEBUG Why plug-ins did not estimate: +2024-03-28 11:00:24 DEBUG | InacurrateFlexible with accuracy 50% estimating accuracy: No messages found. +2024-03-28 11:00:24 DEBUG | table-based-plug-ins with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-03-28 11:00:24 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Primitive class ternary_mac is not supported. Supported classes are: ['regfile', 'SRAM', 'counter', 'comparator', 'crossbar', 'wire', 'FIFO', 'bitwise', 'intadder', 'intmultiplier', 'intmac', 'fpadder', 'fpmultiplier', 'fpmac', 'reg'] +2024-03-28 11:00:24 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-03-28 11:00:24 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support ternary_mac. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-03-28 11:00:24 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find energy for ternary_mac +2024-03-28 11:00:24 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support ternary_mac.reset. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc'], supported actions: ['convert', 'drive', 'read', 'sample', 'leak', 'activate'] +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverterX2XLadder with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['dac_x2x_ladder'] +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverter_C2C with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['dac_c2c_ladder'] +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverter_R2R with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['dac_r2r_ladder'] +2024-03-28 11:00:24 DEBUG | Capacitor with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['capacitor'] +2024-03-28 11:00:24 DEBUG | ExampleRRAM with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['ExampleRRAM'] +2024-03-28 11:00:24 DEBUG | PassGate with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['pass_gate'] +2024-03-28 11:00:24 DEBUG | Wire with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['wire'] +2024-03-28 11:00:24 DEBUG | AccurateButPicky with accuracy 0% estimating accuracy: AttributeError: No action with name reset found in ternary_mac. Actions supported: idle, mac_random, leak +2024-03-28 11:00:24 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['cache'] +2024-03-28 11:00:24 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['DRAM'] +2024-03-28 11:00:24 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['SRAM'] +2024-03-28 11:00:24 WARNING No action counts are specified as yaml input +2024-03-28 11:00:24 INFO +2024-03-28 11:00:24 INFO AREA ESTIMATION for DRAM(reduction_supported=False, width=256, technology=45nm, tech_node=45, global_cycle_seconds=0.001, action_latency_cycles=1, cycle_seconds=0.001, n_instances=1) +2024-03-28 11:00:24 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-03-28 11:00:24 INFO | Unused arguments (reduction_supported, technology, tech_node, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances, datawidth) provided for DRAM.__init__. Arguments used: (width) +2024-03-28 11:00:24 DEBUG Why plug-ins did not estimate: +2024-03-28 11:00:24 DEBUG | CactiDRAM with accuracy 80% estimating accuracy: No messages found. +2024-03-28 11:00:24 DEBUG | table-based-plug-ins with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-03-28 11:00:24 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-03-28 11:00:24 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-03-28 11:00:24 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support dram. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-03-28 11:00:24 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find area for dram +2024-03-28 11:00:24 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support DRAM.None. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc']. +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverterX2XLadder with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['dac_x2x_ladder'] +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverter_C2C with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['dac_c2c_ladder'] +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverter_R2R with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['dac_r2r_ladder'] +2024-03-28 11:00:24 DEBUG | Capacitor with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['capacitor'] +2024-03-28 11:00:24 DEBUG | ExampleRRAM with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['ExampleRRAM'] +2024-03-28 11:00:24 DEBUG | PassGate with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['pass_gate'] +2024-03-28 11:00:24 DEBUG | Wire with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['wire'] +2024-03-28 11:00:24 DEBUG | AccurateButPicky with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['ternary_mac'] +2024-03-28 11:00:24 DEBUG | InacurrateFlexible with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['ternary_mac'] +2024-03-28 11:00:24 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['cache'] +2024-03-28 11:00:24 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name DRAM is not supported. Supported class names: ['SRAM'] +2024-03-28 11:00:24 INFO +2024-03-28 11:00:24 INFO AREA ESTIMATION for SRAM(depth=16, width=64, datawidth=8, technology=45nm, tech_node=45, global_cycle_seconds=0.001, action_latency_cycles=1, cycle_seconds=0.001, n_instances=1) +2024-03-28 11:00:24 INFO CactiSRAM estimated 5.3594e-10 with accuracy 80%. Messages: +2024-03-28 11:00:24 INFO | Unused arguments (datawidth, tech_node, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (depth, width, technology) +2024-03-28 11:00:24 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-03-28 11:00:24 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpk4wnoyb8 +2024-03-28 11:00:24 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpxlx79coh +2024-03-28 11:00:24 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-03-28 11:00:24 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpk4wnoyb8 >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpxlx79coh 2>&1 +2024-03-28 11:00:24 INFO | Cache bandwidth: 8.0 bits/cycle +2024-03-28 11:00:24 INFO | Cache bandwidth: 112.57794703559398 bits/second +2024-03-28 11:00:24 DEBUG Why plug-ins did not estimate: +2024-03-28 11:00:24 DEBUG | CactiSRAM with accuracy 80% estimating accuracy: No messages found. +2024-03-28 11:00:24 DEBUG | table-based-plug-ins with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-03-28 11:00:24 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-03-28 11:00:24 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-03-28 11:00:24 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support sram. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-03-28 11:00:24 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find area for sram +2024-03-28 11:00:24 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support SRAM.None. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc']. +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverterX2XLadder with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['dac_x2x_ladder'] +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverter_C2C with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['dac_c2c_ladder'] +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverter_R2R with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['dac_r2r_ladder'] +2024-03-28 11:00:24 DEBUG | Capacitor with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['capacitor'] +2024-03-28 11:00:24 DEBUG | ExampleRRAM with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['ExampleRRAM'] +2024-03-28 11:00:24 DEBUG | PassGate with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['pass_gate'] +2024-03-28 11:00:24 DEBUG | Wire with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['wire'] +2024-03-28 11:00:24 DEBUG | AccurateButPicky with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['ternary_mac'] +2024-03-28 11:00:24 DEBUG | InacurrateFlexible with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['ternary_mac'] +2024-03-28 11:00:24 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['cache'] +2024-03-28 11:00:24 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name SRAM is not supported. Supported class names: ['DRAM'] +2024-03-28 11:00:24 INFO +2024-03-28 11:00:24 INFO AREA ESTIMATION for ternary_mac(tech_node=45, accum_datawidth=5, global_cycle_seconds=0.001, action_latency_cycles=1, cycle_seconds=0.001, technology=45nm, n_instances=1) +2024-03-28 11:00:24 INFO AccurateButPicky estimated 1.4944525594876197e-09 with accuracy 99%. Messages: +2024-03-28 11:00:24 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for ternary_mac.__init__. Arguments used: (tech_node, accum_datawidth) +2024-03-28 11:00:24 DEBUG Why plug-ins did not estimate: +2024-03-28 11:00:24 DEBUG | AccurateButPicky with accuracy 99% estimating accuracy: No messages found. +2024-03-28 11:00:24 DEBUG | InacurrateFlexible with accuracy 50% estimating accuracy: No messages found. +2024-03-28 11:00:24 DEBUG | table-based-plug-ins with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-03-28 11:00:24 DEBUG | Aladdin_table with accuracy 0% estimating accuracy: Accuracy is 0%. Not supported. +2024-03-28 11:00:24 DEBUG | dummy_table with accuracy 0% estimating accuracy: Set attribute "technology" to -1 to use the dummy table +2024-03-28 11:00:24 DEBUG | Neurosim Plug-In with accuracy 0% estimating accuracy: ERROR: NeuroSim estimator does not support ternary_mac. Supported primitives are: ['array_row_drivers', 'array_col_drivers', 'array_adc', 'memory_cell', 'shift_add', 'intadder', 'intadder_tree', 'max_pool', 'mux', 'flip_flop', 'not_gate', 'nand_gate', 'nor_gate'] +2024-03-28 11:00:24 DEBUG | Library with accuracy 0% estimating accuracy: ValueError: Could not find area for ternary_mac +2024-03-28 11:00:24 DEBUG | ADC Plug-In with accuracy 0% estimating accuracy: ADC Plug-In does not support ternary_mac.None. Supported classes: ['adc', 'pim_adc', 'sar_adc', 'array_adc', 'pim_array_adc', 'cim_array_adc', 'cim_adc']. +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverterX2XLadder with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['dac_x2x_ladder'] +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverter_C2C with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['dac_c2c_ladder'] +2024-03-28 11:00:24 DEBUG | DigitalAnalogConverter_R2R with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['dac_r2r_ladder'] +2024-03-28 11:00:24 DEBUG | Capacitor with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['capacitor'] +2024-03-28 11:00:24 DEBUG | ExampleRRAM with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['ExampleRRAM'] +2024-03-28 11:00:24 DEBUG | PassGate with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['pass_gate'] +2024-03-28 11:00:24 DEBUG | Wire with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['wire'] +2024-03-28 11:00:24 DEBUG | CactiCache with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['cache'] +2024-03-28 11:00:24 DEBUG | CactiDRAM with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['DRAM'] +2024-03-28 11:00:24 DEBUG | CactiSRAM with accuracy 0% estimating accuracy: Class name ternary_mac is not supported. Supported class names: ['SRAM'] +2024-03-28 11:00:24 INFO verbose flattened architecture is saved to: +2024-03-28 11:00:24 INFO out_dir/flattened_architecture_verbose.yaml +2024-03-28 11:00:24 INFO energy reference table is saved to: +2024-03-28 11:00:24 INFO out_dir/ERT.yaml +2024-03-28 11:00:24 INFO verbose energy reference table summary is saved to: +2024-03-28 11:00:24 INFO out_dir/ERT_summary_verbose.yaml +2024-03-28 11:00:24 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-03-28 11:00:24 INFO area reference table is saved to: +2024-03-28 11:00:24 INFO out_dir/ART.yaml +2024-03-28 11:00:24 INFO verbose area reference table summary is saved to: +2024-03-28 11:00:24 INFO out_dir/ART_summary_verbose.yaml diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/creating_first_plug_in.ipynb b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/creating_first_plug_in.ipynb new file mode 100644 index 00000000..9124632a --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/creating_first_plug_in.ipynb @@ -0,0 +1,500 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# **Creating your First Plug-In**\n", + "This notebook guides you through the process of creating your first Accelergy\n", + "plug-in." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from utils.helper_functions import *\n", + "import os\n", + "CURRENT_DIR = os.path.dirname(os.path.realpath('__file__'))\n", + "PLUG_IN_SCRIPT = 'out_dir/_plug_in_tmp.py'\n", + "LOGFILE = 'out_dir/accelergy.log'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Introducing the Ternary MAC Plug-In**\n", + "We'd like to build a custom MAC unit for ternary neural nets. Ternary neural\n", + " nets restrict input activations and weight values to [-1, 0, 1]. This\n", + " allows them to compute MACs with extremely simple hardware. Each\n", + " $Input\\times Weight$ value is also in [-1, 0, 1], so a MAC can be computed\n", + " with a single increment/decrement of the psum. Suppose that, based on\n", + " simulations, we have the following formulas for the energy and area of the\n", + " ternary MAC unit: $$MAC\\ Energy (pJ) = 0.002\\times(Accum.\\ Datawidth +\n", + " 0.25) \\times (Tech\\ Node)^{1.1} $$ $$Area\\ (um^2) = 2\\times(Accum.\\\n", + " Datawidth + 0.3) \\times (Tech\\ Node)^{1.3} $$\n", + "\n", + "We also set a few restrictions on our model: $$ 4\\le Accum.\\ Datawidth \\le 8 $$\n", + " $$ 16\\le Tech\\ Node \\le 130 $$\n", + "\n", + "\n", + "Let's build an Accelergy plug-in to implement our new MAC unit. The plug-in\n", + "below is commented to explain each part. All \"REQUIRED\" pieces must be included\n", + "for the plug-in to work." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from accelergy.plug_in_interface.estimator import (\n", + " Estimator, actionDynamicEnergy, add_estimator_path, remove_estimator_path\n", + ")\n", + "\n", + "# REQUIRED: Declare a new Accelergy Estimator\n", + "class TernaryMAC(Estimator):\n", + " # REQUIRED: Tell Accelergy the name of this Estimator\n", + " name = 'ternary_mac'\n", + " # REQUIRED: Tell Accelergy the accuracy of this Estimator\n", + " percent_accuracy_0_to_100 = 80\n", + "\n", + " def __init__(self, accum_datawidth: int, tech_node: int):\n", + " self.accum_datawidth = accum_datawidth\n", + " self.tech_node = tech_node\n", + " # Raising an error tells Accelergy that this plug-in can't estimate,\n", + " # and Accelergy should query other plug-ins instead. Good error\n", + " # messages are essential for users debugging Accelergy designs.\n", + " assert 4 <= accum_datawidth <= 8, \\\n", + " f'Accumulation datawidth {accum_datawidth} outside supported ' \\\n", + " f'range [4-8]!'\n", + " assert 16 <= tech_node <= 130, \\\n", + " f'Technology node {tech_node} outside supported range [16, 130]!'\n", + "\n", + " # The actionDynamicEnergy decorator tells Accelergy that this function should be\n", + " # made visible as an action. The function should return an energy in\n", + " # Joules.\n", + " @actionDynamicEnergy\n", + " def mac_random(self) -> float:\n", + " self.logger.info(f'TernaryMAC Estimator is estimating '\n", + " f'energy for mac_random.')\n", + " return 0.002e-12 * (self.accum_datawidth + 0.25) * self.tech_node**1.1\n", + "\n", + " # REQUIRED: The get_area function returns the area of this component. It is\n", + " # required in all plug-ins. The function should return an area in m$^2$.\n", + " def get_area(self) -> float:\n", + " self.logger.info(f'TernaryMAC Estimator is estimating area.')\n", + " return 2 * (self.accum_datawidth + 0.3) * self.tech_node ** 1.3 * 1e-12\n", + " \n", + " # REQUIRED: The get_latency function returns the latency of this component.\n", + " def leak(self, global_cycle_seconds: float) -> float:\n", + " \"\"\" Returns the leakage energy per global cycle or an Estimation object \n", + " with the leakage energy and units. \"\"\"\n", + " return 1e-3 * global_cycle_seconds # 1mW\n", + "\n", + "# Ignore the next line. Moves the plug-in to a script because we're in a\n", + "# Jupyter notebook.\n", + "plugin_notebook2script(TernaryMAC, PLUG_IN_SCRIPT) \n", + "\n", + "# The following is for testing purposes. For actual plug-ins, use the pip install\n", + "# instructions found later in this tutorial.\n", + "add_estimator_path(PLUG_IN_SCRIPT) # Install plug-in so Accelergy can find it." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Plug-In Essential Pieces**\n", + "\n", + "Accelergy plug-ins are identified by inheriting the Estimator class from\n", + "accelergy.plug_in_interface.estimator. All Estimator classes defined in a\n", + "module are automatically imported by Accelergy and made available to Accelergy.\n", + "\n", + "**The following are the essential pieces for an Accelergy Estimator class:**\n", + "- The class must inherit from Estimator\n", + "- The class must have a `name` attribute. `name` can either be a string or a\n", + " list of strings. If the `name` attribute matches the `class` of an Accelergy\n", + " design component, the plug-in may be used to estimate the area/energy of that\n", + " component.\n", + "- The class must have a `percent_accuracy_0_to_100` attribute. This is a number\n", + " between 0 and 100 that tells Accelergy how accurate the plug-in is. It\n", + " determines a plug-in's priority when multiple plug-ins are available for a\n", + " component.\n", + "- The class must have a get_area function. This function should return the area\n", + " of the component in m$^2$. This function should not have any arguments.\n", + "- Any number of functions may be decorated with `@actionDynamicEnergy`. These\n", + " functions are named the name of an action, and they return the energy of that\n", + " action in Joules. These functions may have any number of arguments.\n", + "\n", + "Modules with plug-ins can be installed with the add_estimator_path function,\n", + "which adds a path for Accelergy to search. The remove_estimator_path can remove\n", + "paths.\n", + "\n", + "### Let's see our plug-in estimate the area and energy of the ternary MAC unit" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "TARGET_YAML = os.path.join(CURRENT_DIR, 'utils/design0.yaml')\n", + "# Check the YAML file we'll be using to query our new plug-in\n", + "print('YAML file to query our new plug-in:')\n", + "print(yaml_section(TARGET_YAML, ['compound_components']))\n", + "\n", + "# Run Accelergy to generate the output directory\n", + "!mkdir out_dir\n", + "print(f'\\nRunning Accelergy...')\n", + "!accelergy {TARGET_YAML} -o out_dir > out_dir/accelergy.log 2>&1\n", + "\n", + "# Check the output of Accelergy\n", + "READ_LOGGED = 'ESTIMATION for ternary_mac'\n", + "print(f'\\nAccelergy log from TernaryMAC plug-in:')\n", + "print(get_log_lines(LOGFILE, READ_LOGGED))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Area/Energy Estimations**\n", + "Accelergy will output an Area Reference Table (ART) and Energy Reference Table\n", + "(ERT) with area/energy breakdowns of the architecture. The estimations from our\n", + "plug-in, alongside those of other plug-ins, will be used to fill this table.\n", + "\n", + "#### **Estimating Area of a Component**\n", + "The `get_area` function is called on the Estimator instance to get the area of\n", + "the component. This function should not take any arguments. If the Estimator\n", + "class can not estimate the area, it should raise an error. This will cause\n", + "Accelergy to look for another Estimator. Accelergy will report the error if no\n", + "other Estimator is found.\n", + "\n", + "#### **Estimating Energy of an Action**\n", + "If an Estimator has been instantiated for a component, Accelergy will search for\n", + "functions decorated with `@actionDynamicEnergy`. If the name of the function\n", + "matches the name of an action, the function will be used to estimate energy.\n", + "\n", + "If the Accelergy design specifies arguments for an action, the arguments will\n", + "be passed to the function. Extra arguments are ignored, but missing arguments\n", + "will cause a failed match. If an argument has a default value, the default\n", + "value will be used if the argument is not specified in the Accelergy design.\n", + "\n", + "If the function can not estimate the area, it should raise an error. This will\n", + "cause Accelergy to look for another Estimator. Accelergy will report the error\n", + "if no other Estimator is found.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Find the estimations in the output ERT\n", + "print(f'\\nAccelergy ERT with TernaryMAC estimations. Reported numbers in pJ:')\n", + "print(yaml_section('./out_dir/ERT.yaml', ['ERT', 'tables', -1]))\n", + "print(f'\\nAccelergy ART with TernaryMAC estimations. Reported numbers in um$^2$:')\n", + "print(yaml_section('./out_dir/ART.yaml', ['ART', 'tables', -1]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Instantiating Plug-Ins**\n", + "When Accelergy parses architectures, it will generate a list of components and\n", + "attributes. Additionally, each component will have associated actions.\n", + "Accelergy searches for the plug-in with the highest accuracy to estimate the\n", + "area of each component and the energy of each action.\n", + "\n", + "An instance the Estimator class is created for a component if the following\n", + "conditions are met:\n", + "- The `class` attribute of the component matches the `name` attribute of the\n", + " Estimator class\n", + "- The attributes of the component match the arguments of the Estimator class's\n", + " \\_\\_init\\_\\_ function. Extra attributes are ignored, but missing attributes\n", + " will cause a failed match.\n", + "- This is the highest-accuracy matching Estimator available to Accelergy.\n", + "\n", + "Let's try putting together a few plug-ins and see which ones Accelergy picks.\n", + "We'll set up two plug-ins:\n", + "- The AccurateButPicky Estimator has a very high accuracy, but only supports\n", + " signed operands for its MAC operation. It also does not have a reset\n", + " operation.\n", + "- The InaccurateFlexible Estimator has a lower accuracy, but supports both\n", + " signed and unsigned operands. It also has a reset operation with an optional\n", + " argument make_expensive that makes the reset operation *very*\n", + " energy-intensive." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "class AccurateButPicky(Estimator):\n", + " name = 'ternary_mac'\n", + " percent_accuracy_0_to_100 = 99 # This plug-in is VERY confident\n", + "\n", + " def __init__(self, accum_datawidth: int, tech_node: int):\n", + " self.accum_datawidth = accum_datawidth\n", + " self.tech_node = tech_node\n", + "\n", + " @actionDynamicEnergy\n", + " def mac_random(self, unsigned: bool) -> float:\n", + " assert not unsigned, 'Sorry, I only support signed operands.'\n", + " return 0.002e-12 * (self.accum_datawidth + 0.25) * self.tech_node**1.1\n", + "\n", + " def get_area(self) -> float:\n", + " return 2e-12 * (self.accum_datawidth + 0.3) * self.tech_node**1.3\n", + "\n", + " def leak(self, global_cycle_seconds: float) -> float:\n", + " return 1e-3 * global_cycle_seconds # 1mW\n", + "\n", + "class InacurrateFlexible(Estimator):\n", + " name = 'ternary_mac'\n", + " percent_accuracy_0_to_100 = 50 # This plug-in is not very confident\n", + "\n", + " def __init__(self, accum_datawidth: int, tech_node: int):\n", + " self.accum_datawidth = accum_datawidth\n", + " self.tech_node = tech_node\n", + "\n", + " @actionDynamicEnergy\n", + " def mac_random(self, unsigned: bool) -> float:\n", + " energy = 0.002e-12 * (self.accum_datawidth + 0.25) * \\\n", + " self.tech_node**1.1\n", + " if unsigned:\n", + " self.logger.info('Unsigned mac_random consuming half the energy.')\n", + " energy /= 2\n", + " return energy\n", + " \n", + " @actionDynamicEnergy\n", + " def reset(self, make_expensive: bool=False) -> float:\n", + " if make_expensive:\n", + " self.logger.info('InacurrateFlexible reset is expensive! '\n", + " 'Returning a high energy.')\n", + " return 1 # 1 Joule\n", + " return 2e-12 * self.tech_node ** 1.1\n", + " \n", + " def get_area(self) -> float:\n", + " return 2 * (self.accum_datawidth + 0.3) * self.tech_node ** 1.3 * 1e-12\n", + "\n", + " def leak(self, global_cycle_seconds: float) -> float:\n", + " return 1e-3 * global_cycle_seconds # 1mW\n", + "\n", + "# Ignore this line. Moves the plug-in to the script.\n", + "plugin_notebook2script([AccurateButPicky, InacurrateFlexible], PLUG_IN_SCRIPT)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Plug-In Precedence and Function Calling Example**\n", + "A new compound component is set up to query our two plug-ins. It has four\n", + "actions:\n", + "- mac_random_to_accurate_picky: This component+action is set up to fit the\n", + " AccurateButPicky Estimator.\n", + "- mac_random_to_inaccurate_flexible: Accelergy first asks the AccurateButPicky\n", + " estimator, but the picky estimator raises an error. Accelergy queries the\n", + " InaccurateFlexible estimator.\n", + "- reset_inexpensive_default_argument: Only the InaccurateFlexible estimator has\n", + " a reset action. The estimator has a make_expensive argument with a default of\n", + " 0. The make_expensive argument is not specified in the YAML so is set to its\n", + " default of 0.\n", + "- reset_expensive_specified_argument: The make_expensive argument is specified\n", + " in the YAML and overrides the default value from the InaccurateFlexible\n", + " Estimator. Reset is very expensive indeed." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "TARGET_YAML = os.path.join(CURRENT_DIR, 'utils/design1.yaml')\n", + "\n", + "# Check the YAML file we'll be using to query our new plug-in\n", + "print('YAML file to query our new plug-in:')\n", + "print(yaml_section(TARGET_YAML, ['compound_components']))\n", + "\n", + "# Run Accelergy to generate the output directory\n", + "print(f'\\nRunning Accelergy...')\n", + "!accelergy {TARGET_YAML} -v -o out_dir > accelergy.log 2>&1\n", + "\n", + "# Find the estimations in the output ERT\n", + "print(f'\\nAccelergy ERT with TernaryMAC estimations. Reported numbers in pJ:')\n", + "print(yaml_section('./out_dir/ERT_summary_verbose.yaml', \n", + " ['ERT_summary', 'table_summary', -1, 'primitive_estimation(s)'], \n", + " ['name', 'action_name', 'arguments', 'energy', 'estimator']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Interpreting Estimator Logs**\n", + "Estimator classes communicate with the user in two ways:\n", + "- If an estimator class can not be instantiated or can not estimate something,\n", + " it should raise an error. The error message is shown in the Accelergy log\n", + " file if no other Estimator can be found.\n", + "- Each Estimator class has a logger attribute. This is a Python logger that\n", + " includes info(message), warning(message), and error(message) functions. If an\n", + " estimator is used to estimate something, the logger's messages are shown in\n", + " the Accelergy log file depending on the verbosity level.\n", + "\n", + "By peeking at Accelergy's output, we can see the procedure by which Accelergy\n", + "finds estimators. Let's see what Accelergy tells us about the\n", + "ternary_mac.mac_random(unsigned=1) action:\n", + "1. Accelergy found that both the InacurrateFlexible and AccurateButPicky\n", + " estimators have a matching name and action mac_random(unsigned).\n", + "2. Accelergy asks the higher-accuracy plug-in AccurateButPicky to estimate the\n", + " energy.\n", + "3. The AccurateButPicky plug-in raises an error because the unsigned argument\n", + " is not False.\n", + "4. Accelergy asks the lower-accuracy plug-in InacurrateFlexible to estimate the\n", + " energy.\n", + "5. The InacurrateFlexible plug-in estimates the energy and returns it to\n", + " Accelergy.\n", + "\n", + "Generally, Accelergy will report logs from the plug-in used to estimate\n", + "energy/area. It will also report errors if a plug-in tried to estimate\n", + "energy/area but failed. To see the logs from all installed plug-ins, we can run\n", + "Accelergy with the -v flag. This will cause Accelergy to print the reason why\n", + "each and every plug-in was or was not used to estimate energy/area." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "READ_LOGGED = ['ENERGY ESTIMATION', 'ternary_mac', 'mac_random']\n", + "\n", + "print(f'Running Accelergy with standard logging...')\n", + "!accelergy {TARGET_YAML} -o out_dir > accelergy.log 2>&1\n", + "print(get_log_lines(LOGFILE, READ_LOGGED))\n", + "\n", + "print(f'\\n\\nRunning Accelergy with verbose logging...')\n", + "!accelergy {TARGET_YAML} -v -o out_dir > accelergy.log 2>&1\n", + "print(get_log_lines(LOGFILE, READ_LOGGED))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Cleaning Up**\n", + "We're all done! Let's uninstall the plug-in and create a template for future plug-ins." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "remove_estimator_path(PLUG_IN_SCRIPT)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Template for Your Plug-Ins**\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "markdown = f'''\n", + "```python\n", + "{open('plug_in_template/template.py').read()}\n", + "```\n", + "'''\n", + "from IPython.display import Markdown\n", + "Markdown(markdown)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Pip Installing Plug-Ins\n", + "Plug-ins can also be installed using pip. To install the plug-in as a pip package, two additional\n", + "files are required. First, a `.estimator.yaml` file points to the Python files that\n", + "contain the estimator plug-ins. Next, a `setup.py` file performs the pip install.\n", + "\n", + "Templates for both files can be found in the plug_in_template directory." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + " markdown = f'''\n", + "# The .estimator.yaml file\n", + "```yaml\n", + "{open('plug_in_template/template.estimator.yaml').read()}\n", + "```\n", + "'''\n", + "from IPython.display import Markdown\n", + "display(Markdown(markdown))\n", + "\n", + " markdown = f'''\n", + "# The setup.py file\n", + "```python\n", + "{open('plug_in_template/setup.py').read()}\n", + "```\n", + "'''\n", + "from IPython.display import Markdown\n", + "display(Markdown(markdown))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + }, + "pycharm": { + "stem_cell": { + "cell_type": "raw", + "metadata": { + "collapsed": false + }, + "source": [] + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ART.yaml b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ART.yaml new file mode 100644 index 00000000..b5e3899f --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ART.yaml @@ -0,0 +1,9 @@ +ART: + version: '0.4' + tables: + - name: system_arch.chip.DRAM + area: 0.0 + - name: system_arch.chip.buffer + area: 535.94 + - name: system_arch.chip.PE[1..8] + area: 1494.452559 diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ART_summary.yaml b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ART_summary.yaml new file mode 100644 index 00000000..8f1f2fda --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ART_summary.yaml @@ -0,0 +1,14 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_arch.chip.DRAM + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_arch.chip.buffer + area: 535.94 + primitive_estimations: CactiSRAM + - name: system_arch.chip.PE[1..8] + area: 1494.452559 + primitive_estimations: + - name: mac + estimator: AccurateButPicky diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ART_summary_verbose.yaml b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ART_summary_verbose.yaml new file mode 100644 index 00000000..b4ad567b --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ART_summary_verbose.yaml @@ -0,0 +1,17 @@ +ART_summary: + version: '0.4' + table_summary: + - name: system_arch.chip.DRAM + area: 0.0 + primitive_estimations: CactiDRAM + - name: system_arch.chip.buffer + area: 535.94 + primitive_estimations: CactiSRAM + - name: system_arch.chip.PE[1..8] + area: 1494.452559 + primitive_estimations: + - name: mac + estimator: AccurateButPicky + area: 1494.452559 + area_share: 1 + total_component_area: 1494.452559 diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ERT.yaml b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ERT.yaml new file mode 100644 index 00000000..52400e83 --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ERT.yaml @@ -0,0 +1,14 @@ +ERT: + version: '0.4' + tables: + - name: system_arch.chip.PE[1..8] + actions: + - name: mac_random_to_accurate_picky + arguments: {} + energy: 0.69139 + - name: mac_random_to_inaccurate_flexible + arguments: {} + energy: 0.345695 + - name: reset_expensive_specified_argument + arguments: {} + energy: 1000000000000.0 diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ERT_summary.yaml b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ERT_summary.yaml new file mode 100644 index 00000000..ee417d02 --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ERT_summary.yaml @@ -0,0 +1,14 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_arch.chip.PE[1..8] + actions: + - name: mac_random_to_accurate_picky + energy: 0.69139 + - name: mac_random_to_inaccurate_flexible + energy: 0.345695 + - name: reset_expensive_specified_argument + energy: 1000000000000.0 + primitive_estimation(s): + - name: mac + estimator: AccurateButPicky diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ERT_summary_verbose.yaml b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ERT_summary_verbose.yaml new file mode 100644 index 00000000..8ea8682a --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/ERT_summary_verbose.yaml @@ -0,0 +1,66 @@ +ERT_summary: + version: '0.4' + table_summary: + - name: system_arch.chip.PE[1..8] + actions: + - name: mac_random_to_accurate_picky + energy: 0.69139 + - name: mac_random_to_inaccurate_flexible + energy: 0.345695 + - name: reset_expensive_specified_argument + energy: 1000000000000.0 + primitive_estimation(s): + - action_name: mac_random_to_accurate_picky + arguments: {} + energy: 0.69139 + subaction_estimations: + - subcomponent_name: mac + subaction_name: mac_random + arguments: + unsigned: 0 + global_cycle_seconds: 0.001 + action_latency_cycles: 1 + cycle_seconds: 0.001 + technology: "45nm" + n_instances: 1 + energy: 0.6913899529408735 + action_share: 1.0 + interpreted_energy: 0.6913899529408735 + percentage: 100.0% + estimator: AccurateButPicky + - action_name: mac_random_to_inaccurate_flexible + arguments: {} + energy: 0.345695 + subaction_estimations: + - subcomponent_name: mac + subaction_name: mac_random + arguments: + unsigned: 1 + global_cycle_seconds: 0.001 + action_latency_cycles: 1 + cycle_seconds: 0.001 + technology: "45nm" + n_instances: 1 + energy: 0.34569497647043673 + action_share: 1.0 + interpreted_energy: 0.34569497647043673 + percentage: 100.0% + estimator: InacurrateFlexible + - action_name: reset_expensive_specified_argument + arguments: {} + energy: 1000000000000.0 + subaction_estimations: + - subcomponent_name: mac + subaction_name: reset + arguments: + make_expensive: 1 + global_cycle_seconds: 0.001 + action_latency_cycles: 1 + cycle_seconds: 0.001 + technology: "45nm" + n_instances: 1 + energy: 1000000000000.0 + action_share: 1.0 + interpreted_energy: 1000000000000.0 + percentage: 100.0% + estimator: InacurrateFlexible diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/_plug_in_tmp.py b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/_plug_in_tmp.py new file mode 100644 index 00000000..01c38398 --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/_plug_in_tmp.py @@ -0,0 +1,67 @@ +from accelergy.plug_in_interface.estimator import Estimator, actionDynamicEnergy, Estimation +from typing import Union +from numbers import Number + + +class AccurateButPicky(Estimator): + name = "ternary_mac" + percent_accuracy_0_to_100 = 99 + def __init__(self, accum_datawidth: int, tech_node: int): + self.accum_datawidth = accum_datawidth + self.tech_node = tech_node + + def get_area(self) -> float: + return 2e-12 * (self.accum_datawidth + 0.3) * self.tech_node**1.3 + + @actionDynamicEnergy + def idle(self) -> Union[Number, Estimation]: + """For backwards compatibility with versions that don't support leakage energy.""" + return 0 + + def leak(self, global_cycle_seconds: float) -> float: + return 1e-3 * global_cycle_seconds # 1mW + + @actionDynamicEnergy + def mac_random(self, unsigned: bool) -> float: + assert not unsigned, 'Sorry, I only support signed operands.' + return 0.002e-12 * (self.accum_datawidth + 0.25) * self.tech_node**1.1 + +from accelergy.plug_in_interface.estimator import Estimator, actionDynamicEnergy, Estimation +from typing import Union +from numbers import Number + + +class InacurrateFlexible(Estimator): + name = "ternary_mac" + percent_accuracy_0_to_100 = 50 + def __init__(self, accum_datawidth: int, tech_node: int): + self.accum_datawidth = accum_datawidth + self.tech_node = tech_node + + def get_area(self) -> float: + return 2 * (self.accum_datawidth + 0.3) * self.tech_node ** 1.3 * 1e-12 + + @actionDynamicEnergy + def idle(self) -> Union[Number, Estimation]: + """For backwards compatibility with versions that don't support leakage energy.""" + return 0 + + def leak(self, global_cycle_seconds: float) -> float: + return 1e-3 * global_cycle_seconds # 1mW + + @actionDynamicEnergy + def mac_random(self, unsigned: bool) -> float: + energy = 0.002e-12 * (self.accum_datawidth + 0.25) * \ + self.tech_node**1.1 + if unsigned: + self.logger.info('Unsigned mac_random consuming half the energy.') + energy /= 2 + return energy + + @actionDynamicEnergy + def reset(self, make_expensive: bool=False) -> float: + if make_expensive: + self.logger.info('InacurrateFlexible reset is expensive! ' + 'Returning a high energy.') + return 1 # 1 Joule + return 2e-12 * self.tech_node ** 1.1 diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/accelergy.log b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/accelergy.log new file mode 100644 index 00000000..8d9127f0 --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/accelergy.log @@ -0,0 +1,100 @@ +2024-03-28 11:00:23 INFO _ _ +2024-03-28 11:00:23 INFO / \ ___ ___ ___| | ___ _ __ __ _ _ _ +2024-03-28 11:00:23 INFO / _ \ / __/ __/ _ \ |/ _ \ '__/ _` | | | | +2024-03-28 11:00:23 INFO / ___ \ (_| (_| __/ | __/ | | (_| | |_| | +2024-03-28 11:00:23 INFO /_/ \_\___\___\___|_|\___|_| \__, |\__, | +2024-03-28 11:00:23 INFO |___/ |___/ +2024-03-28 11:00:23 INFO generating outputs according to the following specified output flags... +2024-03-28 11:00:23 INFO Please use the -f flag to update the preference (default to all output files) +2024-03-28 11:00:23 INFO {'ERT': 1, 'ERT_summary': 1, 'ART': 1, 'ART_summary': 1, 'energy_estimation': 1, 'flattened_arch': 1} +2024-03-28 11:00:23 INFO Located config file at /home/tanner/.config/accelergy/accelergy_config.yaml. +2024-03-28 11:00:23 INFO config file located: +2024-03-28 11:00:23 INFO /home/tanner/.config/accelergy/accelergy_config.yaml +2024-03-28 11:00:23 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/design0.yaml for architecture info +2024-03-28 11:00:23 WARNING File /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/design0.yaml is outdated. File version is 0.4, while the latest version is 0.4. +2024-03-28 11:00:23 WARNING Please update the file to the latest version. +2024-03-28 11:00:23 INFO Parsing file /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/design0.yaml for compound_components info +2024-03-28 11:00:23 WARNING File /home/tanner/research/cimloop/infrastructure/timeloop-accelergy-exercises/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/design0.yaml is outdated. File version is 0.4, while the latest version is 0.4. +2024-03-28 11:00:23 WARNING Please update the file to the latest version. +2024-03-28 11:00:23 INFO primitive component file parsed: +2024-03-28 11:00:23 INFO /home/tanner/research/cimloop/venv/share/accelergy/primitive_component_libs/neurosim_components.lib.yaml +2024-03-28 11:00:23 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-table-based-plug-ins/table.estimator.yaml +2024-03-28 11:00:23 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-aladdin-plug-in/aladdin.estimator.yaml +2024-03-28 11:00:23 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/dummy_tables/dummy.estimator.yaml +2024-03-28 11:00:23 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti.estimator.yaml +2024-03-28 11:00:23 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-neurosim-plugin/neurosim.estimator.yaml +2024-03-28 11:00:23 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-library-plugin/library.estimator.yaml +2024-03-28 11:00:23 INFO Estimator plug-in identified by: /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-adc-plug-in/adc.estimator.yaml +2024-03-28 11:00:23 INFO Getting all estimators in module +2024-03-28 11:00:23 INFO Getting all estimators in module +2024-03-28 11:00:23 INFO Added estimator DigitalAnalogConverterX2XLadder that estimates dac_x2x_ladder with actions convert, idle, leak, leak +2024-03-28 11:00:23 INFO Added estimator DigitalAnalogConverter_C2C that estimates dac_c2c_ladder with actions convert, idle, leak, leak +2024-03-28 11:00:23 INFO Added estimator DigitalAnalogConverter_R2R that estimates dac_r2r_ladder with actions convert, idle, leak, leak +2024-03-28 11:00:23 INFO Getting all estimators in module +2024-03-28 11:00:23 INFO Added estimator Capacitor that estimates capacitor with actions charge, idle, leak, raise_voltage_to, raise_voltage_to_from_non_supply, read, switch, update, write, leak +2024-03-28 11:00:23 INFO Added estimator ExampleRRAM that estimates ExampleRRAM with actions idle, multiply_accumulate, leak +2024-03-28 11:00:23 INFO Added estimator PassGate that estimates pass_gate with actions idle, leak +2024-03-28 11:00:23 INFO Added estimator Wire that estimates wire with actions charge, idle, leak, raise_voltage_to, raise_voltage_to_from_non_supply, read, switch, update, write, leak +2024-03-28 11:00:23 INFO Getting all estimators in module +2024-03-28 11:00:23 INFO Getting all estimators in module +2024-03-28 11:00:23 INFO Getting all estimators in module +2024-03-28 11:00:23 INFO Added estimator TernaryMAC that estimates ternary_mac with actions idle, mac_random, leak +2024-03-28 11:00:23 INFO Getting all estimators in module +2024-03-28 11:00:23 INFO Added estimator CactiCache that estimates cache with actions idle, read, read_access, update, update_access, write, write_access, leak +2024-03-28 11:00:23 INFO Added estimator CactiDRAM that estimates DRAM with actions idle, read, update, write, leak +2024-03-28 11:00:23 INFO Added estimator CactiSRAM that estimates SRAM with actions idle, read, update, write, leak +2024-03-28 11:00:23 INFO Found estimator plug-in: table-based-plug-ins () +2024-03-28 11:00:23 INFO Found estimator plug-in: Aladdin_table () +2024-03-28 11:00:23 INFO Found estimator plug-in: dummy_table () +2024-03-28 11:00:23 INFO Found estimator plug-in: Neurosim Plug-In () +2024-03-28 11:00:23 INFO Found estimator plug-in: Library () +2024-03-28 11:00:23 INFO Found estimator plug-in: ADC Plug-In () +2024-03-28 11:00:23 INFO Found estimator plug-in: DigitalAnalogConverterX2XLadder () +2024-03-28 11:00:23 INFO Found estimator plug-in: DigitalAnalogConverter_C2C () +2024-03-28 11:00:23 INFO Found estimator plug-in: DigitalAnalogConverter_R2R () +2024-03-28 11:00:23 INFO Found estimator plug-in: Capacitor () +2024-03-28 11:00:23 INFO Found estimator plug-in: ExampleRRAM () +2024-03-28 11:00:23 INFO Found estimator plug-in: PassGate () +2024-03-28 11:00:23 INFO Found estimator plug-in: Wire () +2024-03-28 11:00:23 INFO Found estimator plug-in: TernaryMAC () +2024-03-28 11:00:23 INFO Found estimator plug-in: CactiCache () +2024-03-28 11:00:23 INFO Found estimator plug-in: CactiDRAM () +2024-03-28 11:00:23 INFO Found estimator plug-in: CactiSRAM () +2024-03-28 11:00:23 INFO +2024-03-28 11:00:23 INFO ENERGY ESTIMATION for ternary_mac(tech_node=45, accum_datawidth=5, global_cycle_seconds=0.001, action_latency_cycles=1, cycle_seconds=0.001, technology=45nm, n_instances=1).mac_random(global_cycle_seconds=0.001, action_latency_cycles=1, cycle_seconds=0.001, technology=45nm, n_instances=1) +2024-03-28 11:00:23 INFO TernaryMAC estimated 6.913899529408735e-13 with accuracy 80%. Messages: +2024-03-28 11:00:23 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for ternary_mac.__init__. Arguments used: (tech_node, accum_datawidth) +2024-03-28 11:00:23 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for ternary_mac.mac_random. Arguments used: () +2024-03-28 11:00:23 INFO | TernaryMAC Estimator is estimating energy for mac_random. +2024-03-28 11:00:23 WARNING No action counts are specified as yaml input +2024-03-28 11:00:23 INFO +2024-03-28 11:00:23 INFO AREA ESTIMATION for DRAM(reduction_supported=False, width=256, technology=45nm, tech_node=45, global_cycle_seconds=0.001, action_latency_cycles=1, cycle_seconds=0.001, n_instances=1) +2024-03-28 11:00:23 INFO CactiDRAM estimated 0 with accuracy 80%. Messages: +2024-03-28 11:00:23 INFO | Unused arguments (reduction_supported, technology, tech_node, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances, datawidth) provided for DRAM.__init__. Arguments used: (width) +2024-03-28 11:00:23 INFO +2024-03-28 11:00:23 INFO AREA ESTIMATION for SRAM(depth=16, width=64, datawidth=8, technology=45nm, tech_node=45, global_cycle_seconds=0.001, action_latency_cycles=1, cycle_seconds=0.001, n_instances=1) +2024-03-28 11:00:23 INFO CactiSRAM estimated 5.3594e-10 with accuracy 80%. Messages: +2024-03-28 11:00:23 INFO | Unused arguments (datawidth, tech_node, global_cycle_seconds, action_latency_cycles, cycle_seconds, n_instances) provided for SRAM.__init__. Arguments used: (depth, width, technology) +2024-03-28 11:00:23 INFO | Calling CACTI with cache_size=512 n_rw_ports=1 block_size=8 tech_node_um=0.045 n_banks=1 tag_size=0 associativity=1 +2024-03-28 11:00:23 INFO | Calling CACTI with input path /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpxw6aicof +2024-03-28 11:00:23 INFO | CACTI output will be written to /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpg1361sbl +2024-03-28 11:00:23 INFO | CACTI executable not found at /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti/cacti +2024-03-28 11:00:23 INFO | Calling: cd /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in ; ./cacti -infile /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpxw6aicof >> /home/tanner/research/cimloop/venv/share/accelergy/estimation_plug_ins/accelergy-cacti-plug-in/cacti_inputs_outputs/tmpg1361sbl 2>&1 +2024-03-28 11:00:23 INFO | Cache bandwidth: 8.0 bits/cycle +2024-03-28 11:00:23 INFO | Cache bandwidth: 112.57794703559398 bits/second +2024-03-28 11:00:23 INFO +2024-03-28 11:00:23 INFO AREA ESTIMATION for ternary_mac(tech_node=45, accum_datawidth=5, global_cycle_seconds=0.001, action_latency_cycles=1, cycle_seconds=0.001, technology=45nm, n_instances=1) +2024-03-28 11:00:23 INFO TernaryMAC estimated 1.4944525594876197e-09 with accuracy 80%. Messages: +2024-03-28 11:00:23 INFO | Unused arguments (global_cycle_seconds, action_latency_cycles, cycle_seconds, technology, n_instances) provided for ternary_mac.__init__. Arguments used: (tech_node, accum_datawidth) +2024-03-28 11:00:23 INFO | TernaryMAC Estimator is estimating area. +2024-03-28 11:00:23 INFO flattened architecture is saved to: +2024-03-28 11:00:23 INFO out_dir/flattened_architecture.yaml +2024-03-28 11:00:23 INFO energy reference table is saved to: +2024-03-28 11:00:23 INFO out_dir/ERT.yaml +2024-03-28 11:00:23 INFO energy reference table summary is saved to: +2024-03-28 11:00:23 INFO out_dir/ERT_summary.yaml +2024-03-28 11:00:23 WARNING no runtime energy estimations are generated... not generating energy_estimation.yaml +2024-03-28 11:00:23 INFO area reference table is saved to: +2024-03-28 11:00:23 INFO out_dir/ART.yaml +2024-03-28 11:00:23 INFO area reference table summary is saved to: +2024-03-28 11:00:23 INFO out_dir/ART_summary.yaml diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/flattened_architecture.yaml b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/flattened_architecture.yaml new file mode 100644 index 00000000..9baabd7c --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/flattened_architecture.yaml @@ -0,0 +1,37 @@ +architecture: + version: '0.4' + local: + - name: system_arch.chip.DRAM + class: DRAM + attributes: + reduction_supported: false + width: 256 + technology: "45nm" + tech_node: 45 + global_cycle_seconds: 0.001 + action_latency_cycles: 1 + cycle_seconds: 0.001 + n_instances: 1 + - name: system_arch.chip.buffer + subclass: SRAM + attributes: + depth: 16 + width: 64 + datawidth: 8 + technology: "45nm" + tech_node: 45 + global_cycle_seconds: 0.001 + action_latency_cycles: 1 + cycle_seconds: 0.001 + n_instances: 1 + - name: system_arch.chip.PE[1..8] + class: mac + subclass: custom_mac + attributes: + tech_node: 45 + accum_datawidth: 5 + technology: "45nm" + global_cycle_seconds: 0.001 + action_latency_cycles: 1 + cycle_seconds: 0.001 + n_instances: 1 diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/flattened_architecture_verbose.yaml b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/flattened_architecture_verbose.yaml new file mode 100644 index 00000000..6e5f83c2 --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/out_dir/flattened_architecture_verbose.yaml @@ -0,0 +1,71 @@ +architecture: + version: '0.4' + local: + - name: system_arch.chip.PE[1..8] + class: custom_mac + attributes: + tech_node: 45 + accum_datawidth: 5 + technology: "45nm" + global_cycle_seconds: 0.001 + action_latency_cycles: 1 + cycle_seconds: 0.001 + n_instances: 1 + primitive_components: + - name: mac + class: ternary_mac + attributes: + tech_node: 45 + accum_datawidth: 5 + global_cycle_seconds: 0.001 + action_latency_cycles: 1 + cycle_seconds: 0.001 + technology: "45nm" + n_instances: 1 + area_share: 1 + actions: + - name: mac_random_to_accurate_picky + arguments: {} + primitive_actions: + - name: mac + action: mac_random + arguments: + unsigned: 0 + global_cycle_seconds: 0.001 + action_latency_cycles: 1 + cycle_seconds: 0.001 + technology: "45nm" + n_instances: 1 + action_share: 1.0 + - name: mac_random_to_inaccurate_flexible + arguments: {} + primitive_actions: + - name: mac + action: mac_random + arguments: + unsigned: 1 + global_cycle_seconds: 0.001 + action_latency_cycles: 1 + cycle_seconds: 0.001 + technology: "45nm" + n_instances: 1 + action_share: 1.0 + - name: reset_expensive_specified_argument + arguments: {} + primitive_actions: + - name: mac + action: reset + arguments: + make_expensive: 1 + global_cycle_seconds: 0.001 + action_latency_cycles: 1 + cycle_seconds: 0.001 + technology: "45nm" + n_instances: 1 + action_share: 1.0 + - name: system_arch.chip.DRAM + class: DRAM + actions: [] + - name: system_arch.chip.buffer + class: SRAM + actions: [] diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/plug_in_template/README.md b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/plug_in_template/README.md new file mode 100644 index 00000000..2ac13585 --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/plug_in_template/README.md @@ -0,0 +1,5 @@ +### Install Instructions +```bash +# cd into this directory +pip3 install . +``` \ No newline at end of file diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/plug_in_template/setup.py b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/plug_in_template/setup.py new file mode 100644 index 00000000..a0ba9b57 --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/plug_in_template/setup.py @@ -0,0 +1,39 @@ +from setuptools import setup + +PLUG_IN_NAME = "accelergy-plug-in-template" + +setup( + name=f"{PLUG_IN_NAME}", + version="0.4", + description="DESCRIPTION HERE", + classifiers=[ + "Development Status :: 3 - Alpha", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)", + ], + keywords="accelerator hardware energy estimation CACTI", + author="", + author_email="", + license="MIT", + install_requires=["accelergy>=0.4"], + python_requires=">=3.8", + data_files=[ + ( # This tuple can be repeated to include multiple directories + f"share/accelergy/estimation_plug_ins/{PLUG_IN_NAME}", + [ + "template.py", # Path to your Python files with the plug-ins + "template.estimator.yaml", # Path to the .estimator.yaml file + # Paths to any other files you'd like to include in this directory... + ], + ), + ], + include_package_data=True, + entry_points={}, + zip_safe=False, +) + +assert False, "Please change the template for your own plug-in and remove this line." +assert ( + PLUG_IN_NAME != "my-accelergy-plug-in" +), "Please change the template for your own plug-in." diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/plug_in_template/template.estimator.yaml b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/plug_in_template/template.estimator.yaml new file mode 100644 index 00000000..c15a5883 --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/plug_in_template/template.estimator.yaml @@ -0,0 +1,9 @@ +version: 0.4 # Required version number + +# Under this heading, list relative paths to any Python files that contain the +# Estimator classes. Only include files that contain Estimator classes. Adding +# additional files will slow Accelergy or make startup unstable. +python_plug_ins: +- template.py # Relative path to the the file that Accelergy will load +# - other_path.py # If more than one Estimator is needed, list them here +# - other_path_2.py \ No newline at end of file diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/plug_in_template/template.py b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/plug_in_template/template.py new file mode 100644 index 00000000..74f90e05 --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/plug_in_template/template.py @@ -0,0 +1,46 @@ +import os +from accelergy.plug_in_interface.estimator import ( + Estimator, + actionDynamicEnergy, + add_estimator_path, + remove_estimator_path, +) + + +class PlugInTemplate(Estimator): + name = "component_name or list of names" + percent_accuracy_0_to_100 = 50 + + def __init__(self, arg0: int, arg1: int = 5): + self.logger.info( + "The __init__ function is called if the name and " + "required arguments match." + ) + assert arg0 > 0, "Raise an error if the arguments are not valid." + self.arg0, self.arg1 = arg0, arg1 + + @actionDynamicEnergy + def action(self, arg0: int, arg1: int = 5) -> float: + self.logger.info("@actionDynamicEnergy can decorate any number of actions.") + assert arg1 > 0, "Raise an error if we can not estimate the energy." + return arg0 * arg1 * 1e-12 # Return energy in Joules + + def get_area(self) -> float: + self.logger.info("The get_area function is required.") + assert self.arg1 > 0, "Raise an error if we can not estimate the area." + return self.arg0 * self.arg1 * 1e-12 # Return area in m$^2$ + + def leak(self, global_cycle_seconds: float) -> float: + self.logger.info("The leak function is required.") + return 1e-3 * global_cycle_seconds # 1mW + + @staticmethod + def quick_install_this_file(): # For testing purposes. Recommended to use pip for public plug-ins. + add_estimator_path(os.path.abspath(__file__)) + + @staticmethod + def quick_uninstall_this_file(): # For testing purposes. Recommended to use pip for public plug-ins. + remove_estimator_path(os.path.abspath(__file__)) + + +print(f"Thank you for completing the tutorial!") diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/design0.yaml b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/design0.yaml new file mode 100644 index 00000000..58e58d4a --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/design0.yaml @@ -0,0 +1,57 @@ +architecture: + version: 0.4 + # ================================================================================================ + # TOP-LEVEL + # ================================================================================================ + subtree: + - name: system_arch + attributes: + technology: "45nm" + tech_node: 45 + global_cycle_seconds: 1e-3 + + local: [] + subtree: + - name: chip + local: + # On-chip network serves inputs/outputs between tiles + - name: DRAM + class: DRAM + attributes: + reduction_supported: False + width: 256 + + - name: buffer + subclass: SRAM + attributes: + depth: 16 + width: 64 + datawidth: 8 + + - name: PE[1..8] + class: mac + subclass: custom_mac + attributes: + tech_node: 45 + accum_datawidth: 5 + + +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: custom_mac + attributes: {} + subcomponents: + - name: mac + class: ternary_mac + attributes: + tech_node: 45 + accum_datawidth: 5 + + actions: + # Switch A: Charge all capacitors to the value of A + - name: mac_random + subcomponents: + - name: mac + actions: + - name: mac_random diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/design1.yaml b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/design1.yaml new file mode 100644 index 00000000..00dbf360 --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/design1.yaml @@ -0,0 +1,66 @@ +architecture: + version: 0.4 + # ================================================================================================ + # TOP-LEVEL + # ================================================================================================ + subtree: + - name: system_arch + attributes: + technology: "45nm" + tech_node: 45 + global_cycle_seconds: 1e-3 + + local: [] + subtree: + - name: chip + local: + # On-chip network serves inputs/outputs between tiles + - name: DRAM + class: DRAM + attributes: + reduction_supported: False + width: 256 + + - name: buffer + subclass: SRAM + attributes: + depth: 16 + width: 64 + datawidth: 8 + + - name: PE[1..8] + class: mac + subclass: custom_mac + attributes: + tech_node: 45 + accum_datawidth: 5 + + +compound_components: + version: 0.4 # REQUIRED version number + classes: + - name: custom_mac + attributes: {} + subcomponents: + - name: mac + class: ternary_mac + attributes: + tech_node: 45 + accum_datawidth: 5 + + actions: + - name: mac_random_to_accurate_picky + subcomponents: + - {name: mac, actions: [{name: mac_random, arguments: {unsigned: 0}}]} + + - name: mac_random_to_inaccurate_flexible + subcomponents: + - {name: mac, actions: [{name: mac_random, arguments: {unsigned: 1}}]} + + - name: reset_expensive_specified_argument + subcomponents: + - {name: mac, actions: [{name: reset}]} + + - name: reset_expensive_specified_argument + subcomponents: + - {name: mac, actions: [{name: reset, arguments: {make_expensive: 1}}]} diff --git a/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/helper_functions.py b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/helper_functions.py new file mode 100644 index 00000000..5b7f3cef --- /dev/null +++ b/workspace/tutorial_exercises/05_creating_accelergy_plug_ins/utils/helper_functions.py @@ -0,0 +1,97 @@ +import os +from typing import Any, List +import inspect +from accelergy.utils import yaml + + +def plugin_notebook2script( + python_object: Any, filename: str, return_instead_of_write: bool = False +) -> None: + """ + Writes a plug-in from this notebook into a script so Accelergy can import + it. This is a helper funciton so we can make Accelergy plug-ins from within + this notebook, but generally you'd write them as separate scripts. + """ + if isinstance(python_object, List): + script = "\n".join( + [ + plugin_notebook2script(p, filename, return_instead_of_write=True) + for p in python_object + ] + ) + name = ", ".join([p.__name__ for p in python_object]) + else: + functions = inspect.getmembers(python_object, inspect.isfunction) + functions = [ + f[1] for f in functions if not f[0].startswith("_") or f[0] == "__init__" + ] + script = ( + "from accelergy.plug_in_interface.estimator import " + "Estimator, actionDynamicEnergy, Estimation\n" + "from typing import Union\n" + "from numbers import Number\n\n" + ) + script += f"\nclass {python_object.__name__}(Estimator):\n" + for attr in ["name", "percent_accuracy_0_to_100"]: + v = getattr(python_object, attr) + script += f" {attr} = " + ( + f'"{v}"\n' if isinstance(v, str) else f"{v}\n" + ) + script += "\n".join([inspect.getsource(f) for f in functions]) + name = python_object.__name__ + if return_instead_of_write: + return script + print(f"Writing {name}. View the script at {os.path.abspath(filename)}") + open(filename, "w").write(script) + + +def yaml_section( + file: str, keys: List[str] = (), only_include_base_keys: List[str] = () +) -> str: + """ + Prints a section of a YAML file. This is a helper function to make it + easier to see the contents of the YAML files we'll be using in this + tutorial. + """ + content = yaml.load_yaml(file) + for key in keys: + content = content[key] if key != "subtree" else content[key][0] + if only_include_base_keys: + stack = [content] + while stack: + node = stack.pop() + if isinstance(node, list): + stack.extend(node) + else: + for k, v in list(node.items()): + if k in only_include_base_keys: + continue + elif isinstance(v, dict) or isinstance(v, list): + stack.append(v) + else: + node.pop(k) + + return "\t" + "\n\t".join(yaml.to_yaml_string(content).splitlines()) + + +def get_log_lines(logfile_path: str, start_from_line_containing: str) -> str: + """Grabs lines from an Accelergy log file.""" + lines = open(logfile_path).readlines() + if isinstance(start_from_line_containing, str): + start_from_line_containing = [start_from_line_containing] + start = [ + i + for i, l in enumerate(lines) + if all([s in l for s in start_from_line_containing]) + ] + loglevels = ["INFO", "DEBUG", "WARNING", "ERROR"] + result = [] + for s in start: + end = [ + i + for i, l in enumerate(lines) + if i > s and l.split()[-1].strip() in loglevels + ] + end = end[0] if end else len(lines) + result.append("".join(lines[s:end])) + return "\n".join(result) diff --git a/workspace/tutorial_exercises/README.md b/workspace/tutorial_exercises/README.md new file mode 100644 index 00000000..f0ad4ec8 --- /dev/null +++ b/workspace/tutorial_exercises/README.md @@ -0,0 +1,10 @@ +### Tutorial Exercises +NOTE: All other tutorials depend on tutorials 1 and 2. Please complete tutorials +1 and 2 first. The following tutorials may be completed in any order. + +Tutorial list: +- 01_accelergy_timeloop_2020_ispass: Introduction to Accelergy and Timeloop. +- 02_interface_and_design_space_exploration_2024: Using the Timeloop and Accelergy Python interface and running design space explorations +- 03_sparse_tensors_2021_isca: Using the Fibertree sparse tensor representation and modeling sparse tensor accelerators +- 04_compute_in_memory_2024: IN-PROGRESS tutorial. Not yet complete. +- 05_creating_accelergy_plug_ins: Creating your own Accelergy plug-ins diff --git a/ws_energy_breakdown.png b/ws_energy_breakdown.png new file mode 100644 index 00000000..4cc82afa Binary files /dev/null and b/ws_energy_breakdown.png differ diff --git a/ws_mapping_pattern.png b/ws_mapping_pattern.png new file mode 100644 index 00000000..fc8e9530 Binary files /dev/null and b/ws_mapping_pattern.png differ