(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[327],{78408:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/benchmark/llms",function(){return r(10086)}])},10086:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return J}});var n=r(85893),a=r(31536),o=r(15861),c=r(67720),i=r(1224),l=r(87370),m=r(41185),d={"pytorch/pytorch":["gpt_fast_benchmark"],"pytorch/executorch":["android-perf","apple-perf"]},u=["load_status"],s="All Models",f={"memory_bandwidth(GB/s)":"Memory bandwidth (GB/s)",token_per_sec:"Token per second",flops_utilization:"FLOPs utilization","compilation_time(s)":"Compilation Time (s)"},v={"memory_bandwidth(GB/s)":!0,token_per_sec:!0,flops_utilization:!0,"compilation_time(s)":!1},h={"memory_bandwidth(GB/s)":"Bandwidth",token_per_sec:"TPS",flops_utilization:"FLOPs","compilation_time(s)":"CompTime"},p="All Devices",y="All DType",b=r(86886),g=r(24120),j=r(27484),x=r.n(j),N=r(35470),_=r(8100);function C(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function S(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"===typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){C(e,t,r[t])}))}return e}function w(e,t,r,n,a){var o=arguments.length>5&&void 0!==arguments[5]&&arguments[5],c="oss_ci_benchmark_llms",i=S({getJobId:o},e);i.branches=a.branch?[a.branch]:[],i.commits=a.commit?[a.commit]:[];var l="/api/clickhouse/".concat(c,"?parameters=").concat(encodeURIComponent(JSON.stringify(i)));return(0,_.ZP)(l,N._i,{refreshInterval:36e5})}function k(e){var t=e.queryParams,r=e.granularity,c=e.modelName,l=e.dtypeName,d=e.deviceName,u=e.metricNames,v=e.lBranchAndCommit,j=e.rBranchAndCommit,N=w(t,c,l,d,{branch:j.branch,commit:""}),_=N.data;N.error;if(void 0===_||0===_.length)return(0,n.jsx)(a.Z,{direction:"row",spacing:2,sx:{mb:2},children:(0,n.jsxs)(o.Z,{fontSize:"1rem",fontStyle:"italic",children:["Loading chart for ",c,"..."]})});if(c===s)return(0,n.jsx)(n.Fragment,{});var C,S=x()(t.startTime).startOf(r),k=x()(t.stopTime).startOf(r),T=i.yC[v.commit],O=i.yC[j.commit],P="display",A={},B={};u.forEach((function(e){A[e]=_.filter((function(t){return t.name===c&&(t.dtype===l||l===y)&&("".concat(t.device," (").concat(t.arch,")")===d||d===p)&&t.metric===e})).filter((function(e){var t=e.workflow_id;return t>=T&&t<=O||t<=T&&t>=O||void 0===T&&void 0===O})).map((function(e){var t=e.name,r=e.dtype,n=e.device;return e.display=t.includes(r)?t.includes(n)?t:"".concat(t," (").concat(n,")"):t.includes(n)?"".concat(t," (").concat(r,")"):"".concat(t," (").concat(r," / ").concat(n,")"),e})),B[e]=(0,g.MF)(A[e],S,k,r,P,m.FK,"actual",!1)}));var I=null!==(C=u.find((function(e){return 0!==A[e].length})))&&void 0!==C?C:u[0];return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{children:(0,n.jsx)(b.ZP,{container:!0,spacing:2,children:u.filter((function(e){return 0!==A[e].length})).map((function(e){return(0,n.jsx)(b.ZP,{item:!0,xs:12,lg:4,height:245,children:(0,n.jsx)(g._p,{data:A[e],series:B[e],title:e in f?f[e]:e,groupByFieldName:P,yAxisRenderer:function(e){return e},additionalOptions:{yAxis:{scale:!0},label:{show:!0,align:"left",formatter:function(e){return e.value[1]}}}})},e)}))})}),(0,n.jsx)("div",{children:(0,n.jsxs)("table",{children:[(0,n.jsx)("thead",{children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:"Date"}),(0,n.jsx)("th",{children:"Commit"}),u.map((function(e){return(0,n.jsx)("th",{children:0!==A[e].length?e in h?h[e]:e:""},e)}))]})}),(0,n.jsx)("tbody",{children:A[I].map((function(e,t){var r=i.BU[e.workflow_id];return(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{children:e.granularity_bucket}),(0,n.jsx)("td",{children:(0,n.jsx)("code",{children:(0,n.jsx)("a",{onClick:function(){return navigator.clipboard.writeText(r)},className:"animate-on-click",children:r})})}),u.filter((function(e){return 0!==A[e].length})).map((function(e){return(0,n.jsx)("td",{children:void 0!==A[e][t]?A[e][t].actual:""},"".concat(e,"-").concat(t))}))]},t)}))})]})})]})}var T=r(18943),O=r.n(T),P=r(57905);function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function B(e){return function(e){if(Array.isArray(e))return A(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return A(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return A(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(e){var t=e.startTime,r=e.stopTime,a=e.granularity,o=e.repoName,c=e.modelName,i=e.metricNames,l=e.lPerfData,m=e.rPerfData,d=l.branch,u=l.commit,s=(l.data,m.branch),h=m.commit,p=(m.data,function(e,t){e.branch;var r=e.commit,n=e.data,a=(t.branch,t.commit),o=t.data,c={};o.forEach((function(e){var t=e.name,r=e.dtype,n=e.device,a=e.arch,o=e.metric;t in c||(c[t]={}),r in c[t]||(c[t][r]={}),n in c[t][r]||(c[t][r][n]={}),a in c[t][r][n]||(c[t][r][n][a]={}),c[t][r][n][a][o]={r:e}})),r!==a&&void 0!==n&&n.forEach((function(e){var t=e.name,r=e.dtype,n=e.device,a=e.arch,o=e.metric;t in c||(c[t]={}),r in c[t]||(c[t][r]={}),n in c[t][r]||(c[t][r][n]={}),a in c[t][r][n]||(c[t][r][n][a]={}),o in c[t][r][n][a]||(c[t][r][n][a][o]={}),c[t][r][n][a][o].l=e}));var i=[];return Object.keys(c).forEach((function(e){Object.keys(c[e]).forEach((function(t){Object.keys(c[e][t]).forEach((function(r){Object.keys(c[e][t][r]).forEach((function(n){var a={name:"".concat(e," (").concat(t," / ").concat(r," / ").concat(n,")")};for(var o in c[e][t][r][n]){var l,m,d=c[e][t][r][n][o],u="l"in d,s="r"in d;"metadata"in a?(a.metadata.l=null!==(l=a.metadata.l)&&void 0!==l?l:u?d.l.job_id:void 0,a.metadata.r=null!==(m=a.metadata.r)&&void 0!==m?m:s?d.r.job_id:void 0):a.metadata={name:e,dtype:t,device:r,arch:n,l:u?d.l.job_id:void 0,r:s?d.r.job_id:void 0},a.device_arch={device:r,arch:n},a[o]={l:u?{actual:d.l.actual,target:d.l.target}:{actual:0,target:0},r:s?{actual:d.r.actual,target:d.r.target}:{actual:0,target:0}}}i.push(a)}))}))}))})),i}(l,m));return(0,n.jsx)(b.ZP,{container:!0,spacing:2,style:{height:"100%"},children:(0,n.jsx)(b.ZP,{item:!0,xs:12,lg:12,height:38*p.length+100,children:(0,n.jsx)(P.T,{title:"Models",data:p,columns:[{field:"metadata",headerName:"Name",flex:1,cellClassName:function(e){var t=e.value.name;return void 0===t?"":void 0!==c&&t===c?O().selectedRow:""},renderCell:function(e){var c=e.value.name,i=e.value.dtype,l="".concat(e.value.device," (").concat(e.value.arch,")");if(void 0===c)return"Invalid model name";if(void 0===i)return"Invalid dtype for model ".concat(c);var m="/benchmark/llms?startTime=".concat(t,"&stopTime=").concat(r,"&granularity=").concat(a,"&lBranch=").concat(d,"&lCommit=").concat(u,"&rBranch=").concat(s,"&rCommit=").concat(h,"&repoName=").concat(encodeURIComponent(o),"&modelName=").concat(encodeURIComponent(c),"&dtypeName=").concat(encodeURIComponent(i),"&deviceName=").concat(encodeURIComponent(l)),f=void 0===e.value.l?"(NEW!) ":"",v=void 0===e.value.r?"\u274c":"",p=c.includes(i)?c:"".concat(c," (").concat(i,")");return(0,n.jsxs)("a",{href:m,children:[f,v,"\xa0",(0,n.jsx)("b",{children:p})]})}},{field:"device_arch",headerName:"Device",flex:1,renderCell:function(e){var t=e.value.device,r=e.value.arch;return"".concat(t," (").concat(r,")")}}].concat(B(i.map((function(e){return{field:e,headerName:e in f?f[e]:e,flex:1,cellClassName:function(t){var r=t.value;if(void 0===r||0===r.l.actual)return"";var n=r.l.actual,a=r.r.actual;return u===h||n===a?"":0===a?O().error:a-n>.05*n?v[e]?O().ok:O().error:n-a>.05*a?v[e]?O().error:O().ok:""},renderCell:function(e){var t=e.value;if(void 0===t)return"";var r=t.l.actual,n=t.r.actual,a=t.r.target,o=a&&0!=a?"(".concat(Number(100*r/a).toFixed(0),"%)"):"",c=a&&0!=a?"(".concat(Number(100*n/a).toFixed(0),"%)"):"",i=a&&0!=a?"[target = ".concat(a,"]"):"",l=0===r?"(NEW!)":"";return u===h||r===n?"".concat(n," ").concat(c," ").concat(i):"".concat(r," ").concat(o," \u2192 ").concat(n," ").concat(c," ").concat(i," ").concat(l," ")}}})))),dataGridProps:{getRowId:function(e){return e.name}}})})})}var q=r(5069),D=r(43240),R=r(36246),E=r(96486),Z=r.n(E),U=r(11163),F=r(67294),M=r(67456);function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function H(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"===typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){H(e,t,r[t])}))}return e}function z(e){return function(e){if(Array.isArray(e))return G(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return G(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return G(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function L(e){var t=e.queryParams,r=e.startTime,c=e.stopTime,i=e.granularity,m=e.repoName,d=e.modelName,u=e.dtypeName,s=e.deviceName,f=e.metricNames,v=e.lBranchAndCommit,h=e.rBranchAndCommit,p=w(t,d,u,s,v,!0),y=p.data,b=(p.error,w(t,d,u,s,h,!0)),g=b.data;b.error;return void 0===y||0===y.length||void 0===g||0===g.length?(0,n.jsx)(a.Z,{direction:"row",spacing:2,sx:{mb:2},children:(0,n.jsxs)(o.Z,{fontSize:"1rem",fontStyle:"italic",children:["Loading records for ",d,"..."]})}):(0,n.jsxs)("div",{children:[(0,n.jsx)(l.c,{repoName:m,lBranchAndCommit:Y({},h,{date:void 0!==g&&0!==g.length?g[0].granularity_bucket:void 0}),rBranchAndCommit:Y({},v,{date:void 0!==y&&0!==y.length?y[0].granularity_bucket:void 0}),workflowName:"inductor-micro-benchmark",children:(0,n.jsx)(n.Fragment,{})}),(0,n.jsx)(k,{queryParams:t,granularity:i,modelName:d,dtypeName:u,deviceName:s,metricNames:f,lBranchAndCommit:v,rBranchAndCommit:h}),(0,n.jsx)(I,{startTime:r,stopTime:c,granularity:i,repoName:m,modelName:d,metricNames:f,lPerfData:Y({},v,{data:y}),rPerfData:Y({},h,{data:g})})]})}function J(){var e=(0,U.useRouter)(),t=x()().subtract(m.nr,"day"),r=(0,F.useState)(t),l=r[0],f=r[1],v=x()(),h=(0,F.useState)(v),b=h[0],g=h[1],j=(0,F.useState)(m.nr),C=j[0],S=j[1],w=(0,F.useState)("hour"),k=w[0],T=w[1],O=(0,F.useState)(m.QH),P=O[0],A=O[1],B=(0,F.useState)(""),I=B[0],E=B[1],G=(0,F.useState)(m.QH),H=G[0],Y=G[1],J=(0,F.useState)(""),W=J[0],Q=J[1],X=(0,F.useState)(""),$=X[0],K=X[1],V=(0,F.useState)(m.Lb),ee=V[0],te=V[1],re=(0,F.useState)(s),ne=re[0],ae=re[1],oe=(0,F.useState)(y),ce=oe[0],ie=oe[1],le=(0,F.useState)(p),me=le[0],de=le[1];(0,F.useEffect)((function(){var r,n,a=null!==(r=e.query.startTime)&&void 0!==r?r:void 0;void 0!==a&&(f(x()(a)),x()(a).valueOf()!==t.valueOf()&&S(-1));var o,c=null!==(n=e.query.stopTime)&&void 0!==n?n:void 0;void 0!==c&&(g(x()(c)),x()(c).valueOf()!==v.valueOf()&&S(-1));var i,l=null!==(o=e.query.granularity)&&void 0!==o?o:void 0;void 0!==l&&T(l);var m,d=null!==(i=e.query.repoName)&&void 0!==i?i:void 0;void 0!==d&&te(d);var u,s=null!==(m=e.query.modelName)&&void 0!==m?m:void 0;void 0!==s&&ae(s);var h,p=null!==(u=e.query.dtypeName)&&void 0!==u?u:void 0;void 0!==p&&ie(p);var y,b=null!==(h=e.query.deviceName)&&void 0!==h?h:void 0;void 0!==b&&de(b);var j,N=null!==(y=e.query.lBranch)&&void 0!==y?y:void 0;void 0!==N&&A(N);var _,C=null!==(j=e.query.lCommit)&&void 0!==j?j:void 0;void 0!==C&&E(C);var w,k=null!==(_=e.query.rBranch)&&void 0!==_?_:void 0;void 0!==k&&Y(k);var O=null!==(w=e.query.rCommit)&&void 0!==w?w:void 0;void 0!==O&&Q(O),K("".concat(window.location.protocol,"//").concat(window.location.host).concat(e.asPath.replace(/\?.+/,"")))}),[e.query]);var ue={deviceArch:me===p?"":me,dtypes:ce===y?[]:[ce],excludedMetrics:u,filenames:d[ee],granularity:k,names:ne===s?[]:[ne],repo:ee,startTime:x()(l).utc().format("YYYY-MM-DDTHH:mm:ss.SSS"),stopTime:x()(b).utc().format("YYYY-MM-DDTHH:mm:ss.SSS")},se="/api/clickhouse/".concat("oss_ci_benchmark_names","?parameters=").concat(encodeURIComponent(JSON.stringify(ue))),fe=(0,_.ZP)(se,N._i,{refreshInterval:36e5}).data;if(void 0===fe||0===fe.length)return(0,n.jsxs)(n.Fragment,{children:["Loading ",d[ee].join(", "),"..."]});var ve=[s].concat(z(Z().uniq(fe.map((function(e){return e.name}))))),he=[p].concat(z(Z().uniq(fe.map((function(e){return"".concat(e.device," (").concat(e.arch,")")}))))),pe=[y].concat(z(Z().uniq(fe.map((function(e){return e.dtype}))))),ye=Z().uniq(fe.map((function(e){return e.metric})));return(0,n.jsxs)("div",{children:[(0,n.jsxs)(a.Z,{direction:"row",spacing:2,sx:{mb:2},children:[(0,n.jsx)(o.Z,{fontSize:"2rem",fontWeight:"bold",children:"Benchmark DashBoard"}),(0,n.jsx)(D.Z,{textToCopy:"".concat($,"?startTime=").concat(encodeURIComponent(l.toString()),"&stopTime=").concat(encodeURIComponent(b.toString()),"&granularity=").concat(k,"&lBranch=").concat(P,"&lCommit=").concat(I,"&rBranch=").concat(H,"&rCommit=").concat(W,"&repoName=").concat(encodeURIComponent(ee),"&modelName=").concat(encodeURIComponent(ne),"&dtypeName=").concat(encodeURIComponent(ce),"&deviceName=").concat(encodeURIComponent(me))})]}),(0,n.jsxs)(a.Z,{direction:"row",spacing:2,sx:{mb:2},children:[(0,n.jsx)(M.TimeRangePicker,{startTime:l,setStartTime:f,stopTime:b,setStopTime:g,timeRange:C,setTimeRange:S,setGranularity:T}),(0,n.jsx)(R.Z,{granularity:k,setGranularity:T}),(0,n.jsx)(q.CF,{dtype:ne,setDType:ae,dtypes:ve,label:"Model"}),(0,n.jsx)(q.CF,{dtype:ce,setDType:ie,dtypes:pe,label:"DType"}),(0,n.jsx)(q.CF,{dtype:me,setDType:de,dtypes:he,label:"Device"}),(0,n.jsx)(i.Gs,{queryName:"oss_ci_benchmark_branches",queryCollection:"benchmarks",queryParams:ue,branch:P,setBranch:A,commit:I,setCommit:E,titlePrefix:"Base",fallbackIndex:1,timeRange:C,useClickHouse:!0}),(0,n.jsx)(c.Z,{orientation:"vertical",flexItem:!0,children:"\u2014Diff\u2192"}),(0,n.jsx)(i.Gs,{queryName:"oss_ci_benchmark_branches",queryCollection:"benchmarks",queryParams:ue,branch:H,setBranch:Y,commit:W,setCommit:Q,titlePrefix:"New",fallbackIndex:0,timeRange:C,useClickHouse:!0})]}),(0,n.jsx)(L,{queryParams:ue,startTime:l,stopTime:b,granularity:k,repoName:ee,modelName:ne,dtypeName:ce,deviceName:me,metricNames:ye,lBranchAndCommit:{branch:P,commit:I},rBranchAndCommit:{branch:H,commit:W}})]})}}},function(e){e.O(0,[5445,2013,3662,5762,4697,8764,4771,4866,6886,2578,3153,7292,3021,7456,3366,9774,2888,179],(function(){return t=78408,e(e.s=t);var t}));var t=e.O();_N_E=t}]);