Skip to content

Commit 4ac84ae

Browse files
authored
Merge pull request #199 from PSAL-POSTECH/tutorial
Tutorial
2 parents 008cf4c + 7c45f80 commit 4ac84ae

6 files changed

Lines changed: 13 additions & 8 deletions

File tree

PyTorchSimFrontend/extension_config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ def __getattr__(name):
103103
if name == "CONFIG_TORCHSIM_DUMP_PATH":
104104
return os.environ.get('TORCHSIM_DUMP_PATH', default = CONFIG_TORCHSIM_DIR)
105105
if name == "CONFIG_TORCHSIM_LOG_PATH":
106-
return os.environ.get('TORCHSIM_DUMP_LOG_PATH', default = os.path.join(CONFIG_TORCHSIM_DIR, "togsim_results"))
106+
return os.environ.get('TORCHSIM_LOG_PATH', default = os.path.join(CONFIG_TORCHSIM_DIR, "togsim_results"))
107107

108108
if name == "CONFIG_TOGSIM_EAGER_MODE":
109109
return int(os.environ.get("TOGSIM_EAGER_MODE", default=False))

Scheduler/scheduler.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ class PyTorchSimRunner:
144144
PARTITION_BUSY = 0
145145
PARTITION_IDLE = 1
146146
SELECT_NOTHING = 2
147+
NPU_MODULE = None
147148
def __init__(self, tog_simulator : TOGSimulator, num_partion=1) -> None:
148149
self.module = self.setup_device()
149150
self.num_partion = num_partion
@@ -161,8 +162,10 @@ def __init__(self, tog_simulator : TOGSimulator, num_partion=1) -> None:
161162
# Dry run for compile and create generator
162163
os.environ["TOGSIM_EAGER_MODE"] = "1"
163164

164-
@staticmethod
165-
def setup_device():
165+
@classmethod
166+
def setup_device(cls):
167+
if cls.NPU_MODULE is not None:
168+
return cls.NPU_MODULE
166169
source_file_path = os.path.dirname(os.path.abspath(__file__))
167170
source_file = os.path.join(
168171
source_file_path, f"{extension_config.CONFIG_TORCHSIM_DIR}/PyTorchSimFrontend/extension_device.cpp"
@@ -201,6 +204,7 @@ def setup_device():
201204
get_wrapper_codegen_for_device("npu")
202205
== ExtensionWrapperCodegen
203206
)
207+
cls.NPU_MODULE = module
204208
return module
205209

206210
def submit(self, batched_req, partition_idx) -> List[RequestReturn]:

TOGSim/include/DMA.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class DMA {
6262
const std::vector<int>& tag_key = tag_entry.first;
6363
uint32_t value = tag_entry.second;
6464
if (value == 1) {
65-
spdlog::warn("[Tag Table][{}] Unused tag found: (key={}, val={})",
65+
spdlog::debug("[Tag Table][{}] Unused tag found: (key={}, val={})",
6666
subgraph_id, fmt::format("[{}]", fmt::join(tag_key, ", ")), value);
6767
}
6868
}
@@ -134,4 +134,4 @@ class DMA {
134134
std::queue<mem_fetch*> _pending_accesses;
135135
bool _generated_once = false;
136136
};
137-
#endif
137+
#endif

tutorial/session1/DNNServing.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"from Scheduler.scheduler import Scheduler, SchedulerDNNModel, Request\n",
3939
"from PyTorchSimFrontend import extension_config\n",
4040
"\n",
41-
"scheduler = Scheduler(num_request_queue=1, engine_select=Scheduler.FIFO_ENGINE, togsim_config=extension_config.TOGSIM_CONFIG)\n",
41+
"scheduler = Scheduler(num_request_queue=1, engine_select=Scheduler.FIFO_ENGINE, togsim_config=extension_config.CONFIG_TOGSIM_CONFIG)\n",
4242
"device = scheduler.execution_engine.module.custom_device()\n",
4343
"\n",
4444
"model = resnet18().eval()\n",
@@ -83,7 +83,7 @@
8383
"target_model1 = resnet18().eval()\n",
8484
"\n",
8585
"# Init scheduler\n",
86-
"scheduler = Scheduler(num_request_queue=1, max_batch=32, engine_select=Scheduler.FIFO_ENGINE, togsim_config=extension_config.TOGSIM_CONFIG)\n",
86+
"scheduler = Scheduler(num_request_queue=1, max_batch=32, engine_select=Scheduler.FIFO_ENGINE, togsim_config=extension_config.CONFIG_TOGSIM_CONFIG)\n",
8787
"# Register compiled model\n",
8888
"opt_model1 = torch.compile(target_model1.to(device=scheduler.execution_engine.module.custom_device(), memory_format=torch.channels_last), dynamic=False)\n",
8989
"SchedulerDNNModel.register_model(\"resnet18\", opt_model1)\n",

tutorial/session1/LogAnalysis.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"base_dir = os.environ.get('TORCHSIM_DIR', default='/workspace/PyTorchSim')\n",
2020
"sys.path.append(base_dir)\n",
2121
"os.environ['TOGSIM_CONFIG']=f\"{base_dir}/tutorial/session1/togsim_configs/togsim_config_timing_only.yml\"\n",
22-
"os.environ['TORCHSIM_DUMP_LOG_PATH']=os.path.join(os.getcwd(), \"togsim_results\")"
22+
"os.environ['TORCHSIM_LOG_PATH']=os.path.join(os.getcwd(), \"togsim_results\")"
2323
]
2424
},
2525
{

tutorial/session2/Hands_on.ipynb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
"import torch._dynamo\n",
3333
"import torch.utils.cpp_extension\n",
3434
"base_dir = os.environ.get('TORCHSIM_DIR', default='/workspace/PyTorchSim')\n",
35+
"os.environ['TORCHSIM_DUMP_PATH']=os.path.join(os.getcwd(), \"togsim_results\")\n",
3536
"sys.path.append(base_dir)\n",
3637
"\n",
3738
"from Scheduler.scheduler import PyTorchSimRunner\n",

0 commit comments

Comments
 (0)