ttnn-visualizer 0.52.1__py3-none-any.whl → 0.54.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ttnn_visualizer/app.py +2 -0
- ttnn_visualizer/csv_queries.py +102 -54
- ttnn_visualizer/serializers.py +39 -9
- ttnn_visualizer/settings.py +1 -0
- ttnn_visualizer/static/assets/{allPaths-DOFQJGIv.js → allPaths-ClJTDoXf.js} +1 -1
- ttnn_visualizer/static/assets/allPathsLoader-DLMimLnJ.js +2 -0
- ttnn_visualizer/static/assets/index-DdmYzvVg.css +7 -0
- ttnn_visualizer/static/assets/{index-WayH7MCF.js → index-eW1dMfMf.js} +288 -288
- ttnn_visualizer/static/assets/{splitPathsBySizeLoader-BwHoJMaV.js → splitPathsBySizeLoader-DjzfvTVt.js} +1 -1
- ttnn_visualizer/static/index.html +2 -2
- ttnn_visualizer/views.py +20 -9
- {ttnn_visualizer-0.52.1.dist-info → ttnn_visualizer-0.54.0.dist-info}/METADATA +2 -2
- {ttnn_visualizer-0.52.1.dist-info → ttnn_visualizer-0.54.0.dist-info}/RECORD +18 -18
- ttnn_visualizer/static/assets/allPathsLoader-Bca8XiL0.js +0 -2
- ttnn_visualizer/static/assets/index-BxeIYL6g.css +0 -7
- {ttnn_visualizer-0.52.1.dist-info → ttnn_visualizer-0.54.0.dist-info}/WHEEL +0 -0
- {ttnn_visualizer-0.52.1.dist-info → ttnn_visualizer-0.54.0.dist-info}/entry_points.txt +0 -0
- {ttnn_visualizer-0.52.1.dist-info → ttnn_visualizer-0.54.0.dist-info}/licenses/LICENSE +0 -0
- {ttnn_visualizer-0.52.1.dist-info → ttnn_visualizer-0.54.0.dist-info}/licenses/LICENSE_understanding.txt +0 -0
- {ttnn_visualizer-0.52.1.dist-info → ttnn_visualizer-0.54.0.dist-info}/top_level.txt +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as r,I as s,_ as a}from"./index-
|
|
1
|
+
import{p as r,I as s,_ as a}from"./index-eW1dMfMf.js";const n=async(o,_)=>{const i=r(o);let t;return _===s.STANDARD?t=await a(()=>import("./index-CnPrfHYh.js").then(e=>e.I),[]):t=await a(()=>import("./index-Cnc1EkDo.js").then(e=>e.I),[]),t[i]};export{n as splitPathsBySizeLoader};
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
/* SERVER_CONFIG */
|
|
35
35
|
</script>
|
|
36
36
|
|
|
37
|
-
<script type="module" crossorigin src="/static/assets/index-
|
|
38
|
-
<link rel="stylesheet" crossorigin href="/static/assets/index-
|
|
37
|
+
<script type="module" crossorigin src="/static/assets/index-eW1dMfMf.js"></script>
|
|
38
|
+
<link rel="stylesheet" crossorigin href="/static/assets/index-DdmYzvVg.css">
|
|
39
39
|
</head>
|
|
40
40
|
<body>
|
|
41
41
|
|
ttnn_visualizer/views.py
CHANGED
|
@@ -68,6 +68,7 @@ from ttnn_visualizer.utils import (
|
|
|
68
68
|
create_path_resolver,
|
|
69
69
|
get_cluster_descriptor_path,
|
|
70
70
|
read_last_synced_file,
|
|
71
|
+
str_to_bool,
|
|
71
72
|
timer,
|
|
72
73
|
)
|
|
73
74
|
|
|
@@ -346,6 +347,7 @@ def get_all_buffers(instance: Instance):
|
|
|
346
347
|
def get_operations_buffers(instance: Instance):
|
|
347
348
|
buffer_type = request.args.get("buffer_type", "")
|
|
348
349
|
device_id = request.args.get("device_id", None)
|
|
350
|
+
|
|
349
351
|
if buffer_type and str.isdigit(buffer_type):
|
|
350
352
|
buffer_type = int(buffer_type)
|
|
351
353
|
else:
|
|
@@ -686,6 +688,8 @@ def get_performance_results_report(instance: Instance):
|
|
|
686
688
|
)
|
|
687
689
|
|
|
688
690
|
name = request.args.get("name", None)
|
|
691
|
+
signpost = request.args.get("signpost", None)
|
|
692
|
+
stack_by_in0 = str_to_bool(request.args.get("stack_by_in0", "true"))
|
|
689
693
|
|
|
690
694
|
if name and not current_app.config["SERVER_MODE"]:
|
|
691
695
|
performance_path = Path(instance.performance_path).parent / name
|
|
@@ -693,7 +697,11 @@ def get_performance_results_report(instance: Instance):
|
|
|
693
697
|
logger.info(f"************ Performance path set to {instance.performance_path}")
|
|
694
698
|
|
|
695
699
|
try:
|
|
696
|
-
report = OpsPerformanceReportQueries.generate_report(
|
|
700
|
+
report = OpsPerformanceReportQueries.generate_report(
|
|
701
|
+
instance,
|
|
702
|
+
stack_by_in0=stack_by_in0,
|
|
703
|
+
signpost=signpost,
|
|
704
|
+
)
|
|
697
705
|
except DataFormatError:
|
|
698
706
|
return Response(status=HTTPStatus.UNPROCESSABLE_ENTITY)
|
|
699
707
|
|
|
@@ -905,7 +913,11 @@ def create_npe_files():
|
|
|
905
913
|
data_directory = current_app.config["LOCAL_DATA_DIRECTORY"]
|
|
906
914
|
|
|
907
915
|
for file in files:
|
|
908
|
-
if
|
|
916
|
+
if (
|
|
917
|
+
not file.filename.endswith(".json")
|
|
918
|
+
and not file.filename.endswith(".zst")
|
|
919
|
+
and not file.filename.endswith(".npeviz")
|
|
920
|
+
):
|
|
909
921
|
return StatusMessage(
|
|
910
922
|
status=ConnectionTestStates.FAILED,
|
|
911
923
|
message="NPE requires a valid .json or .zst file",
|
|
@@ -1276,7 +1288,7 @@ def get_npe_data(instance: Instance):
|
|
|
1276
1288
|
if instance.npe_path.endswith(".zst"):
|
|
1277
1289
|
compressed_path = Path(instance.npe_path)
|
|
1278
1290
|
uncompressed_path = None
|
|
1279
|
-
elif instance.npe_path.endswith(".json"):
|
|
1291
|
+
elif instance.npe_path.endswith(".json") or instance.npe_path.endswith(".npeviz"):
|
|
1280
1292
|
compressed_path = None
|
|
1281
1293
|
uncompressed_path = Path(instance.npe_path)
|
|
1282
1294
|
else:
|
|
@@ -1295,16 +1307,15 @@ def get_npe_data(instance: Instance):
|
|
|
1295
1307
|
if compressed_path and compressed_path.exists():
|
|
1296
1308
|
with open(compressed_path, "rb") as file:
|
|
1297
1309
|
compressed_data = file.read()
|
|
1298
|
-
|
|
1299
|
-
npe_data = json.loads(uncompressed_data)
|
|
1310
|
+
npe_data = zstd.uncompress(compressed_data)
|
|
1300
1311
|
else:
|
|
1301
1312
|
with open(uncompressed_path, "r") as file:
|
|
1302
|
-
npe_data =
|
|
1303
|
-
except
|
|
1304
|
-
logger.error(f"
|
|
1313
|
+
npe_data = file.read()
|
|
1314
|
+
except Exception as e:
|
|
1315
|
+
logger.error(f"Error reading NPE file: {e}")
|
|
1305
1316
|
return Response(status=HTTPStatus.UNPROCESSABLE_ENTITY)
|
|
1306
1317
|
|
|
1307
|
-
return Response(
|
|
1318
|
+
return Response(npe_data, mimetype="application/json")
|
|
1308
1319
|
|
|
1309
1320
|
|
|
1310
1321
|
@api.route("/notify", methods=["POST"])
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ttnn_visualizer
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.54.0
|
|
4
4
|
Summary: TT-NN Visualizer
|
|
5
5
|
Classifier: Programming Language :: Python :: 3
|
|
6
6
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -23,7 +23,7 @@ Requires-Dist: pydantic_core==2.27.1
|
|
|
23
23
|
Requires-Dist: pydantic==2.10.3
|
|
24
24
|
Requires-Dist: python-dotenv==1.0.1
|
|
25
25
|
Requires-Dist: PyYAML==6.0.2
|
|
26
|
-
Requires-Dist: tt-perf-report==1.1.
|
|
26
|
+
Requires-Dist: tt-perf-report==1.1.3
|
|
27
27
|
Requires-Dist: uvicorn==0.30.1
|
|
28
28
|
Requires-Dist: zstd==1.5.7.0
|
|
29
29
|
Provides-Extra: dev
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
ttnn_visualizer/__init__.py,sha256=FCQeTWnXsf-Wx-fay53-lQsm0y5-GcPMUmzhE5upDx0,93
|
|
2
|
-
ttnn_visualizer/app.py,sha256=
|
|
3
|
-
ttnn_visualizer/csv_queries.py,sha256=
|
|
2
|
+
ttnn_visualizer/app.py,sha256=w5jkzJO6d6SKKrUKnWJlBu3Jw8K-aHCaZ1wsxhlne3o,8793
|
|
3
|
+
ttnn_visualizer/csv_queries.py,sha256=g8nZOOl0yhn6f-8visNsdyynAV0YzG-TARavmkqlFTg,18841
|
|
4
4
|
ttnn_visualizer/decorators.py,sha256=6xBg2J6kJrwc01fcHepLbFJoUhcEKBL410gfaR8YZuM,5383
|
|
5
5
|
ttnn_visualizer/enums.py,sha256=SEIqp1tlc_zw2vQ8nHH9YTaV0m3Cb8fjn_goqz5wurE,203
|
|
6
6
|
ttnn_visualizer/exceptions.py,sha256=KVZzb7YaWbq51DNMKPBcJHwG74RMYj_29WTSYOlXXeU,2096
|
|
@@ -10,22 +10,22 @@ ttnn_visualizer/instances.py,sha256=XctQgQXdlwtuXWFXFletRoX1m1lGUZdiW3TwIIjY0uw,
|
|
|
10
10
|
ttnn_visualizer/models.py,sha256=-GG86m004fDS7QbKWOojYoucC1D8c84JsWaMf6OI_3Q,7811
|
|
11
11
|
ttnn_visualizer/pytest_plugin.py,sha256=bEG0cbqH0HUuZT5Ox9tFoexFNTyimBBPpI_jp75b54c,2629
|
|
12
12
|
ttnn_visualizer/queries.py,sha256=0s2zGA7CH1fbV6BWB-MhdHfWW7GhkDti4gVJyDmeCE8,9607
|
|
13
|
-
ttnn_visualizer/serializers.py,sha256=
|
|
14
|
-
ttnn_visualizer/settings.py,sha256=
|
|
13
|
+
ttnn_visualizer/serializers.py,sha256=iZ8sMjstBV0uxh-2HTby6iTdztDzRCqJ9tW_7Mag228,8878
|
|
14
|
+
ttnn_visualizer/settings.py,sha256=zs9qWfB83XY-KeEwfeaouKx81eSUjlxxAbIZ3nAj3_g,4719
|
|
15
15
|
ttnn_visualizer/sftp_operations.py,sha256=9HwbPJPSO1UUQ98d5zeWAkEwR0zFPryUakcI68GqkVw,30181
|
|
16
16
|
ttnn_visualizer/sockets.py,sha256=_Hdne33r4FrB2tg58Vw87FWLbgQ_ikICVp4o1Mkv2mo,4789
|
|
17
17
|
ttnn_visualizer/ssh_client.py,sha256=-GS2_1tdlUqVoLfRS02i3_o1fQaM39UQN-jtAnPBmzQ,13511
|
|
18
18
|
ttnn_visualizer/utils.py,sha256=_W990vRnup9zlWJ-g_Bggyo-wDjCYF49p0nPxWNgxrE,12934
|
|
19
|
-
ttnn_visualizer/views.py,sha256=
|
|
20
|
-
ttnn_visualizer/static/index.html,sha256=
|
|
21
|
-
ttnn_visualizer/static/assets/allPaths-
|
|
22
|
-
ttnn_visualizer/static/assets/allPathsLoader-
|
|
23
|
-
ttnn_visualizer/static/assets/index-BxeIYL6g.css,sha256=4nHHCfiI-9eVTeaPVT5DecxA6FtDD_O_MlyWEfsD9AA,624402
|
|
19
|
+
ttnn_visualizer/views.py,sha256=jyLUlzEml9SqXPMbKKR7ARzpG3aM_7dBZZVn339Z6-U,46789
|
|
20
|
+
ttnn_visualizer/static/index.html,sha256=eZZj9YbrVuoMqO3VaVfRttDNorRCrKJRdDi5FbTBsbA,1135
|
|
21
|
+
ttnn_visualizer/static/assets/allPaths-ClJTDoXf.js,sha256=1qQH5fhgEYDsSFAvj3goLoHADSI5uDX_K09CHSsM4Pg,255
|
|
22
|
+
ttnn_visualizer/static/assets/allPathsLoader-DLMimLnJ.js,sha256=JOxkohiCi4fFn1bd0H4Ux7SY1Q-qTudln5ClG2SwGzU,477
|
|
24
23
|
ttnn_visualizer/static/assets/index-CnPrfHYh.js,sha256=xtrmUrKcMSwTBA7zqXJ6I_L70LzG9DkO-zbC3aWJS8g,289282
|
|
25
24
|
ttnn_visualizer/static/assets/index-Cnc1EkDo.js,sha256=m-gmIOT0AsJcaW0TVjRpOwSm52Dfp4ZDcrdnIS4qBHA,298140
|
|
26
|
-
ttnn_visualizer/static/assets/index-
|
|
25
|
+
ttnn_visualizer/static/assets/index-DdmYzvVg.css,sha256=6O1dEDXvtKHruk-Z4MU1fVgRmjvLdoO3N75QlkHvpSs,626029
|
|
26
|
+
ttnn_visualizer/static/assets/index-eW1dMfMf.js,sha256=uKjoPiuIDjb8ZvG_DfrSXnjpIBvsCG2uIpN7DelaHOY,7903284
|
|
27
27
|
ttnn_visualizer/static/assets/site-BTBrvHC5.webmanifest,sha256=Uy_XmnGuYFVf-OZuma2NvgEPdrCrevb3HZvaxSIHoA0,456
|
|
28
|
-
ttnn_visualizer/static/assets/splitPathsBySizeLoader-
|
|
28
|
+
ttnn_visualizer/static/assets/splitPathsBySizeLoader-DjzfvTVt.js,sha256=PaKg0d8Ct0t2PpuDe6rCi7pePIQAwKh0z4zDNCNuEKM,281
|
|
29
29
|
ttnn_visualizer/static/favicon/android-chrome-192x192.png,sha256=BZWA09Zxaa3fXbaeS6nhWo2e-DUSjm9ElzNQ_xTB5XU,6220
|
|
30
30
|
ttnn_visualizer/static/favicon/android-chrome-512x512.png,sha256=HBiJSZyguB3o8fMJuqIGcpeBy_9JOdImme3wD02UYCw,62626
|
|
31
31
|
ttnn_visualizer/static/favicon/favicon-32x32.png,sha256=Zw201qUsczQv1UvoQvJf5smQ2ss10xaTeWxmQNYCGtY,480
|
|
@@ -34,10 +34,10 @@ ttnn_visualizer/static/sample-data/cluster-desc.yaml,sha256=LMxOmsRUXtVVU5ogzYkX
|
|
|
34
34
|
ttnn_visualizer/tests/__init__.py,sha256=FCQeTWnXsf-Wx-fay53-lQsm0y5-GcPMUmzhE5upDx0,93
|
|
35
35
|
ttnn_visualizer/tests/test_queries.py,sha256=HqaDXwudZpXiigJdHkdJP8oiUc-PtHASbpLnQQpbD7A,13792
|
|
36
36
|
ttnn_visualizer/tests/test_serializers.py,sha256=IJekAZRBpyOr_Ffp0dqSrnhFOU_ZZ8pHma_JO0j23TQ,18762
|
|
37
|
-
ttnn_visualizer-0.
|
|
38
|
-
ttnn_visualizer-0.
|
|
39
|
-
ttnn_visualizer-0.
|
|
40
|
-
ttnn_visualizer-0.
|
|
41
|
-
ttnn_visualizer-0.
|
|
42
|
-
ttnn_visualizer-0.
|
|
43
|
-
ttnn_visualizer-0.
|
|
37
|
+
ttnn_visualizer-0.54.0.dist-info/licenses/LICENSE,sha256=bapl7NysYmv8aYSVxr5qFDya0vCqppyjkyyNJYosBdc,20044
|
|
38
|
+
ttnn_visualizer-0.54.0.dist-info/licenses/LICENSE_understanding.txt,sha256=pymi-yb_RvYM9p2ZA4iSNsImcvhDBBxlGuJCY9dTq7M,233
|
|
39
|
+
ttnn_visualizer-0.54.0.dist-info/METADATA,sha256=kxsWbE8m8KdUzbJfqiaV_seTTavqy8zujiXGNj0l9CQ,7780
|
|
40
|
+
ttnn_visualizer-0.54.0.dist-info/WHEEL,sha256=lTU6B6eIfYoiQJTZNc-fyaR6BpL6ehTzU3xGYxn2n8k,91
|
|
41
|
+
ttnn_visualizer-0.54.0.dist-info/entry_points.txt,sha256=QpuUpkmQ_mEHJTMqOBdU0MH2Z4WF_9iFsGACeyyAO1E,61
|
|
42
|
+
ttnn_visualizer-0.54.0.dist-info/top_level.txt,sha256=M1EGkvDOuIfbhDbcUdz2-TSdmCtDoQ2Uyag9k5JLDSY,16
|
|
43
|
+
ttnn_visualizer-0.54.0.dist-info/RECORD,,
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/allPaths-DOFQJGIv.js","assets/index-CnPrfHYh.js","assets/index-Cnc1EkDo.js","assets/index-WayH7MCF.js","assets/index-BxeIYL6g.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{_ as e}from"./index-WayH7MCF.js";const s=async(t,a)=>{const{getIconPaths:o}=await e(async()=>{const{getIconPaths:r}=await import("./allPaths-DOFQJGIv.js");return{getIconPaths:r}},__vite__mapDeps([0,1,2,3,4]));return o(t,a)};export{s as allPathsLoader};
|