mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-23 19:32:23 +00:00
### Description Merge main to WindowsAI ### Motivation and Context <!-- - Why is this change required? What problem does it solve? - If it fixes an open issue, please link to the issue here. --> --------- Signed-off-by: Nash <george.nash@intel.com> Signed-off-by: Yiming Hu <yiming.hu@amd.com> Signed-off-by: Liqun Fu <liqfu@microsoft.com> Co-authored-by: Kaz Nishimura <kazssym@linuxfront.com> Co-authored-by: Tianlei Wu <tlwu@microsoft.com> Co-authored-by: Nat Kershaw (MSFT) <nakersha@microsoft.com> Co-authored-by: Yulong Wang <7679871+fs-eire@users.noreply.github.com> Co-authored-by: Changming Sun <chasun@microsoft.com> Co-authored-by: zesongw <zesong.wang@intel.com> Co-authored-by: Yi Zhang <zhanyi@microsoft.com> Co-authored-by: Dmitri Smirnov <yuslepukhin@users.noreply.github.com> Co-authored-by: Yifan Li <109183385+yf711@users.noreply.github.com> Co-authored-by: simonjub <78098752+simonjub@users.noreply.github.com> Co-authored-by: PeixuanZuo <94887879+PeixuanZuo@users.noreply.github.com> Co-authored-by: Adrian Lizarraga <adlizarraga@microsoft.com> Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com> Co-authored-by: Arthur Islamov <arthur@islamov.ai> Co-authored-by: Jambay Kinley <jambaykinley@microsoft.com> Co-authored-by: Justin Chu <justinchuby@users.noreply.github.com> Co-authored-by: Wei-Sheng Chin <wschin@outlook.com> Co-authored-by: Bowen Bao <bowbao@microsoft.com> Co-authored-by: Hariharan Seshadri <shariharan91@gmail.com> Co-authored-by: Numfor Tiapo <numsmt2@gmail.com> Co-authored-by: Vincent Wang <wangwchpku@outlook.com> Co-authored-by: Pranav Sharma <prs@microsoft.com> Co-authored-by: George Nash <george.nash@intel.com> Co-authored-by: Abhishek Jindal <abjindal@microsoft.com> Co-authored-by: pengwa <pengwa@microsoft.com> Co-authored-by: Yiming Hu <woinck@users.noreply.github.com> Co-authored-by: Jiajia Qin <jiajia.qin@intel.com> Co-authored-by: Lukas Berbuer <36054362+lukasberbuer@users.noreply.github.com> Co-authored-by: Wanming Lin <wanming.lin@intel.com> Co-authored-by: Xavier Dupré <xadupre@users.noreply.github.com> Co-authored-by: aimilefth <60664743+aimilefth@users.noreply.github.com> Co-authored-by: Baiju Meswani <bmeswani@microsoft.com> Co-authored-by: Adam Pocock <adam.pocock@oracle.com> Co-authored-by: Chi Lo <54722500+chilo-ms@users.noreply.github.com> Co-authored-by: RandySheriffH <48490400+RandySheriffH@users.noreply.github.com> Co-authored-by: Randy Shuai <rashuai@microsoft.com> Co-authored-by: Vadym Stupakov <vadim.stupakov@gmail.com> Co-authored-by: Jian Chen <cjian@microsoft.com> Co-authored-by: Brian Lambert <98757707+brian-pieces@users.noreply.github.com> Co-authored-by: Nicolò Lucchesi <nicolo.lucchesi@gmail.com> Co-authored-by: liqun Fu <liqfu@microsoft.com> Co-authored-by: trajep <trajepl@gmail.com> Co-authored-by: Scott McKay <skottmckay@gmail.com> Co-authored-by: Mustafa Ateş Uzun <mustafauzun0@gmail.com> Co-authored-by: MistEO <mistereo@hotmail.com> Co-authored-by: satyajandhyala <satya.k.jandhyala@gmail.com> Co-authored-by: shaahji <96227573+shaahji@users.noreply.github.com> Co-authored-by: Rachel Guo <35738743+YUNQIUGUO@users.noreply.github.com> Co-authored-by: rachguo <rachguo@rachguos-Mini.attlocal.net> Co-authored-by: Caroline Zhu <wolfivyaura@gmail.com> Co-authored-by: Caroline Zhu <carolinezhu@microsoft.com> Co-authored-by: Guenther Schmuelling <guschmue@microsoft.com> Co-authored-by: xhcao <xinghua.cao@intel.com> Co-authored-by: Ella Charlaix <80481427+echarlaix@users.noreply.github.com> Co-authored-by: Xu Xing <xing.xu@intel.com> Co-authored-by: Hector Li <hecli@microsoft.com> Co-authored-by: Ye Wang <52801275+wangyems@users.noreply.github.com> Co-authored-by: Your Name <you@example.com> Co-authored-by: Benedikt Hilmes <benedikt.hilmes@rwth-aachen.de> Co-authored-by: rachguo <rachguo@rachguos-Mac-mini.local> Co-authored-by: George Wu <jywu@microsoft.com> Co-authored-by: JiCheng <wejoncy@163.com> Co-authored-by: Sheil Kumar <smk2007@gmail.com> Co-authored-by: Sheil Kumar <sheilk@microsoft.com> Co-authored-by: cloudhan <guangyunhan@microsoft.com> Co-authored-by: kyoshisuki <143475866+kyoshisuki@users.noreply.github.com> Co-authored-by: aciddelgado <139922440+aciddelgado@users.noreply.github.com> Co-authored-by: tlwu@microsoft.com <tlwu@a100.crj0ad2y1kku1j4yxl4sj10o4e.gx.internal.cloudapp.net> Co-authored-by: Maximilian Müller <44298237+gedoensmax@users.noreply.github.com> Co-authored-by: Tang, Cheng <souptc@gmail.com> Co-authored-by: Cheng Tang <chenta@microsoft.com@orttrainingdev9.d32nl1ml4oruzj4qz3bqlggovf.px.internal.cloudapp.net> Co-authored-by: Cheng Tang <chenta@microsoft.com> Co-authored-by: Jeff Daily <jeff.daily@amd.com> Co-authored-by: cloudhan <cloudhan@outlook.com> Co-authored-by: Yufeng Li <liyufeng1987@gmail.com> Co-authored-by: Zhang Lei <zhang.huanning@hotmail.com> Co-authored-by: Dwayne Robinson <fdwr@hotmail.com> Co-authored-by: Zhipeng Han <zhipeng.han@outlook.com> Co-authored-by: Thiago Crepaldi <thiago.crepaldi@microsoft.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Patrice Vignola <vignola.patrice@gmail.com> Co-authored-by: kunal-vaishnavi <115581922+kunal-vaishnavi@users.noreply.github.com> Co-authored-by: snadampal <87143774+snadampal@users.noreply.github.com> Co-authored-by: Sumit Agarwal <sumitagarwal330@gmail.com> Co-authored-by: Ashwini Khade <askhade@microsoft.com> Co-authored-by: Yang Gu <yang.gu@intel.com> Co-authored-by: Cheng Tang <chenta@a100.crj0ad2y1kku1j4yxl4sj10o4e.gx.internal.cloudapp.net> Co-authored-by: mindest <30493312+mindest@users.noreply.github.com> Co-authored-by: Scott McKay <Scott.McKay@microsoft.com> Co-authored-by: Xavier Dupre <xadupre@microsoft.com@orttrainingdev9.d32nl1ml4oruzj4qz3bqlggovf.px.internal.cloudapp.net> Co-authored-by: guyang3532 <62738430+guyang3532@users.noreply.github.com> Co-authored-by: Carson M <carson@pyke.io> Co-authored-by: sophies927 <107952697+sophies927@users.noreply.github.com>
148 lines
5.8 KiB
HTML
148 lines
5.8 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title id="filename">Onnxruntime Perf View</title>
|
|
<script type="text/javascript" src="https://cdn.anychart.com/releases/v8/js/anychart-core.min.js"></script>
|
|
<script src="https://cdn.anychart.com/releases/8.11.0/js/anychart-ui.min.js"></script>
|
|
<script type="text/javascript" src="https://cdn.anychart.com/releases/v8/js/anychart-treemap.min.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="https://cdn.anychart.com/releases/8.11.1/css/anychart-ui.min.css"/>
|
|
<style>
|
|
html, body {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
.view {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
.half_view {
|
|
width: 100%;
|
|
height: 70%;
|
|
}
|
|
.no_view {
|
|
width: 100%;
|
|
height: 0%;
|
|
}
|
|
.modal {
|
|
display: block;
|
|
position: fixed;
|
|
background-color: gray;
|
|
left: 40%;
|
|
top: 50%;
|
|
height: 10;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="view" id="cpu"></div>
|
|
<div class="half_view" id="gpu"></div>
|
|
<div class="modal">
|
|
<label id="file-label">Choose ort profiling json file to </label>
|
|
<input id="file-button" type="button" value="open ...">
|
|
<input id="file-selector" type="file" accept=".json" style="display:none"/>
|
|
</div>
|
|
<script>
|
|
'use strict';
|
|
var raw_data_in_json = null;
|
|
|
|
const fileButton = document.getElementById('file-button');
|
|
fileButton.addEventListener('click', (event) => {
|
|
document.getElementById('file-selector').click();
|
|
});
|
|
|
|
const fileSelector = document.getElementById('file-selector');
|
|
fileSelector.addEventListener('change', (event) => {
|
|
document.getElementById('file-label').style.display = 'none';
|
|
document.getElementById('file-button').style.display = 'none';
|
|
document.getElementById('file-selector').style.display = 'none';
|
|
var preloader = anychart.ui.preloader();
|
|
preloader.render();
|
|
preloader.visible(true);
|
|
|
|
const fileList = event.target.files;
|
|
document.getElementById('filename').text = fileList[0].name;
|
|
console.log(fileList);
|
|
const reader = new FileReader();
|
|
reader.addEventListener('load', (event) => {
|
|
raw_data_in_json = JSON.parse(event.target.result);
|
|
var summarized_cpu = JSON.parse("{}");
|
|
var summarized_gpu = JSON.parse("{}");
|
|
for (var i = 0; i < raw_data_in_json.length; i++) {
|
|
var node = raw_data_in_json[i];
|
|
if (node.cat == null ||node.name == null || node.args == null || node.args.op_name == null) continue;
|
|
var category = node.cat;
|
|
if (category == "Node") {
|
|
if ( summarized_cpu[node.args.op_name] == null) {
|
|
summarized_cpu[node.args.op_name] = {all:0,children:[]};
|
|
}
|
|
summarized_cpu[node.args.op_name].all += node.dur;
|
|
var metadata = JSON.parse('{}');
|
|
metadata.name = node.name
|
|
metadata.input = node.args.input_type_shape
|
|
metadata.output = node.args.output_type_shape
|
|
metadata.duration_in_microseconds = node.dur
|
|
var metadata_str = JSON.stringify(metadata).replaceAll('","','",\n"').replaceAll('},{','},\n{').replaceAll('],"','],\n"')
|
|
summarized_cpu[node.args.op_name].children.push({name: metadata_str, value: node.dur})
|
|
} else if (category == "Kernel") {
|
|
var op_name = node.args.op_name == "" ? "Session" : node.args.op_name;
|
|
if (summarized_gpu[op_name] == null) {
|
|
|
|
summarized_gpu[op_name] = {all:0,children:[]};
|
|
}
|
|
summarized_gpu[op_name].all += node.dur;
|
|
summarized_gpu[op_name].children.push({name: node.name, value:node.dur})
|
|
}
|
|
}
|
|
var array_cpu = JSON.parse("[]");
|
|
array_cpu.push({Xname:"all", children:[]});
|
|
for (var op in summarized_cpu) {
|
|
array_cpu[0].children.push({name:op, children: summarized_cpu[op].children});
|
|
}
|
|
var chart_cpu = anychart.treeMap(anychart.data.tree(array_cpu, "as-tree"));
|
|
chart_cpu.title("CPU perf overview");
|
|
|
|
var array_gpu = JSON.parse("[]");
|
|
array_gpu.push({Xname:"all", children:[]});
|
|
var has_gpu_info = false;
|
|
for (var op in summarized_gpu) {
|
|
array_gpu[0].children.push({name:op, children: summarized_gpu[op].children});
|
|
has_gpu_info = true;
|
|
}
|
|
|
|
chart_cpu.listen("drillchange", function(e){
|
|
console.log('cpu drillchange');
|
|
document.body.style.cursor = "wait";
|
|
return true;
|
|
});
|
|
chart_cpu.listen("chartDraw", function(e){
|
|
console.log('cpu refreshed');
|
|
document.body.style.cursor = "default";
|
|
return true;
|
|
});
|
|
|
|
//todo: resolve performance issue to enable hint, which improves rendering
|
|
//chart_cpu.hintDepth(1);
|
|
//chart_cpu.hintOpacity(0.8);
|
|
chart_cpu.container("cpu");
|
|
chart_cpu.draw();
|
|
|
|
if (has_gpu_info) {
|
|
document.getElementById("cpu").className = "half_view";
|
|
var chart_gpu = anychart.treeMap(anychart.data.tree(array_gpu, "as-tree"));
|
|
chart_gpu.title("GPU perf overview");
|
|
//todo: resolve performance issue to enable hint, which improves rendering
|
|
//chart_gpu.hintDepth(1);
|
|
//chart_gpu.hintOpacity(0.8);
|
|
chart_gpu.container("gpu");
|
|
chart_gpu.draw();
|
|
} else {
|
|
document.getElementById("gpu").className = "no_view";
|
|
}
|
|
|
|
preloader.visible(false);
|
|
});
|
|
reader.readAsText(fileList[0]);
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|