Enhancements, fixups
This commit is contained in:
parent
829fc0f0f4
commit
bbb4fdad42
4 changed files with 423 additions and 17 deletions
|
@ -31,20 +31,32 @@
|
|||
\end{tightitemize}
|
||||
\end{column}
|
||||
\end{columns}
|
||||
|
||||
\pause{}
|
||||
\begin{center}
|
||||
\textbf{\alert{These pieces can (mostly) be modeled independently!}}
|
||||
\end{center}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Dependencies and the ROB}
|
||||
\begin{columns}
|
||||
\begin{column}{0.35\textwidth}
|
||||
\begin{center}
|
||||
\includegraphics[width=\textwidth]{cpu_frontend.svg}
|
||||
\end{center}
|
||||
\end{column}
|
||||
\hfill
|
||||
\begin{column}{0.64\textwidth}
|
||||
\begin{tightitemize}{0pt}
|
||||
\begin{itemize}
|
||||
\item Dependencies can stall execution
|
||||
\item Maybe instructions further down can be executed right now?
|
||||
\end{itemize}
|
||||
\begin{center}
|
||||
\textbf{\alert{$\to$ Out-of-Order CPUs}}
|
||||
\end{center}
|
||||
\begin{itemize}
|
||||
\item ROB: circular buffer of \uops{}
|
||||
\item First possible instruction is issued
|
||||
\end{itemize}
|
||||
\end{tightitemize}
|
||||
\end{column}
|
||||
\end{columns}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{How do we get insights from this complex system?}
|
||||
|
@ -101,13 +113,16 @@
|
|||
\item \alert{\uica{}} and \alert{\uopsinfo{}}: research, good accuracy.
|
||||
Intel CPUs.
|
||||
\item \alert{\ithemal{}}: machine-learning based.
|
||||
\item \alert{\gus{}}: instrumentation-based code analyzer (not
|
||||
static) $\leadsto$ slow. Access to mode information. Made in the
|
||||
CORSE team.
|
||||
\end{itemize}
|
||||
\bigskip
|
||||
|
||||
Except Ithemal, \alert{all} are (to some extent) based on manually-made
|
||||
models!
|
||||
models!\\
|
||||
\pause{}
|
||||
\bigskip{}
|
||||
\begin{center}
|
||||
\textbf{\alert{Ambition:}} \alert{automated} model generation.
|
||||
\end{center}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{When I started my PhD\ldots}
|
||||
|
|
|
@ -67,7 +67,7 @@
|
|||
\item{} Measure to verify
|
||||
\bigskip
|
||||
\item{} If so, \textbf{\[
|
||||
\mucount{i} = 3 \cyc{\kerK_{k_0}} - k
|
||||
\mucount{i} = 3 \cyc{\kerK_{k_0}} - k_0
|
||||
\]}
|
||||
|
||||
\end{itemize}
|
||||
|
|
|
@ -36,6 +36,7 @@ loop:
|
|||
\begin{itemize}
|
||||
\item Instrument full kernel $\kerK$: for each basic block,
|
||||
$\operatorname{occur}(\text{bb})$
|
||||
\item Measure total kernel time \textbf{in context}
|
||||
\item For each tool
|
||||
\begin{itemize}
|
||||
\item for each bb,
|
||||
|
@ -47,7 +48,6 @@ loop:
|
|||
\operatorname{prediction}(\text{bb})
|
||||
\]
|
||||
\end{itemize}
|
||||
\item Measure total kernel time
|
||||
\end{itemize}
|
||||
|
||||
\pause
|
||||
|
|
391
slides/assets/imgs/20_foundations/cpu_frontend.svg
Normal file
391
slides/assets/imgs/20_foundations/cpu_frontend.svg
Normal file
|
@ -0,0 +1,391 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="165mm"
|
||||
height="88.896568mm"
|
||||
viewBox="0 0 165 88.896568"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
sodipodi:docname="cpu_frontend.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:zoom="1.3113872"
|
||||
inkscape:cx="344.29192"
|
||||
inkscape:cy="302.3516"
|
||||
inkscape:window-width="1916"
|
||||
inkscape:window-height="1041"
|
||||
inkscape:window-x="1920"
|
||||
inkscape:window-y="18"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs1">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="ArrowWide"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Wide arrow"
|
||||
markerWidth="1"
|
||||
markerHeight="1"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid">
|
||||
<path
|
||||
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
|
||||
d="M 3,-3 0,0 3,3"
|
||||
transform="rotate(180,0.125,0)"
|
||||
sodipodi:nodetypes="ccc"
|
||||
id="path1" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="ArrowWide-0"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Wide arrow"
|
||||
markerWidth="1"
|
||||
markerHeight="1"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid">
|
||||
<path
|
||||
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
|
||||
d="M 3,-3 0,0 3,3"
|
||||
transform="rotate(180,0.125,0)"
|
||||
sodipodi:nodetypes="ccc"
|
||||
id="path1-7" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="ArrowWide-0-4"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Wide arrow"
|
||||
markerWidth="1"
|
||||
markerHeight="1"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid">
|
||||
<path
|
||||
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
|
||||
d="M 3,-3 0,0 3,3"
|
||||
transform="rotate(180,0.125,0)"
|
||||
sodipodi:nodetypes="ccc"
|
||||
id="path1-7-3" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="ArrowWide-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Wide arrow"
|
||||
markerWidth="1"
|
||||
markerHeight="1"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid">
|
||||
<path
|
||||
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
|
||||
d="M 3,-3 0,0 3,3"
|
||||
transform="rotate(180,0.125,0)"
|
||||
sodipodi:nodetypes="ccc"
|
||||
id="path1-5" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="ArrowWide-7"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Wide arrow"
|
||||
markerWidth="1"
|
||||
markerHeight="1"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid">
|
||||
<path
|
||||
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
|
||||
d="M 3,-3 0,0 3,3"
|
||||
transform="rotate(180,0.125,0)"
|
||||
sodipodi:nodetypes="ccc"
|
||||
id="path1-53" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="ArrowWide-1"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Wide arrow"
|
||||
markerWidth="1"
|
||||
markerHeight="1"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid">
|
||||
<path
|
||||
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
|
||||
d="M 3,-3 0,0 3,3"
|
||||
transform="rotate(180,0.125,0)"
|
||||
sodipodi:nodetypes="ccc"
|
||||
id="path1-2" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="ArrowWide-6"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Wide arrow"
|
||||
markerWidth="1"
|
||||
markerHeight="1"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid">
|
||||
<path
|
||||
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
|
||||
d="M 3,-3 0,0 3,3"
|
||||
transform="rotate(180,0.125,0)"
|
||||
sodipodi:nodetypes="ccc"
|
||||
id="path1-0" />
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-5,-9.9999999)">
|
||||
<rect
|
||||
style="fill:#c0e3f5;fill-opacity:1;stroke:#000000;stroke-width:0.0133841"
|
||||
id="rect1"
|
||||
width="149.98662"
|
||||
height="79.986618"
|
||||
x="20.006693"
|
||||
y="10.006692" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:7.05556px;line-height:1.25;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:none;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
|
||||
x="75.22686"
|
||||
y="25.236549"
|
||||
id="text3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3"
|
||||
style="stroke-width:0.264583"
|
||||
x="75.22686"
|
||||
y="25.236549">FRONTEND</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ArrowWide)"
|
||||
d="M 5,40 H 33.74813"
|
||||
id="path4" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ArrowWide-0)"
|
||||
d="M 64.709525,40 H 79.042893"
|
||||
id="path4-6" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ArrowWide-0-4)"
|
||||
d="m 109.70952,40 h 14.33337"
|
||||
id="path4-6-4" />
|
||||
<g
|
||||
id="g13"
|
||||
transform="translate(0,-3.1049999)">
|
||||
<g
|
||||
id="g7"
|
||||
transform="matrix(1.000053,0,0,0.6666667,4.9976138,14.368332)">
|
||||
<rect
|
||||
style="fill:#69b2d8;fill-opacity:1;stroke:#000000;stroke-width:0.00866583;stroke-dasharray:none"
|
||||
id="rect3"
|
||||
width="29.991335"
|
||||
height="14.991334"
|
||||
x="30.004333"
|
||||
y="35.609333" />
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:1.25;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:none;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
|
||||
x="37.847084"
|
||||
y="45.209263"
|
||||
id="text5"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:none;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="37.847084"
|
||||
y="45.209263">Decoder</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g14"
|
||||
transform="translate(0,-3.1049999)">
|
||||
<g
|
||||
id="g7-0"
|
||||
transform="matrix(1.000053,0,0,0.66658008,49.997613,14.372066)">
|
||||
<rect
|
||||
style="fill:#69b2d8;fill-opacity:1;stroke:#000000;stroke-width:0.00866583;stroke-dasharray:none"
|
||||
id="rect3-6"
|
||||
width="29.991335"
|
||||
height="14.991334"
|
||||
x="30.004333"
|
||||
y="35.609333" />
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:1.25;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:none;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
|
||||
x="81.988571"
|
||||
y="45.122448"
|
||||
id="text5-1"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5-5"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:none;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="81.988571"
|
||||
y="45.122448">Renamer</tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ArrowWide)"
|
||||
d="m 140,44.542893 v 7"
|
||||
id="path17" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ArrowWide-9)"
|
||||
d="m 95.434788,62.042893 v 7"
|
||||
id="path17-4" />
|
||||
<g
|
||||
id="g15"
|
||||
transform="translate(0,-3.1049999)">
|
||||
<g
|
||||
id="g7-5"
|
||||
transform="matrix(1.000053,0,0,0.66658008,94.997613,14.372066)">
|
||||
<rect
|
||||
style="fill:#69b2d8;fill-opacity:1;stroke:#000000;stroke-width:0.00866583;stroke-dasharray:none"
|
||||
id="rect3-69"
|
||||
width="29.991335"
|
||||
height="14.991334"
|
||||
x="30.004333"
|
||||
y="35.609333" />
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:1.25;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:none;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
|
||||
x="137.17778"
|
||||
y="43.455025"
|
||||
id="text5-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5-7"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:none;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="137.17778"
|
||||
y="43.455025">…</tspan></text>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:7.05556px;line-height:1.25;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:none;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
|
||||
x="20.037083"
|
||||
y="28.754669"
|
||||
id="text10"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan10"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:Sans;-inkscape-font-specification:'Sans, Normal';font-variant-ligatures:none;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke-width:0.264583"
|
||||
x="20.037083"
|
||||
y="28.754669">Instruction</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:Sans;-inkscape-font-specification:'Sans, Normal';font-variant-ligatures:none;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke-width:0.264583"
|
||||
x="20.037083"
|
||||
y="37.57412"
|
||||
id="tspan11">flow</tspan></text>
|
||||
<g
|
||||
id="g12"
|
||||
transform="translate(0,-2.4222487)">
|
||||
<rect
|
||||
style="fill:#69b2d8;fill-opacity:1;stroke:none;stroke-width:1.01708;stroke-dasharray:none"
|
||||
id="rect11"
|
||||
width="120"
|
||||
height="10"
|
||||
x="35"
|
||||
y="54.922249" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:1.25;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:none;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
|
||||
x="65.290894"
|
||||
y="61.694405"
|
||||
id="text12"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan12"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:none;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="65.290894"
|
||||
y="61.694405">Reorder buffer (ROB)</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g16"
|
||||
transform="translate(-0.43478775,-1.8886414)">
|
||||
<rect
|
||||
style="fill:#69b2d8;fill-opacity:1;stroke:none;stroke-width:1.01708;stroke-dasharray:none"
|
||||
id="rect11-9"
|
||||
width="120"
|
||||
height="10"
|
||||
x="35.434788"
|
||||
y="71.888641" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:1.25;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:none;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
|
||||
x="88.009926"
|
||||
y="78.90609"
|
||||
id="text12-2"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan12-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:none;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="88.009926"
|
||||
y="78.90609">Issue</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:none;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="88.009926"
|
||||
y="85.961639"
|
||||
id="tspan15" /></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.789922;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ArrowWide)"
|
||||
d="M 45,80 V 98.140532"
|
||||
id="path22" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.789922;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ArrowWide-1)"
|
||||
d="M 78.56817,79.970409 V 98.11094"
|
||||
id="path22-0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.789922;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ArrowWide-6)"
|
||||
d="M 112.13634,79.970409 V 98.110943"
|
||||
id="path22-2" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.789922;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ArrowWide-7)"
|
||||
d="M 145.70451,79.970409 V 98.110943"
|
||||
id="path22-6" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.25;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:none;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
|
||||
x="193.66086"
|
||||
y="24.500828"
|
||||
id="text36"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan38"
|
||||
x="193.66086"
|
||||
y="24.500828" /></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 17 KiB |
Loading…
Reference in a new issue