Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Documentation/gpu: Add documentation about ring buffer

AMDGPU heavily relies on ring buffers to manage its components; as a
result, it has an elaborate mechanism of operation with multiple details
around it. This commit introduces new documentation on ring buffers,
detailing their management and expanding the explanation of Enforce
isolation. Finally, this commit also adds the documentation available in
the amdgpu_ring.c file to it.

Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Rodrigo Siqueira <siqueira@igalia.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Rodrigo Siqueira and committed by
Alex Deucher
03dc0a6c 03a48f07

+3506
+654
Documentation/gpu/amdgpu/enforce_isolation.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 + 4 + <svg 5 + width="67.794067mm" 6 + height="88.643349mm" 7 + viewBox="0 0 67.794066 88.643348" 8 + version="1.1" 9 + id="svg1" 10 + inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)" 11 + sodipodi:docname="enforce_isolation.svg" 12 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 14 + xmlns="http://www.w3.org/2000/svg" 15 + xmlns:svg="http://www.w3.org/2000/svg"> 16 + <sodipodi:namedview 17 + id="namedview1" 18 + pagecolor="#ffffff" 19 + bordercolor="#000000" 20 + borderopacity="0.25" 21 + inkscape:showpageshadow="2" 22 + inkscape:pageopacity="0.0" 23 + inkscape:pagecheckerboard="0" 24 + inkscape:deskcolor="#d1d1d1" 25 + inkscape:document-units="mm" 26 + inkscape:zoom="3.5754724" 27 + inkscape:cx="200.95247" 28 + inkscape:cy="182.77305" 29 + inkscape:window-width="3840" 30 + inkscape:window-height="2083" 31 + inkscape:window-x="0" 32 + inkscape:window-y="0" 33 + inkscape:window-maximized="1" 34 + inkscape:current-layer="layer1" /> 35 + <defs 36 + id="defs1"> 37 + <marker 38 + style="overflow:visible" 39 + id="ArrowWideHeavy" 40 + refX="0" 41 + refY="0" 42 + orient="auto-start-reverse" 43 + inkscape:stockid="Wide, heavy arrow" 44 + markerWidth="1" 45 + markerHeight="1" 46 + viewBox="0 0 1 1" 47 + inkscape:isstock="true" 48 + inkscape:collect="always" 49 + preserveAspectRatio="xMidYMid"> 50 + <path 51 + style="fill:context-stroke;fill-rule:evenodd;stroke:none" 52 + d="m 1,0 -3,3 h -2 l 3,-3 -3,-3 h 2 z" 53 + id="path3" /> 54 + </marker> 55 + <marker 56 + style="overflow:visible" 57 + id="Dot" 58 + refX="0" 59 + refY="0" 60 + orient="auto" 61 + inkscape:stockid="Dot" 62 + markerWidth="1" 63 + markerHeight="1" 64 + viewBox="0 0 1 1" 65 + inkscape:isstock="true" 66 + inkscape:collect="always" 67 + preserveAspectRatio="xMidYMid"> 68 + <path 69 + transform="scale(0.5)" 70 + style="fill:context-stroke;fill-rule:evenodd;stroke:none" 71 + d="M 5,0 C 5,2.76 2.76,5 0,5 -2.76,5 -5,2.76 -5,0 c 0,-2.76 2.3,-5 5,-5 2.76,0 5,2.24 5,5 z" 72 + sodipodi:nodetypes="sssss" 73 + id="path98" /> 74 + </marker> 75 + <marker 76 + style="overflow:visible" 77 + id="marker99" 78 + refX="0" 79 + refY="0" 80 + orient="auto" 81 + inkscape:stockid="Dot" 82 + markerWidth="1" 83 + markerHeight="1" 84 + viewBox="0 0 1 1" 85 + inkscape:isstock="true" 86 + inkscape:collect="always" 87 + preserveAspectRatio="xMidYMid"> 88 + <path 89 + transform="scale(0.5)" 90 + style="fill:context-stroke;fill-rule:evenodd;stroke:none" 91 + d="M 5,0 C 5,2.76 2.76,5 0,5 -2.76,5 -5,2.76 -5,0 c 0,-2.76 2.3,-5 5,-5 2.76,0 5,2.24 5,5 z" 92 + sodipodi:nodetypes="sssss" 93 + id="path99" /> 94 + </marker> 95 + </defs> 96 + <g 97 + inkscape:label="Layer 1" 98 + inkscape:groupmode="layer" 99 + id="layer1" 100 + transform="translate(71.49059,-1.1271925)"> 101 + <g 102 + id="g15" 103 + transform="matrix(0.42247861,0,0,0.42247861,-70.575576,-25.242317)"> 104 + <path 105 + id="path33" 106 + style="fill:none;stroke:#000000;stroke-width:0.721067;stroke-dasharray:none" 107 + d="M 30.278993,176.45537 A 22.905334,22.905334 0 0 0 7.3737955,199.36057 22.905334,22.905334 0 0 0 30.278993,222.26603 22.905334,22.905334 0 0 0 53.18445,199.36057 22.905334,22.905334 0 0 0 30.278993,176.45537 Z m 0,7.13274 a 15.772359,15.772359 0 0 1 15.77246,15.77246 15.772359,15.772359 0 0 1 -15.77246,15.77246 15.772359,15.772359 0 0 1 -15.772206,-15.77246 15.772359,15.772359 0 0 1 15.772206,-15.77246 z" /> 108 + <g 109 + id="g14"> 110 + <path 111 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 112 + d="m 46.31405,200.72093 h 6.430134" 113 + id="path34" 114 + sodipodi:nodetypes="cc" /> 115 + <path 116 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 117 + d="M 7.6848605,200.72093 H 14.114993" 118 + id="path35" 119 + sodipodi:nodetypes="cc" /> 120 + <path 121 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 122 + d="m 30.103415,176.7326 v 6.43014" 123 + id="path36" 124 + sodipodi:nodetypes="cc" /> 125 + <path 126 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 127 + d="M 30.103415,215.50586 V 221.936" 128 + id="path37" 129 + sodipodi:nodetypes="cc" /> 130 + <path 131 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 132 + d="m 36.501694,214.1052 3.21507,5.56866" 133 + id="path38" 134 + sodipodi:nodetypes="cc" /> 135 + <path 136 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 137 + d="m 36.501694,184.66805 3.21507,-5.56866" 138 + id="path39" 139 + sodipodi:nodetypes="cc" /> 140 + <path 141 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 142 + d="m 23.652811,184.66805 -3.21507,-5.56866" 143 + id="path40" 144 + sodipodi:nodetypes="cc" /> 145 + <path 146 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 147 + d="m 23.652811,214.05288 -3.21507,5.56866" 148 + id="path41" 149 + sodipodi:nodetypes="cc" /> 150 + <path 151 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 152 + d="m 43.31839,208.65101 4.546794,4.5468" 153 + id="path42" 154 + sodipodi:nodetypes="cc" /> 155 + <path 156 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 157 + d="m 43.31839,189.96525 4.546794,-4.5468" 158 + id="path43" 159 + sodipodi:nodetypes="cc" /> 160 + <path 161 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 162 + d="M 17.202394,189.96525 12.6556,185.41845" 163 + id="path44-1" 164 + sodipodi:nodetypes="cc" /> 165 + <path 166 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 167 + d="m 16.940766,208.65101 -4.546794,4.5468" 168 + id="path45-8" 169 + sodipodi:nodetypes="cc" /> 170 + </g> 171 + </g> 172 + <rect 173 + style="fill:#afe9c6;stroke:#16502d;stroke-width:0.257104;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 174 + id="rect80" 175 + width="25.076588" 176 + height="10.493422" 177 + x="-71.362038" 178 + y="79.148567" 179 + ry="1.4529352" /> 180 + <rect 181 + style="fill:#80e5ff;stroke:#00aad4;stroke-width:0.257104;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 182 + id="rect81" 183 + width="32.714355" 184 + height="10.436013" 185 + x="-40.481403" 186 + y="79.177269" 187 + ry="1.4449863" /> 188 + <text 189 + xml:space="preserve" 190 + style="font-style:normal;font-weight:normal;font-size:6.53042px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.102999" 191 + x="-59.013123" 192 + y="86.726654" 193 + id="text14-7"><tspan 194 + sodipodi:role="line" 195 + x="-59.013123" 196 + y="86.726654" 197 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.53042px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.102999" 198 + id="tspan14-7">GFX</tspan></text> 199 + <text 200 + xml:space="preserve" 201 + style="font-style:normal;font-weight:normal;font-size:6.53042px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.102999" 202 + x="-24.387218" 203 + y="85.975647" 204 + id="text95"><tspan 205 + sodipodi:role="line" 206 + x="-24.387218" 207 + y="85.975647" 208 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.53042px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.102999" 209 + id="tspan95">Compute</tspan></text> 210 + <path 211 + style="fill:#de8787;stroke:#000000;stroke-width:0.385656;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#Dot);marker-end:url(#marker99)" 212 + d="M -58.079264,78.410023 V 69.962845" 213 + id="path127" 214 + sodipodi:nodetypes="cc" /> 215 + <text 216 + xml:space="preserve" 217 + style="font-style:normal;font-weight:normal;font-size:2.90242px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.102999" 218 + x="-61.752651" 219 + y="3.1995225" 220 + id="text112"><tspan 221 + sodipodi:role="line" 222 + x="-61.752651" 223 + y="3.1995225" 224 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.90242px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.102999" 225 + id="tspan112">Processes</tspan></text> 226 + <rect 227 + style="fill:none;stroke:#000000;stroke-width:0.247306;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:1.48383, 1.48383;stroke-dashoffset:0" 228 + id="rect113" 229 + width="64.703476" 230 + height="19.562067" 231 + x="-68.52655" 232 + y="4.468956" 233 + ry="1.6976216" /> 234 + <g 235 + id="g84" 236 + transform="matrix(0.25710378,0,0,0.25710378,0.68647434,8.7899633)"> 237 + <g 238 + id="g83"> 239 + <circle 240 + style="fill:#ffffff;stroke:#ff00ff;stroke-width:1.62704;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0" 241 + id="circle137" 242 + cx="-225.65012" 243 + cy="20.747513" 244 + r="30.822298" /> 245 + </g> 246 + <text 247 + xml:space="preserve" 248 + style="font-style:normal;font-weight:normal;font-size:16.9333px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.400612" 249 + x="-225.65012" 250 + y="26.8181" 251 + id="text113"><tspan 252 + sodipodi:role="line" 253 + x="-225.65012" 254 + y="26.8181" 255 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16.9333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.400612" 256 + id="tspan113">A</tspan></text> 257 + </g> 258 + <g 259 + id="g85" 260 + transform="matrix(0.25710378,0,0,0.25710378,20.618429,8.7899633)"> 261 + <circle 262 + style="fill:#ffffff;stroke:#ff9955;stroke-width:1.62704;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0" 263 + id="circle112" 264 + cx="-207.94376" 265 + cy="20.747513" 266 + r="30.822298" /> 267 + <text 268 + xml:space="preserve" 269 + style="font-style:normal;font-weight:normal;font-size:16.9333px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.400612" 270 + x="-208.25702" 271 + y="26.792702" 272 + id="text114"><tspan 273 + sodipodi:role="line" 274 + x="-208.25702" 275 + y="26.792702" 276 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16.9333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.400612" 277 + id="tspan114">B</tspan></text> 278 + </g> 279 + <text 280 + xml:space="preserve" 281 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.102999" 282 + x="-56.126556" 283 + y="51.72607" 284 + id="text6"><tspan 285 + sodipodi:role="line" 286 + x="-56.126556" 287 + y="51.72607" 288 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.102999" 289 + id="tspan6">A</tspan></text> 290 + <text 291 + xml:space="preserve" 292 + style="font-style:normal;font-weight:normal;font-size:2.26752px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.102999" 293 + x="-57.861526" 294 + y="58.416431" 295 + id="text136"><tspan 296 + sodipodi:role="line" 297 + x="-57.861526" 298 + y="58.416431" 299 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.26752px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.102999" 300 + id="tspan136">Ring</tspan><tspan 301 + sodipodi:role="line" 302 + x="-57.861526" 303 + y="61.250832" 304 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.26752px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.102999" 305 + id="tspan137">Buffer</tspan></text> 306 + <g 307 + id="g80" 308 + transform="matrix(0.42247861,0,0,0.42247861,-37.21188,-25.242317)"> 309 + <path 310 + id="path67" 311 + style="fill:none;stroke:#000000;stroke-width:0.721067;stroke-dasharray:none" 312 + d="M 30.278993,176.45537 A 22.905334,22.905334 0 0 0 7.3737955,199.36057 22.905334,22.905334 0 0 0 30.278993,222.26603 22.905334,22.905334 0 0 0 53.18445,199.36057 22.905334,22.905334 0 0 0 30.278993,176.45537 Z m 0,7.13274 a 15.772359,15.772359 0 0 1 15.77246,15.77246 15.772359,15.772359 0 0 1 -15.77246,15.77246 15.772359,15.772359 0 0 1 -15.772206,-15.77246 15.772359,15.772359 0 0 1 15.772206,-15.77246 z" /> 313 + <g 314 + id="g79"> 315 + <path 316 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 317 + d="m 46.31405,200.72093 h 6.430134" 318 + id="path68" 319 + sodipodi:nodetypes="cc" /> 320 + <path 321 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 322 + d="M 7.6848605,200.72093 H 14.114993" 323 + id="path69" 324 + sodipodi:nodetypes="cc" /> 325 + <path 326 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 327 + d="m 30.103415,176.7326 v 6.43014" 328 + id="path70" 329 + sodipodi:nodetypes="cc" /> 330 + <path 331 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 332 + d="M 30.103415,215.50586 V 221.936" 333 + id="path71" 334 + sodipodi:nodetypes="cc" /> 335 + <path 336 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 337 + d="m 36.501694,214.1052 3.21507,5.56866" 338 + id="path72" 339 + sodipodi:nodetypes="cc" /> 340 + <path 341 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 342 + d="m 36.501694,184.66805 3.21507,-5.56866" 343 + id="path73" 344 + sodipodi:nodetypes="cc" /> 345 + <path 346 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 347 + d="m 23.652811,184.66805 -3.21507,-5.56866" 348 + id="path74" 349 + sodipodi:nodetypes="cc" /> 350 + <path 351 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 352 + d="m 23.652811,214.05288 -3.21507,5.56866" 353 + id="path75" 354 + sodipodi:nodetypes="cc" /> 355 + <path 356 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 357 + d="m 43.31839,208.65101 4.546794,4.5468" 358 + id="path76" 359 + sodipodi:nodetypes="cc" /> 360 + <path 361 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 362 + d="m 43.31839,189.96525 4.546794,-4.5468" 363 + id="path77" 364 + sodipodi:nodetypes="cc" /> 365 + <path 366 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 367 + d="M 17.202394,189.96525 12.6556,185.41845" 368 + id="path78" 369 + sodipodi:nodetypes="cc" /> 370 + <path 371 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 372 + d="m 16.940766,208.65101 -4.546794,4.5468" 373 + id="path79" 374 + sodipodi:nodetypes="cc" /> 375 + </g> 376 + </g> 377 + <text 378 + xml:space="preserve" 379 + style="font-style:normal;font-weight:normal;font-size:2.26752px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.102999" 380 + x="-24.497828" 381 + y="58.416431" 382 + id="text81"><tspan 383 + sodipodi:role="line" 384 + x="-24.497828" 385 + y="58.416431" 386 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.26752px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.102999" 387 + id="tspan80">Ring</tspan><tspan 388 + sodipodi:role="line" 389 + x="-24.497828" 390 + y="61.250832" 391 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.26752px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.102999" 392 + id="tspan81">Buffer</tspan></text> 393 + <path 394 + style="fill:#de8787;stroke:#000000;stroke-width:0.385656;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#Dot);marker-end:url(#marker99)" 395 + d="M -24.338879,78.410023 V 69.962845" 396 + id="path81" 397 + sodipodi:nodetypes="cc" /> 398 + <text 399 + xml:space="preserve" 400 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.102999" 401 + x="-52.574932" 402 + y="53.340443" 403 + id="text82"><tspan 404 + sodipodi:role="line" 405 + x="-52.574932" 406 + y="53.340443" 407 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.102999" 408 + id="tspan82">A</tspan></text> 409 + <text 410 + xml:space="preserve" 411 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.102999" 412 + x="-50.045757" 413 + y="57.376377" 414 + id="text83"><tspan 415 + sodipodi:role="line" 416 + x="-50.045757" 417 + y="57.376377" 418 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.102999" 419 + id="tspan83">A</tspan></text> 420 + <g 421 + id="g1" 422 + transform="translate(0,-16.057901)"> 423 + <text 424 + xml:space="preserve" 425 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.102999" 426 + x="-12.593401" 427 + y="57.349865" 428 + id="text83-59"><tspan 429 + sodipodi:role="line" 430 + x="-12.593401" 431 + y="57.349865" 432 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.102999" 433 + id="tspan83-7">A</tspan></text> 434 + <text 435 + xml:space="preserve" 436 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.102999" 437 + x="-9.8666544" 438 + y="57.349865" 439 + id="text83-59-3"><tspan 440 + sodipodi:role="line" 441 + x="-9.8666544" 442 + y="57.349865" 443 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.102999" 444 + id="tspan83-7-6">A</tspan></text> 445 + <text 446 + xml:space="preserve" 447 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.102999" 448 + x="-24.724035" 449 + y="57.3466" 450 + id="text83-5-9"><tspan 451 + sodipodi:role="line" 452 + x="-24.724035" 453 + y="57.3466" 454 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.102999" 455 + id="tspan83-4-2">C</tspan></text> 456 + <text 457 + xml:space="preserve" 458 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.102999" 459 + x="-22.315107" 460 + y="57.3466" 461 + id="text83-5-9-9"><tspan 462 + sodipodi:role="line" 463 + x="-22.315107" 464 + y="57.3466" 465 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.102999" 466 + id="tspan83-4-2-5">C</tspan></text> 467 + <text 468 + xml:space="preserve" 469 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.102999" 470 + x="-19.937738" 471 + y="57.3466" 472 + id="text83-5-9-9-7"><tspan 473 + sodipodi:role="line" 474 + x="-19.937738" 475 + y="57.3466" 476 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.102999" 477 + id="tspan83-4-2-5-2">B</tspan></text> 478 + <text 479 + xml:space="preserve" 480 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.102999" 481 + x="-17.56146" 482 + y="57.3466" 483 + id="text83-5-9-9-7-0"><tspan 484 + sodipodi:role="line" 485 + x="-17.56146" 486 + y="57.3466" 487 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.102999" 488 + id="tspan83-4-2-5-2-6">B</tspan></text> 489 + <text 490 + xml:space="preserve" 491 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.102999" 492 + x="-15.185183" 493 + y="57.3466" 494 + id="text83-5-9-9-7-0-4"><tspan 495 + sodipodi:role="line" 496 + x="-15.185183" 497 + y="57.3466" 498 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.102999" 499 + id="tspan83-4-2-5-2-6-9">B</tspan></text> 500 + </g> 501 + <g 502 + id="g2" 503 + transform="translate(0,-16.057901)"> 504 + <text 505 + xml:space="preserve" 506 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.102999" 507 + x="-46.032711" 508 + y="57.349865" 509 + id="text83-7"><tspan 510 + sodipodi:role="line" 511 + x="-46.032711" 512 + y="57.349865" 513 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.102999" 514 + id="tspan83-8">A</tspan></text> 515 + <text 516 + xml:space="preserve" 517 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.102999" 518 + x="-42.773308" 519 + y="57.349865" 520 + id="text83-7-4"><tspan 521 + sodipodi:role="line" 522 + x="-42.773308" 523 + y="57.349865" 524 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.102999" 525 + id="tspan83-8-3">A</tspan></text> 526 + <text 527 + xml:space="preserve" 528 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.102999" 529 + x="-55.041409" 530 + y="57.3466" 531 + id="text83-5"><tspan 532 + sodipodi:role="line" 533 + x="-55.041409" 534 + y="57.3466" 535 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.102999" 536 + id="tspan83-4">C</tspan></text> 537 + <text 538 + xml:space="preserve" 539 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.102999" 540 + x="-57.982994" 541 + y="57.3466" 542 + id="text83-5-3"><tspan 543 + sodipodi:role="line" 544 + x="-57.982994" 545 + y="57.3466" 546 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.102999" 547 + id="tspan83-4-5">C</tspan></text> 548 + <text 549 + xml:space="preserve" 550 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.102999" 551 + x="-52.099823" 552 + y="57.3466" 553 + id="text83-5-6"><tspan 554 + sodipodi:role="line" 555 + x="-52.099823" 556 + y="57.3466" 557 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.102999" 558 + id="tspan83-4-9">C</tspan></text> 559 + <text 560 + xml:space="preserve" 561 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.102999" 562 + x="-49.158237" 563 + y="57.3466" 564 + id="text83-5-6-5"><tspan 565 + sodipodi:role="line" 566 + x="-49.158237" 567 + y="57.3466" 568 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.102999" 569 + id="tspan83-4-9-2">C</tspan></text> 570 + </g> 571 + <g 572 + id="g86" 573 + transform="matrix(0.25710378,0,0,0.25710378,17.422136,8.7899633)"> 574 + <circle 575 + style="fill:#ffffff;stroke:#ff0000;stroke-width:1.62704;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0" 576 + id="circle84" 577 + cx="-121.9205" 578 + cy="20.747513" 579 + r="30.822298" /> 580 + <text 581 + xml:space="preserve" 582 + style="font-style:normal;font-weight:normal;font-size:16.9333px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.400612" 583 + x="-122.11524" 584 + y="26.792702" 585 + id="text84"><tspan 586 + sodipodi:role="line" 587 + x="-122.11524" 588 + y="26.792702" 589 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16.9333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.400612" 590 + id="tspan84">C</tspan></text> 591 + </g> 592 + <text 593 + xml:space="preserve" 594 + style="font-size:2.17681px;font-family:'Linux Libertine O';-inkscape-font-specification:'Linux Libertine O';text-align:start;letter-spacing:1.26323px;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:none;stroke:#000000;stroke-width:0.257104;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 595 + x="-140.03215" 596 + y="26.074423" 597 + id="text86"><tspan 598 + sodipodi:role="line" 599 + id="tspan86" 600 + style="stroke-width:0.257104" 601 + x="-140.03215" 602 + y="26.074423" /></text> 603 + <rect 604 + style="fill:none;stroke:#000000;stroke-width:0.463569;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 605 + id="rect89" 606 + width="62.753353" 607 + height="10.962811" 608 + x="-68.911674" 609 + y="32.218185" /> 610 + <text 611 + xml:space="preserve" 612 + style="font-style:normal;font-weight:normal;font-size:2.26751px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.102999" 613 + x="-37.552006" 614 + y="35.595592" 615 + id="text89"><tspan 616 + sodipodi:role="line" 617 + x="-37.552006" 618 + y="35.595592" 619 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.26751px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.102999" 620 + id="tspan89">Enforce Isolation</tspan></text> 621 + <path 622 + style="fill:#de8787;stroke:#000000;stroke-width:0.385656;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#Dot);marker-end:url(#marker99)" 623 + d="M -57.807162,48.273529 V 44.392491" 624 + id="path90" 625 + sodipodi:nodetypes="cc" /> 626 + <path 627 + style="fill:#de8787;stroke:#000000;stroke-width:0.385656;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#Dot);marker-end:url(#marker99)" 628 + d="M -24.512426,48.273529 V 44.392491" 629 + id="path91" 630 + sodipodi:nodetypes="cc" /> 631 + <path 632 + style="fill:#ff00ff;stroke:#ff00ff;stroke-width:0.257104;stroke-linecap:square;stroke-dasharray:none;marker-end:url(#ArrowWideHeavy)" 633 + d="m -57.329023,22.418572 v 9.208373" 634 + id="path1" /> 635 + <path 636 + style="fill:#ff00ff;stroke:#ff9955;stroke-width:0.257104;stroke-linecap:square;stroke-dasharray:none;marker-end:url(#ArrowWideHeavy)" 637 + d="m -32.844695,22.418572 v 9.208373" 638 + id="path2" /> 639 + <path 640 + style="fill:#ff00ff;stroke:#ff0000;stroke-width:0.257104;stroke-linecap:square;stroke-dasharray:none;marker-end:url(#ArrowWideHeavy)" 641 + d="m -13.924085,22.418572 v 9.208373" 642 + id="path4" /> 643 + <path 644 + style="fill:none;stroke:#ff00ff;stroke-width:0.257104;stroke-linecap:square;stroke-dasharray:none;marker-end:url(#ArrowWideHeavy)" 645 + d="m -57.329023,22.418572 v 5.174952 h 20.852017 v 4.033421" 646 + id="path5" 647 + sodipodi:nodetypes="cccc" /> 648 + <path 649 + style="fill:none;stroke:#ff0000;stroke-width:0.257104;stroke-linecap:square;stroke-dasharray:none;marker-end:url(#ArrowWideHeavy)" 650 + d="m -13.924085,22.418572 v 3.652908 h -34.777483 v 5.555465" 651 + id="path6" 652 + sodipodi:nodetypes="cccc" /> 653 + </g> 654 + </svg>
+413
Documentation/gpu/amdgpu/gfx_pipeline_seq.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 + 4 + <svg 5 + width="141.76276mm" 6 + height="51.906979mm" 7 + viewBox="0 0 141.76275 51.906979" 8 + version="1.1" 9 + id="svg1" 10 + inkscape:version="1.4 (e7c3feb100, 2024-10-09)" 11 + sodipodi:docname="gfx_pipeline_seq.svg" 12 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 14 + xmlns="http://www.w3.org/2000/svg" 15 + xmlns:svg="http://www.w3.org/2000/svg"> 16 + <sodipodi:namedview 17 + id="namedview1" 18 + pagecolor="#ffffff" 19 + bordercolor="#000000" 20 + borderopacity="0.25" 21 + inkscape:showpageshadow="2" 22 + inkscape:pageopacity="0.0" 23 + inkscape:pagecheckerboard="0" 24 + inkscape:deskcolor="#d1d1d1" 25 + inkscape:document-units="mm" 26 + inkscape:zoom="1.2641204" 27 + inkscape:cx="470.28748" 28 + inkscape:cy="63.680643" 29 + inkscape:window-width="3072" 30 + inkscape:window-height="1651" 31 + inkscape:window-x="0" 32 + inkscape:window-y="0" 33 + inkscape:window-maximized="1" 34 + inkscape:current-layer="layer1" /> 35 + <defs 36 + id="defs1"> 37 + <marker 38 + style="overflow:visible" 39 + id="ArrowWideHeavy" 40 + refX="0" 41 + refY="0" 42 + orient="auto-start-reverse" 43 + inkscape:stockid="Wide, heavy arrow" 44 + markerWidth="1" 45 + markerHeight="1" 46 + viewBox="0 0 1 1" 47 + inkscape:isstock="true" 48 + inkscape:collect="always" 49 + preserveAspectRatio="xMidYMid"> 50 + <path 51 + style="fill:context-stroke;fill-rule:evenodd;stroke:none" 52 + d="m 1,0 -3,3 h -2 l 3,-3 -3,-3 h 2 z" 53 + id="path3" /> 54 + </marker> 55 + </defs> 56 + <g 57 + inkscape:label="Layer 1" 58 + inkscape:groupmode="layer" 59 + id="layer1" 60 + transform="translate(23.062206,-30.75877)"> 61 + <rect 62 + style="fill:#ffffff;stroke:none;stroke-width:0.694678;stroke-linecap:square;stroke-dasharray:4.16805, 4.16805" 63 + id="rect1" 64 + width="141.76276" 65 + height="51.906979" 66 + x="-23.062206" 67 + y="30.75877" /> 68 + <g 69 + id="g28" 70 + transform="matrix(1.0835493,0,0,1.0835493,-30.079831,-159.17628)"> 71 + <path 72 + id="path18" 73 + style="fill:none;stroke:#000000;stroke-width:0.721067;stroke-dasharray:none" 74 + d="M 30.278993,176.45537 A 22.905334,22.905334 0 0 0 7.3737955,199.36057 22.905334,22.905334 0 0 0 30.278993,222.26603 22.905334,22.905334 0 0 0 53.18445,199.36057 22.905334,22.905334 0 0 0 30.278993,176.45537 Z m 0,7.13274 a 15.772359,15.772359 0 0 1 15.77246,15.77246 15.772359,15.772359 0 0 1 -15.77246,15.77246 15.772359,15.772359 0 0 1 -15.772206,-15.77246 15.772359,15.772359 0 0 1 15.772206,-15.77246 z" /> 75 + <g 76 + id="g27"> 77 + <path 78 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 79 + d="m 46.31405,200.72093 h 6.430134" 80 + id="path19" 81 + sodipodi:nodetypes="cc" /> 82 + <path 83 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 84 + d="M 7.6848605,200.72093 H 14.114993" 85 + id="path20" 86 + sodipodi:nodetypes="cc" /> 87 + <path 88 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 89 + d="m 30.103415,176.7326 v 6.43014" 90 + id="path21" 91 + sodipodi:nodetypes="cc" /> 92 + <path 93 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 94 + d="M 30.103415,215.50586 V 221.936" 95 + id="path22" 96 + sodipodi:nodetypes="cc" /> 97 + <path 98 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 99 + d="m 36.501694,214.1052 3.21507,5.56866" 100 + id="path23" 101 + sodipodi:nodetypes="cc" /> 102 + <path 103 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 104 + d="m 36.501694,184.66805 3.21507,-5.56866" 105 + id="path24" 106 + sodipodi:nodetypes="cc" /> 107 + <path 108 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 109 + d="m 23.652811,184.66805 -3.21507,-5.56866" 110 + id="path25" 111 + sodipodi:nodetypes="cc" /> 112 + <path 113 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 114 + d="m 23.652811,214.05288 -3.21507,5.56866" 115 + id="path26" 116 + sodipodi:nodetypes="cc" /> 117 + <path 118 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 119 + d="m 43.31839,208.65101 4.546794,4.5468" 120 + id="path27" 121 + sodipodi:nodetypes="cc" /> 122 + <path 123 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 124 + d="m 43.31839,189.96525 4.546794,-4.5468" 125 + id="path28" 126 + sodipodi:nodetypes="cc" /> 127 + <path 128 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 129 + d="M 17.202394,189.96525 12.6556,185.41845" 130 + id="path29" 131 + sodipodi:nodetypes="cc" /> 132 + <path 133 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 134 + d="m 16.940766,208.65101 -4.546794,4.5468" 135 + id="path30" 136 + sodipodi:nodetypes="cc" /> 137 + </g> 138 + </g> 139 + <text 140 + xml:space="preserve" 141 + style="font-style:normal;font-weight:normal;font-size:3.92107px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.434083" 142 + x="23.133495" 143 + y="52.750404" 144 + id="text24"><tspan 145 + sodipodi:role="line" 146 + x="23.133495" 147 + y="52.750404" 148 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.92107px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.434083" 149 + id="tspan24">IB<tspan 150 + style="font-size:3.92107px;baseline-shift:sub;fill:#ff9955;stroke-width:0.434083" 151 + id="tspan27">b</tspan></tspan></text> 152 + <text 153 + xml:space="preserve" 154 + style="font-style:normal;font-weight:normal;font-size:6.88054px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.434083" 155 + x="2.4917324" 156 + y="55.12072" 157 + id="text139"><tspan 158 + sodipodi:role="line" 159 + x="2.4917324" 160 + y="55.12072" 161 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.88054px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.434083" 162 + id="tspan138">Ring</tspan><tspan 163 + sodipodi:role="line" 164 + x="2.4917324" 165 + y="63.721394" 166 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.88054px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.434083" 167 + id="tspan139">Buffer</tspan></text> 168 + <text 169 + xml:space="preserve" 170 + style="font-style:normal;font-weight:normal;font-size:3.92107px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.434083" 171 + x="22.115709" 172 + y="65.117416" 173 + id="text18"><tspan 174 + sodipodi:role="line" 175 + x="22.115709" 176 + y="65.117416" 177 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.92107px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#87decd;stroke-width:0.434083" 178 + id="tspan18">IB<tspan 179 + style="font-size:3.92107px;baseline-shift:sub;fill:#87decd;stroke-width:0.434083" 180 + id="tspan17">c</tspan></tspan></text> 181 + <g 182 + id="g62" 183 + transform="matrix(0.69467788,0,0,0.69467788,-104.6214,-57.027324)"> 184 + <text 185 + xml:space="preserve" 186 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#37abc8;fill-opacity:1;stroke:none;stroke-width:0.400612" 187 + x="221.50526" 188 + y="173.96935" 189 + id="text48"><tspan 190 + sodipodi:role="line" 191 + x="221.50526" 192 + y="173.96935" 193 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#37abc8;stroke-width:0.400612" 194 + id="tspan48">SX</tspan></text> 195 + <text 196 + xml:space="preserve" 197 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#37abc8;fill-opacity:1;stroke:none;stroke-width:0.400612" 198 + x="238.1783" 199 + y="173.96935" 200 + id="text49"><tspan 201 + sodipodi:role="line" 202 + x="238.1783" 203 + y="173.96935" 204 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#37abc8;stroke-width:0.400612" 205 + id="tspan49">GE</tspan></text> 206 + <text 207 + xml:space="preserve" 208 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#37abc8;fill-opacity:1;stroke:none;stroke-width:0.400612" 209 + x="255.66414" 210 + y="173.96935" 211 + id="text50"><tspan 212 + sodipodi:role="line" 213 + x="255.66414" 214 + y="173.96935" 215 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#37abc8;stroke-width:0.400612" 216 + id="tspan50">SPI</tspan></text> 217 + <text 218 + xml:space="preserve" 219 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 220 + x="273.01663" 221 + y="173.96935" 222 + id="text51"><tspan 223 + sodipodi:role="line" 224 + x="273.01663" 225 + y="173.96935" 226 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 227 + id="tspan51">SC</tspan></text> 228 + <text 229 + xml:space="preserve" 230 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 231 + x="289.11816" 232 + y="173.97888" 233 + id="text52"><tspan 234 + sodipodi:role="line" 235 + x="289.11816" 236 + y="173.97888" 237 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 238 + id="tspan52">PA</tspan></text> 239 + <text 240 + xml:space="preserve" 241 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:0.400612" 242 + x="311.40778" 243 + y="174.08365" 244 + id="text53"><tspan 245 + sodipodi:role="line" 246 + x="311.40778" 247 + y="174.08365" 248 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff2a2a;stroke-width:0.400612" 249 + id="tspan53">Cache</tspan></text> 250 + <path 251 + style="fill:none;stroke:#000000;stroke-width:0.529167;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 252 + d="m 226.31089,171.70241 h 6.95598" 253 + id="path53" 254 + sodipodi:nodetypes="cc" /> 255 + <path 256 + style="fill:none;stroke:#000000;stroke-width:0.529167;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 257 + d="m 242.81883,171.70241 h 6.95598" 258 + id="path54" 259 + sodipodi:nodetypes="cc" /> 260 + <path 261 + style="fill:none;stroke:#000000;stroke-width:0.529167;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 262 + d="m 261.37781,171.70241 h 6.95598" 263 + id="path55" 264 + sodipodi:nodetypes="cc" /> 265 + <path 266 + style="fill:none;stroke:#000000;stroke-width:0.529167;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 267 + d="m 277.50475,171.70241 h 6.95598" 268 + id="path56" 269 + sodipodi:nodetypes="cc" /> 270 + <path 271 + style="fill:none;stroke:#000000;stroke-width:0.529167;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 272 + d="m 294.08254,171.70241 h 6.95598" 273 + id="path57" 274 + sodipodi:nodetypes="cc" /> 275 + <path 276 + style="fill:none;stroke:#000000;stroke-width:0.529167;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 277 + d="m 189.90312,171.70241 h 26.34385" 278 + id="path60" 279 + sodipodi:nodetypes="cc" /> 280 + <path 281 + style="fill:none;stroke:#000000;stroke-width:0.529167;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 282 + d="m 311.60514,176.14239 v 9.61994 H 184.98772" 283 + id="path61" 284 + sodipodi:nodetypes="ccc" /> 285 + </g> 286 + <path 287 + style="fill:#37c871;stroke:#00d455;stroke-width:0.367601;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 288 + d="m 40.698106,46.362333 4.844663,13.377322" 289 + id="path62" 290 + sodipodi:nodetypes="cc" /> 291 + <path 292 + style="fill:#37c871;stroke:#00d455;stroke-width:0.367601;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 293 + d="m 52.62426,46.362333 4.844663,13.377322" 294 + id="path63" 295 + sodipodi:nodetypes="cc" /> 296 + <path 297 + style="fill:#37c871;stroke:#00d455;stroke-width:0.367601;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 298 + d="m 64.55042,46.362333 4.844663,13.377322" 299 + id="path64" 300 + sodipodi:nodetypes="cc" /> 301 + <path 302 + style="fill:#37c871;stroke:#00d455;stroke-width:0.367601;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 303 + d="m 75.962512,46.362333 4.844663,13.377322" 304 + id="path65" 305 + sodipodi:nodetypes="cc" /> 306 + <path 307 + style="fill:#37c871;stroke:#00d455;stroke-width:0.367601;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 308 + d="m 87.580235,46.362333 4.844663,13.377322" 309 + id="path66" 310 + sodipodi:nodetypes="cc" /> 311 + <text 312 + xml:space="preserve" 313 + style="font-style:normal;font-weight:normal;font-size:4.4112px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#37abc8;fill-opacity:1;stroke:none;stroke-width:0.278297" 314 + x="37.018822" 315 + y="45.730473" 316 + id="text2"><tspan 317 + sodipodi:role="line" 318 + x="37.018822" 319 + y="45.730473" 320 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.4112px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#37abc8;stroke-width:0.278297" 321 + id="tspan2">SX</tspan></text> 322 + <text 323 + xml:space="preserve" 324 + style="font-style:normal;font-weight:normal;font-size:4.4112px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#37abc8;fill-opacity:1;stroke:none;stroke-width:0.278297" 325 + x="48.601212" 326 + y="45.730473" 327 + id="text3"><tspan 328 + sodipodi:role="line" 329 + x="48.601212" 330 + y="45.730473" 331 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.4112px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#37abc8;stroke-width:0.278297" 332 + id="tspan3">GE</tspan></text> 333 + <text 334 + xml:space="preserve" 335 + style="font-style:normal;font-weight:normal;font-size:4.4112px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#37abc8;fill-opacity:1;stroke:none;stroke-width:0.278297" 336 + x="60.748234" 337 + y="45.730473" 338 + id="text4"><tspan 339 + sodipodi:role="line" 340 + x="60.748234" 341 + y="45.730473" 342 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.4112px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#37abc8;stroke-width:0.278297" 343 + id="tspan4">SPI</tspan></text> 344 + <text 345 + xml:space="preserve" 346 + style="font-style:normal;font-weight:normal;font-size:4.4112px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.278297" 347 + x="72.802635" 348 + y="45.730473" 349 + id="text11"><tspan 350 + sodipodi:role="line" 351 + x="72.802635" 352 + y="45.730473" 353 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.4112px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.278297" 354 + id="tspan11">SC</tspan></text> 355 + <text 356 + xml:space="preserve" 357 + style="font-style:normal;font-weight:normal;font-size:4.4112px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.278297" 358 + x="83.988014" 359 + y="45.737099" 360 + id="text13"><tspan 361 + sodipodi:role="line" 362 + x="83.988014" 363 + y="45.737099" 364 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.4112px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.278297" 365 + id="tspan13">PA</tspan></text> 366 + <text 367 + xml:space="preserve" 368 + style="font-style:normal;font-weight:normal;font-size:4.4112px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:0.278297" 369 + x="99.472122" 370 + y="45.809875" 371 + id="text14"><tspan 372 + sodipodi:role="line" 373 + x="99.472122" 374 + y="45.809875" 375 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.4112px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff2a2a;stroke-width:0.278297" 376 + id="tspan14">Cache</tspan></text> 377 + <path 378 + style="fill:none;stroke:#000000;stroke-width:0.367601;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 379 + d="m 40.357179,44.155689 h 4.832165" 380 + id="path44" 381 + sodipodi:nodetypes="cc" /> 382 + <path 383 + style="fill:none;stroke:#000000;stroke-width:0.367601;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 384 + d="m 51.82488,44.155689 h 4.832165" 385 + id="path45" 386 + sodipodi:nodetypes="cc" /> 387 + <path 388 + style="fill:none;stroke:#000000;stroke-width:0.367601;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 389 + d="m 64.717393,44.155689 h 4.832165" 390 + id="path46" 391 + sodipodi:nodetypes="cc" /> 392 + <path 393 + style="fill:none;stroke:#000000;stroke-width:0.367601;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 394 + d="m 75.920422,44.155689 h 4.832165" 395 + id="path47" 396 + sodipodi:nodetypes="cc" /> 397 + <path 398 + style="fill:none;stroke:#000000;stroke-width:0.367601;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 399 + d="m 87.436645,44.155689 h 4.832166" 400 + id="path48" 401 + sodipodi:nodetypes="cc" /> 402 + <path 403 + style="fill:none;stroke:#000000;stroke-width:0.367601;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 404 + d="m 24.215741,44.155689 h 7.813702" 405 + id="path58" 406 + sodipodi:nodetypes="cc" /> 407 + <path 408 + style="fill:none;stroke:#000000;stroke-width:0.367601;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 409 + d="m 100.63732,46.931607 v 6.68276 H 29.848557" 410 + id="path59" 411 + sodipodi:nodetypes="ccc" /> 412 + </g> 413 + </svg>
+1
Documentation/gpu/amdgpu/index.rst
··· 8 8 .. toctree:: 9 9 10 10 driver-core 11 + ring-buffer 11 12 amd-hardware-list-info 12 13 module-parameters 13 14 gc/index
+707
Documentation/gpu/amdgpu/no_enforce_isolation.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 + 4 + <svg 5 + width="68.949203mm" 6 + height="86.909332mm" 7 + viewBox="0 0 68.949202 86.909332" 8 + version="1.1" 9 + id="svg1" 10 + inkscape:version="1.4 (e7c3feb100, 2024-10-09)" 11 + sodipodi:docname="enforce_isolation.svg" 12 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 14 + xmlns="http://www.w3.org/2000/svg" 15 + xmlns:svg="http://www.w3.org/2000/svg"> 16 + <sodipodi:namedview 17 + id="namedview1" 18 + pagecolor="#ffffff" 19 + bordercolor="#000000" 20 + borderopacity="0.25" 21 + inkscape:showpageshadow="2" 22 + inkscape:pageopacity="0.0" 23 + inkscape:pagecheckerboard="0" 24 + inkscape:deskcolor="#d1d1d1" 25 + inkscape:document-units="mm" 26 + inkscape:zoom="1.7877362" 27 + inkscape:cx="291.15034" 28 + inkscape:cy="332.54347" 29 + inkscape:window-width="3072" 30 + inkscape:window-height="1651" 31 + inkscape:window-x="0" 32 + inkscape:window-y="0" 33 + inkscape:window-maximized="1" 34 + inkscape:current-layer="g61" /> 35 + <defs 36 + id="defs1"> 37 + <marker 38 + style="overflow:visible" 39 + id="ArrowWideHeavy" 40 + refX="0" 41 + refY="0" 42 + orient="auto-start-reverse" 43 + inkscape:stockid="Wide, heavy arrow" 44 + markerWidth="1" 45 + markerHeight="1" 46 + viewBox="0 0 1 1" 47 + inkscape:isstock="true" 48 + inkscape:collect="always" 49 + preserveAspectRatio="xMidYMid"> 50 + <path 51 + style="fill:context-stroke;fill-rule:evenodd;stroke:none" 52 + d="m 1,0 -3,3 h -2 l 3,-3 -3,-3 h 2 z" 53 + id="path3" /> 54 + </marker> 55 + <marker 56 + style="overflow:visible" 57 + id="Dot" 58 + refX="0" 59 + refY="0" 60 + orient="auto" 61 + inkscape:stockid="Dot" 62 + markerWidth="1" 63 + markerHeight="1" 64 + viewBox="0 0 1 1" 65 + inkscape:isstock="true" 66 + inkscape:collect="always" 67 + preserveAspectRatio="xMidYMid"> 68 + <path 69 + transform="scale(0.5)" 70 + style="fill:context-stroke;fill-rule:evenodd;stroke:none" 71 + d="M 5,0 C 5,2.76 2.76,5 0,5 -2.76,5 -5,2.76 -5,0 c 0,-2.76 2.3,-5 5,-5 2.76,0 5,2.24 5,5 z" 72 + sodipodi:nodetypes="sssss" 73 + id="path98" /> 74 + </marker> 75 + <marker 76 + style="overflow:visible" 77 + id="marker99" 78 + refX="0" 79 + refY="0" 80 + orient="auto" 81 + inkscape:stockid="Dot" 82 + markerWidth="1" 83 + markerHeight="1" 84 + viewBox="0 0 1 1" 85 + inkscape:isstock="true" 86 + inkscape:collect="always" 87 + preserveAspectRatio="xMidYMid"> 88 + <path 89 + transform="scale(0.5)" 90 + style="fill:context-stroke;fill-rule:evenodd;stroke:none" 91 + d="M 5,0 C 5,2.76 2.76,5 0,5 -2.76,5 -5,2.76 -5,0 c 0,-2.76 2.3,-5 5,-5 2.76,0 5,2.24 5,5 z" 92 + sodipodi:nodetypes="sssss" 93 + id="path99" /> 94 + </marker> 95 + </defs> 96 + <g 97 + inkscape:label="Layer 1" 98 + inkscape:groupmode="layer" 99 + id="layer1" 100 + transform="translate(72.009598,0.94510132)"> 101 + <g 102 + id="g61"> 103 + <rect 104 + style="fill:#ffffff;stroke:none;stroke-width:0.25654;stroke-linecap:square;stroke-dasharray:none" 105 + id="rect6" 106 + width="68.949203" 107 + height="86.909332" 108 + x="-72.009598" 109 + y="-0.94510132" /> 110 + <g 111 + id="g15" 112 + transform="matrix(0.42247861,0,0,0.42247861,-70.575576,-29.756289)"> 113 + <path 114 + id="path33" 115 + style="fill:none;stroke:#000000;stroke-width:0.721067;stroke-dasharray:none" 116 + d="M 30.278993,176.45537 A 22.905334,22.905334 0 0 0 7.3737955,199.36057 22.905334,22.905334 0 0 0 30.278993,222.26603 22.905334,22.905334 0 0 0 53.18445,199.36057 22.905334,22.905334 0 0 0 30.278993,176.45537 Z m 0,7.13274 a 15.772359,15.772359 0 0 1 15.77246,15.77246 15.772359,15.772359 0 0 1 -15.77246,15.77246 15.772359,15.772359 0 0 1 -15.772206,-15.77246 15.772359,15.772359 0 0 1 15.772206,-15.77246 z" /> 117 + <g 118 + id="g14"> 119 + <path 120 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 121 + d="m 46.31405,200.72093 h 6.430134" 122 + id="path34" 123 + sodipodi:nodetypes="cc" /> 124 + <path 125 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 126 + d="M 7.6848605,200.72093 H 14.114993" 127 + id="path35" 128 + sodipodi:nodetypes="cc" /> 129 + <path 130 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 131 + d="m 30.103415,176.7326 v 6.43014" 132 + id="path36" 133 + sodipodi:nodetypes="cc" /> 134 + <path 135 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 136 + d="M 30.103415,215.50586 V 221.936" 137 + id="path37" 138 + sodipodi:nodetypes="cc" /> 139 + <path 140 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 141 + d="m 36.501694,214.1052 3.21507,5.56866" 142 + id="path38" 143 + sodipodi:nodetypes="cc" /> 144 + <path 145 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 146 + d="m 36.501694,184.66805 3.21507,-5.56866" 147 + id="path39" 148 + sodipodi:nodetypes="cc" /> 149 + <path 150 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 151 + d="m 23.652811,184.66805 -3.21507,-5.56866" 152 + id="path40" 153 + sodipodi:nodetypes="cc" /> 154 + <path 155 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 156 + d="m 23.652811,214.05288 -3.21507,5.56866" 157 + id="path41" 158 + sodipodi:nodetypes="cc" /> 159 + <path 160 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 161 + d="m 43.31839,208.65101 4.546794,4.5468" 162 + id="path42" 163 + sodipodi:nodetypes="cc" /> 164 + <path 165 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 166 + d="m 43.31839,189.96525 4.546794,-4.5468" 167 + id="path43" 168 + sodipodi:nodetypes="cc" /> 169 + <path 170 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 171 + d="M 17.202394,189.96525 12.6556,185.41845" 172 + id="path44-1" 173 + sodipodi:nodetypes="cc" /> 174 + <path 175 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 176 + d="m 16.940766,208.65101 -4.546794,4.5468" 177 + id="path45-8" 178 + sodipodi:nodetypes="cc" /> 179 + </g> 180 + </g> 181 + <rect 182 + style="fill:#afe9c6;stroke:#16502d;stroke-width:0.257104;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 183 + id="rect80" 184 + width="25.076588" 185 + height="10.493422" 186 + x="-71.362038" 187 + y="74.63459" 188 + ry="1.4529352" /> 189 + <rect 190 + style="fill:#80e5ff;stroke:#00aad4;stroke-width:0.257104;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 191 + id="rect81" 192 + width="32.714355" 193 + height="10.436013" 194 + x="-40.481403" 195 + y="74.663292" 196 + ry="1.4449863" /> 197 + <text 198 + xml:space="preserve" 199 + style="font-style:normal;font-weight:normal;font-size:6.53042px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.102999" 200 + x="-59.013123" 201 + y="82.212669" 202 + id="text14-7"><tspan 203 + sodipodi:role="line" 204 + x="-59.013123" 205 + y="82.212669" 206 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.53042px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.102999" 207 + id="tspan14-7">GFX</tspan></text> 208 + <text 209 + xml:space="preserve" 210 + style="font-style:normal;font-weight:normal;font-size:6.53042px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.102999" 211 + x="-24.387218" 212 + y="81.46167" 213 + id="text95"><tspan 214 + sodipodi:role="line" 215 + x="-24.387218" 216 + y="81.46167" 217 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.53042px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.102999" 218 + id="tspan95">Compute</tspan></text> 219 + <path 220 + style="fill:#de8787;stroke:#000000;stroke-width:0.385656;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#Dot);marker-end:url(#marker99)" 221 + d="M -58.079264,73.89605 V 65.448872" 222 + id="path127" 223 + sodipodi:nodetypes="cc" /> 224 + <text 225 + xml:space="preserve" 226 + style="font-style:normal;font-weight:normal;font-size:2.90242px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.102999" 227 + x="-61.752651" 228 + y="3.1995225" 229 + id="text112"><tspan 230 + sodipodi:role="line" 231 + x="-61.752651" 232 + y="3.1995225" 233 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.90242px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.102999" 234 + id="tspan112">Processes</tspan></text> 235 + <rect 236 + style="fill:none;stroke:#000000;stroke-width:0.247306;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:1.48383, 1.48383;stroke-dashoffset:0" 237 + id="rect113" 238 + width="64.703476" 239 + height="19.562067" 240 + x="-68.52655" 241 + y="4.468956" 242 + ry="1.6976216" /> 243 + <g 244 + id="g84" 245 + transform="matrix(0.25710378,0,0,0.25710378,0.68647434,8.7899633)"> 246 + <g 247 + id="g83"> 248 + <circle 249 + style="fill:#ffffff;stroke:#ff00ff;stroke-width:1.62704;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0" 250 + id="circle137" 251 + cx="-225.65012" 252 + cy="20.747513" 253 + r="30.822298" /> 254 + </g> 255 + <text 256 + xml:space="preserve" 257 + style="font-style:normal;font-weight:normal;font-size:16.9333px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.400612" 258 + x="-225.65012" 259 + y="26.8181" 260 + id="text113"><tspan 261 + sodipodi:role="line" 262 + x="-225.65012" 263 + y="26.8181" 264 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16.9333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.400612" 265 + id="tspan113">A</tspan></text> 266 + </g> 267 + <g 268 + id="g85" 269 + transform="matrix(0.25710378,0,0,0.25710378,20.618429,8.7899633)"> 270 + <circle 271 + style="fill:#ffffff;stroke:#ff9955;stroke-width:1.62704;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0" 272 + id="circle112" 273 + cx="-207.94376" 274 + cy="20.747513" 275 + r="30.822298" /> 276 + <text 277 + xml:space="preserve" 278 + style="font-style:normal;font-weight:normal;font-size:16.9333px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.400612" 279 + x="-208.25702" 280 + y="26.792702" 281 + id="text114"><tspan 282 + sodipodi:role="line" 283 + x="-208.25702" 284 + y="26.792702" 285 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16.9333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.400612" 286 + id="tspan114">B</tspan></text> 287 + </g> 288 + <text 289 + xml:space="preserve" 290 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.102999" 291 + x="-56.126556" 292 + y="47.212101" 293 + id="text6"><tspan 294 + sodipodi:role="line" 295 + x="-56.126556" 296 + y="47.212101" 297 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.102999" 298 + id="tspan6">A</tspan></text> 299 + <text 300 + xml:space="preserve" 301 + style="font-style:normal;font-weight:normal;font-size:2.26752px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.102999" 302 + x="-57.861526" 303 + y="53.902462" 304 + id="text136"><tspan 305 + sodipodi:role="line" 306 + x="-57.861526" 307 + y="53.902462" 308 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.26752px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.102999" 309 + id="tspan136">Ring</tspan><tspan 310 + sodipodi:role="line" 311 + x="-57.861526" 312 + y="56.736862" 313 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.26752px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.102999" 314 + id="tspan137">Buffer</tspan></text> 315 + <g 316 + id="g80" 317 + transform="matrix(0.42247861,0,0,0.42247861,-37.21188,-29.756289)"> 318 + <path 319 + id="path67" 320 + style="fill:none;stroke:#000000;stroke-width:0.721067;stroke-dasharray:none" 321 + d="M 30.278993,176.45537 A 22.905334,22.905334 0 0 0 7.3737955,199.36057 22.905334,22.905334 0 0 0 30.278993,222.26603 22.905334,22.905334 0 0 0 53.18445,199.36057 22.905334,22.905334 0 0 0 30.278993,176.45537 Z m 0,7.13274 a 15.772359,15.772359 0 0 1 15.77246,15.77246 15.772359,15.772359 0 0 1 -15.77246,15.77246 15.772359,15.772359 0 0 1 -15.772206,-15.77246 15.772359,15.772359 0 0 1 15.772206,-15.77246 z" /> 322 + <g 323 + id="g79"> 324 + <path 325 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 326 + d="m 46.31405,200.72093 h 6.430134" 327 + id="path68" 328 + sodipodi:nodetypes="cc" /> 329 + <path 330 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 331 + d="M 7.6848605,200.72093 H 14.114993" 332 + id="path69" 333 + sodipodi:nodetypes="cc" /> 334 + <path 335 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 336 + d="m 30.103415,176.7326 v 6.43014" 337 + id="path70" 338 + sodipodi:nodetypes="cc" /> 339 + <path 340 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 341 + d="M 30.103415,215.50586 V 221.936" 342 + id="path71" 343 + sodipodi:nodetypes="cc" /> 344 + <path 345 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 346 + d="m 36.501694,214.1052 3.21507,5.56866" 347 + id="path72" 348 + sodipodi:nodetypes="cc" /> 349 + <path 350 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 351 + d="m 36.501694,184.66805 3.21507,-5.56866" 352 + id="path73" 353 + sodipodi:nodetypes="cc" /> 354 + <path 355 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 356 + d="m 23.652811,184.66805 -3.21507,-5.56866" 357 + id="path74" 358 + sodipodi:nodetypes="cc" /> 359 + <path 360 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 361 + d="m 23.652811,214.05288 -3.21507,5.56866" 362 + id="path75" 363 + sodipodi:nodetypes="cc" /> 364 + <path 365 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 366 + d="m 43.31839,208.65101 4.546794,4.5468" 367 + id="path76" 368 + sodipodi:nodetypes="cc" /> 369 + <path 370 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 371 + d="m 43.31839,189.96525 4.546794,-4.5468" 372 + id="path77" 373 + sodipodi:nodetypes="cc" /> 374 + <path 375 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 376 + d="M 17.202394,189.96525 12.6556,185.41845" 377 + id="path78" 378 + sodipodi:nodetypes="cc" /> 379 + <path 380 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 381 + d="m 16.940766,208.65101 -4.546794,4.5468" 382 + id="path79" 383 + sodipodi:nodetypes="cc" /> 384 + </g> 385 + </g> 386 + <text 387 + xml:space="preserve" 388 + style="font-style:normal;font-weight:normal;font-size:2.26752px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.102999" 389 + x="-24.497828" 390 + y="53.902462" 391 + id="text81"><tspan 392 + sodipodi:role="line" 393 + x="-24.497828" 394 + y="53.902462" 395 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.26752px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.102999" 396 + id="tspan80">Ring</tspan><tspan 397 + sodipodi:role="line" 398 + x="-24.497828" 399 + y="56.736862" 400 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.26752px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.102999" 401 + id="tspan81">Buffer</tspan></text> 402 + <path 403 + style="fill:#de8787;stroke:#000000;stroke-width:0.385656;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#Dot);marker-end:url(#marker99)" 404 + d="M -24.338879,73.89605 V 65.448872" 405 + id="path81" 406 + sodipodi:nodetypes="cc" /> 407 + <text 408 + xml:space="preserve" 409 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.102999" 410 + x="-52.574932" 411 + y="48.826473" 412 + id="text82"><tspan 413 + sodipodi:role="line" 414 + x="-52.574932" 415 + y="48.826473" 416 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.102999" 417 + id="tspan82">A</tspan></text> 418 + <text 419 + xml:space="preserve" 420 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.102999" 421 + x="-50.045757" 422 + y="52.862404" 423 + id="text83"><tspan 424 + sodipodi:role="line" 425 + x="-50.045757" 426 + y="52.862404" 427 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.102999" 428 + id="tspan83">A</tspan></text> 429 + <text 430 + xml:space="preserve" 431 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.102999" 432 + x="-31.907158" 433 + y="58.226768" 434 + id="text83-59"><tspan 435 + sodipodi:role="line" 436 + x="-31.907158" 437 + y="58.226768" 438 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.102999" 439 + id="tspan83-7">A</tspan></text> 440 + <text 441 + xml:space="preserve" 442 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.102999" 443 + x="-32.436516" 444 + y="53.169308" 445 + id="text83-59-3"><tspan 446 + sodipodi:role="line" 447 + x="-32.436516" 448 + y="53.169308" 449 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.102999" 450 + id="tspan83-7-6">A</tspan></text> 451 + <text 452 + xml:space="preserve" 453 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.102999" 454 + x="-65.422112" 455 + y="57.972916" 456 + id="text83-7"><tspan 457 + sodipodi:role="line" 458 + x="-65.422112" 459 + y="57.972916" 460 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.102999" 461 + id="tspan83-8">A</tspan></text> 462 + <text 463 + xml:space="preserve" 464 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.102999" 465 + x="-65.713165" 466 + y="52.732723" 467 + id="text83-7-4"><tspan 468 + sodipodi:role="line" 469 + x="-65.713165" 470 + y="52.732723" 471 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff00ff;stroke-width:0.102999" 472 + id="tspan83-8-3">A</tspan></text> 473 + <text 474 + xml:space="preserve" 475 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.102999" 476 + x="-52.897129" 477 + y="61.668709" 478 + id="text83-5"><tspan 479 + sodipodi:role="line" 480 + x="-52.897129" 481 + y="61.668709" 482 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.102999" 483 + id="tspan83-4">C</tspan></text> 484 + <text 485 + xml:space="preserve" 486 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.102999" 487 + x="-19.174068" 488 + y="49.045818" 489 + id="text83-5-9"><tspan 490 + sodipodi:role="line" 491 + x="-19.174068" 492 + y="49.045818" 493 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.102999" 494 + id="tspan83-4-2">C</tspan></text> 495 + <text 496 + xml:space="preserve" 497 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.102999" 498 + x="-16.531792" 499 + y="53.259804" 500 + id="text83-5-9-9"><tspan 501 + sodipodi:role="line" 502 + x="-16.531792" 503 + y="53.259804" 504 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.102999" 505 + id="tspan83-4-2-5">C</tspan></text> 506 + <text 507 + xml:space="preserve" 508 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.102999" 509 + x="-19.325029" 510 + y="61.488995" 511 + id="text83-5-9-9-7"><tspan 512 + sodipodi:role="line" 513 + x="-19.325029" 514 + y="61.488995" 515 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.102999" 516 + id="tspan83-4-2-5-2">B</tspan></text> 517 + <text 518 + xml:space="preserve" 519 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.102999" 520 + x="-22.869593" 521 + y="63.231686" 522 + id="text83-5-9-9-7-0"><tspan 523 + sodipodi:role="line" 524 + x="-22.869593" 525 + y="63.231686" 526 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.102999" 527 + id="tspan83-4-2-5-2-6">B</tspan></text> 528 + <text 529 + xml:space="preserve" 530 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.102999" 531 + x="-26.235374" 532 + y="63.331181" 533 + id="text83-5-9-9-7-0-4"><tspan 534 + sodipodi:role="line" 535 + x="-26.235374" 536 + y="63.331181" 537 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.102999" 538 + id="tspan83-4-2-5-2-6-9">B</tspan></text> 539 + <text 540 + xml:space="preserve" 541 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.102999" 542 + x="-56.235538" 543 + y="63.072704" 544 + id="text83-5-6"><tspan 545 + sodipodi:role="line" 546 + x="-56.235538" 547 + y="63.072704" 548 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.102999" 549 + id="tspan83-4-9">C</tspan></text> 550 + <text 551 + xml:space="preserve" 552 + style="font-style:normal;font-weight:normal;font-size:2.17681px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.102999" 553 + x="-59.697765" 554 + y="63.066635" 555 + id="text83-5-6-5"><tspan 556 + sodipodi:role="line" 557 + x="-59.697765" 558 + y="63.066635" 559 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.17681px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.102999" 560 + id="tspan83-4-9-2">C</tspan></text> 561 + <circle 562 + style="fill:#ffcc00;stroke:#00d455;stroke-width:0.213261;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 563 + id="path83" 564 + cx="-50.145481" 565 + cy="57.387428" 566 + r="1.0712636" /> 567 + <circle 568 + style="fill:#ffcc00;stroke:#00d455;stroke-width:0.213261;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 569 + id="path83-7" 570 + cx="-16.886913" 571 + cy="57.596024" 572 + r="1.0712636" /> 573 + <circle 574 + style="fill:#ffcc00;stroke:#00d455;stroke-width:0.213261;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 575 + id="path83-7-7" 576 + cx="-29.53648" 577 + cy="60.832634" 578 + r="1.0712636" /> 579 + <circle 580 + style="fill:#ffcc00;stroke:#00d455;stroke-width:0.213261;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 581 + id="path83-7-7-9" 582 + cx="-29.751556" 583 + cy="48.260994" 584 + r="1.0712636" /> 585 + <circle 586 + style="fill:#ffcc00;stroke:#00d455;stroke-width:0.213261;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 587 + id="path83-4" 588 + cx="-63.051891" 589 + cy="60.73439" 590 + r="1.0712636" /> 591 + <circle 592 + style="fill:#ffcc00;stroke:#00d455;stroke-width:0.213261;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 593 + id="path83-4-2" 594 + cx="-63.022129" 595 + cy="48.24374" 596 + r="1.0712636" /> 597 + <g 598 + id="g86" 599 + transform="matrix(0.25710378,0,0,0.25710378,17.422136,8.7899633)"> 600 + <circle 601 + style="fill:#ffffff;stroke:#ff0000;stroke-width:1.62704;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0" 602 + id="circle84" 603 + cx="-121.9205" 604 + cy="20.747513" 605 + r="30.822298" /> 606 + <text 607 + xml:space="preserve" 608 + style="font-style:normal;font-weight:normal;font-size:16.9333px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.400612" 609 + x="-122.11524" 610 + y="26.792702" 611 + id="text84"><tspan 612 + sodipodi:role="line" 613 + x="-122.11524" 614 + y="26.792702" 615 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16.9333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.400612" 616 + id="tspan84">C</tspan></text> 617 + </g> 618 + <text 619 + xml:space="preserve" 620 + style="font-size:2.17681px;font-family:'Linux Libertine O';-inkscape-font-specification:'Linux Libertine O';text-align:start;letter-spacing:1.26323px;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:none;stroke:#000000;stroke-width:0.257104;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 621 + x="-140.03215" 622 + y="26.074423" 623 + id="text86"><tspan 624 + sodipodi:role="line" 625 + id="tspan86" 626 + style="stroke-width:0.257104" 627 + x="-140.03215" 628 + y="26.074423" /></text> 629 + <g 630 + id="g90" 631 + transform="matrix(0.25710378,0,0,0.25710378,18.175509,7.82134)"> 632 + <rect 633 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 634 + id="rect86" 635 + width="92.604057" 636 + height="26.883123" 637 + x="-338.30258" 638 + y="93.635468" /> 639 + <text 640 + xml:space="preserve" 641 + style="font-style:normal;font-weight:normal;font-size:8.81944px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 642 + x="-291.13989" 643 + y="110.58046" 644 + id="text88"><tspan 645 + sodipodi:role="line" 646 + x="-291.13989" 647 + y="110.58046" 648 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:8.81944px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 649 + id="tspan88">Enforce Isolation</tspan></text> 650 + </g> 651 + <g 652 + id="g89" 653 + transform="matrix(0.25710378,0,0,0.25710378,18.606009,7.82134)"> 654 + <rect 655 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 656 + id="rect89" 657 + width="119.67937" 658 + height="26.749132" 659 + x="-219.35185" 660 + y="93.702461" /> 661 + <text 662 + xml:space="preserve" 663 + style="font-style:normal;font-weight:normal;font-size:8.81944px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 664 + x="-159.57832" 665 + y="110.40636" 666 + id="text89"><tspan 667 + sodipodi:role="line" 668 + x="-159.57832" 669 + y="110.40636" 670 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:8.81944px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 671 + id="tspan89">Enforce Isolation</tspan></text> 672 + </g> 673 + <path 674 + style="fill:#de8787;stroke:#000000;stroke-width:0.385656;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#Dot);marker-end:url(#marker99)" 675 + d="M -57.807162,43.759556 V 39.878518" 676 + id="path90" 677 + sodipodi:nodetypes="cc" /> 678 + <path 679 + style="fill:#de8787;stroke:#000000;stroke-width:0.385656;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#Dot);marker-end:url(#marker99)" 680 + d="M -24.512426,43.759556 V 39.878518" 681 + id="path91" 682 + sodipodi:nodetypes="cc" /> 683 + <path 684 + style="fill:#ff00ff;stroke:#ff00ff;stroke-width:0.257104;stroke-linecap:square;stroke-dasharray:none;marker-end:url(#ArrowWideHeavy)" 685 + d="m -57.329023,22.418572 v 9.208373" 686 + id="path1" /> 687 + <path 688 + style="fill:#ff00ff;stroke:#ff9955;stroke-width:0.257104;stroke-linecap:square;stroke-dasharray:none;marker-end:url(#ArrowWideHeavy)" 689 + d="m -32.844695,22.418572 v 9.208373" 690 + id="path2" /> 691 + <path 692 + style="fill:#ff00ff;stroke:#ff0000;stroke-width:0.257104;stroke-linecap:square;stroke-dasharray:none;marker-end:url(#ArrowWideHeavy)" 693 + d="m -13.924085,22.418572 v 9.208373" 694 + id="path4" /> 695 + <path 696 + style="fill:none;stroke:#ff00ff;stroke-width:0.257104;stroke-linecap:square;stroke-dasharray:none;marker-end:url(#ArrowWideHeavy)" 697 + d="m -57.329023,22.418572 v 5.174952 h 20.852017 v 4.033421" 698 + id="path5" 699 + sodipodi:nodetypes="cccc" /> 700 + <path 701 + style="fill:none;stroke:#ff0000;stroke-width:0.257104;stroke-linecap:square;stroke-dasharray:none;marker-end:url(#ArrowWideHeavy)" 702 + d="m -13.924085,22.418572 v 3.652908 h -34.777483 v 5.555465" 703 + id="path6" 704 + sodipodi:nodetypes="cccc" /> 705 + </g> 706 + </g> 707 + </svg>
+1
Documentation/gpu/amdgpu/process-isolation.rst
··· 1 + .. _amdgpu-process-isolation: 1 2 .. SPDX-License-Identifier: GPL-2.0 2 3 3 4 =========================
+95
Documentation/gpu/amdgpu/ring-buffer.rst
··· 1 + ============= 2 + Ring Buffer 3 + ============= 4 + 5 + To handle communication between user space and kernel space, AMD GPUs use a 6 + ring buffer design to feed the engines (GFX, Compute, SDMA, UVD, VCE, VCN, VPE, 7 + etc.). See the figure below that illustrates how this communication works: 8 + 9 + .. kernel-figure:: ring_buffers.svg 10 + 11 + Ring buffers in the amdgpu work as a producer-consumer model, where userspace 12 + acts as the producer, constantly filling the ring buffer with GPU commands to 13 + be executed. Meanwhile, the GPU retrieves the information from the ring, parses 14 + it, and distributes the specific set of instructions between the different 15 + amdgpu blocks. 16 + 17 + Notice from the diagram that the ring has a Read Pointer (rptr), which 18 + indicates where the engine is currently reading packets from the ring, and a 19 + Write Pointer (wptr), which indicates how many packets software has added to 20 + the ring. When the rptr and wptr are equal, the ring is idle. When software 21 + adds packets to the ring, it updates the wptr, this causes the engine to start 22 + fetching and processing packets. As the engine processes packets, the rptr gets 23 + updates until the rptr catches up to the wptr and they are equal again. 24 + 25 + Usually, ring buffers in the driver have a limited size (search for occurrences 26 + of `amdgpu_ring_init()`). One of the reasons for the small ring buffer size is 27 + that CP (Command Processor) is capable of following addresses inserted into the 28 + ring; this is illustrated in the image by the reference to the IB (Indirect 29 + Buffer). The IB gives userspace the possibility to have an area in memory that 30 + CP can read and feed the hardware with extra instructions. 31 + 32 + All ASICs pre-GFX11 use what is called a kernel queue, which means 33 + the ring is allocated in kernel space and has some restrictions, such as not 34 + being able to be :ref:`preempted directly by the scheduler<amdgpu-mes>`. GFX11 35 + and newer support kernel queues, but also provide a new mechanism named 36 + :ref:`user queues<amdgpu-userq>`, where the queue is moved to the user space 37 + and can be mapped and unmapped via the scheduler. In practice, both queues 38 + insert user-space-generated GPU commands from different jobs into the requested 39 + component ring. 40 + 41 + Enforce Isolation 42 + ================= 43 + 44 + .. note:: After reading this section, you might want to check the 45 + :ref:`Process Isolation<amdgpu-process-isolation>` page for more details. 46 + 47 + Before examining the Enforce Isolation mechanism in the ring buffer context, it 48 + is helpful to briefly discuss how instructions from the ring buffer are 49 + processed in the graphics pipeline. Let’s expand on this topic by checking the 50 + diagram below that illustrates the graphics pipeline: 51 + 52 + .. kernel-figure:: gfx_pipeline_seq.svg 53 + 54 + In terms of executing instructions, the GFX pipeline follows the sequence: 55 + Shader Export (SX), Geometry Engine (GE), Shader Process or Input (SPI), Scan 56 + Converter (SC), Primitive Assembler (PA), and cache manipulation (which may 57 + vary across ASICs). Another common way to describe the pipeline is to use Pixel 58 + Shader (PS), raster, and Vertex Shader (VS) to symbolize the two shader stages. 59 + Now, with this pipeline in mind, let's assume that Job B causes a hang issue, 60 + but Job C's instruction might already be executing, leading developers to 61 + incorrectly identify Job C as the problematic one. This problem can be 62 + mitigated on multiple levels; the diagram below illustrates how to minimize 63 + part of this problem: 64 + 65 + .. kernel-figure:: no_enforce_isolation.svg 66 + 67 + Note from the diagram that there is no guarantee of order or a clear separation 68 + between instructions, which is not a problem most of the time, and is also good 69 + for performance. Furthermore, notice some circles between jobs in the diagram 70 + that represent a **fence wait** used to avoid overlapping work in the ring. At 71 + the end of the fence, a cache flush occurs, ensuring that when the next job 72 + starts, it begins in a clean state and, if issues arise, the developer can 73 + pinpoint the problematic process more precisely. 74 + 75 + To increase the level of isolation between jobs, there is the "Enforce 76 + Isolation" method described in the picture below: 77 + 78 + .. kernel-figure:: enforce_isolation.svg 79 + 80 + As shown in the diagram, enforcing isolation introduces ordering between 81 + submissions, since the access to GFX/Compute is serialized, think about it as 82 + single process at a time mode for gfx/compute. Notice that this approach has a 83 + significant performance impact, as it allows only one job to submit commands at 84 + a time. However, this option can help pinpoint the job that caused the problem. 85 + Although enforcing isolation improves the situation, it does not fully resolve 86 + the issue of precisely pinpointing bad jobs, since isolation might mask the 87 + problem. In summary, identifying which job caused the issue may not be precise, 88 + but enforcing isolation might help with the debugging. 89 + 90 + Ring Operations 91 + =============== 92 + 93 + .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c 94 + :internal: 95 +
+1633
Documentation/gpu/amdgpu/ring_buffers.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 + 4 + <svg 5 + width="588.32483mm" 6 + height="341.81656mm" 7 + viewBox="0 0 588.32483 341.81656" 8 + version="1.1" 9 + id="svg1" 10 + inkscape:version="1.4 (e7c3feb100, 2024-10-09)" 11 + sodipodi:docname="RING_BUFFER.svg" 12 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 14 + xmlns="http://www.w3.org/2000/svg" 15 + xmlns:svg="http://www.w3.org/2000/svg"> 16 + <sodipodi:namedview 17 + id="namedview1" 18 + pagecolor="#ffffff" 19 + bordercolor="#000000" 20 + borderopacity="0.25" 21 + inkscape:showpageshadow="2" 22 + inkscape:pageopacity="0.0" 23 + inkscape:pagecheckerboard="0" 24 + inkscape:deskcolor="#d1d1d1" 25 + inkscape:document-units="mm" 26 + inkscape:zoom="0.89386809" 27 + inkscape:cx="1106.9866" 28 + inkscape:cy="729.97348" 29 + inkscape:window-width="3072" 30 + inkscape:window-height="1651" 31 + inkscape:window-x="0" 32 + inkscape:window-y="0" 33 + inkscape:window-maximized="1" 34 + inkscape:current-layer="layer1" /> 35 + <defs 36 + id="defs1"> 37 + <marker 38 + style="overflow:visible" 39 + id="marker154" 40 + refX="2" 41 + refY="0" 42 + orient="auto-start-reverse" 43 + inkscape:stockid="Empty semicircle" 44 + markerWidth="1" 45 + markerHeight="1" 46 + viewBox="0 0 1 1" 47 + inkscape:isstock="true" 48 + inkscape:collect="always" 49 + preserveAspectRatio="xMidYMid"> 50 + <path 51 + style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:1.08" 52 + d="m -0.7647042,-3.0274156 c 1.656,0 3,1.344 3,3 0,1.656 -1.344,3 -3,3" 53 + id="path154" /> 54 + </marker> 55 + <marker 56 + style="overflow:visible" 57 + id="ArrowTriangleStylized" 58 + refX="0" 59 + refY="0" 60 + orient="auto-start-reverse" 61 + inkscape:stockid="Stylized triangle arrow" 62 + markerWidth="1" 63 + markerHeight="1" 64 + viewBox="0 0 1 1" 65 + inkscape:isstock="true" 66 + inkscape:collect="always" 67 + preserveAspectRatio="xMidYMid"> 68 + <path 69 + transform="scale(0.5)" 70 + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" 71 + d="m 6,0 c -3,1 -7,3 -9,5 0,0 0,-4 2,-5 -2,-1 -2,-5 -2,-5 2,2 6,4 9,5 z" 72 + id="path135" /> 73 + </marker> 74 + <marker 75 + style="overflow:visible" 76 + id="marker132" 77 + refX="0" 78 + refY="0" 79 + orient="auto" 80 + inkscape:stockid="Diamond" 81 + markerWidth="1" 82 + markerHeight="1" 83 + viewBox="0 0 1 1" 84 + inkscape:isstock="true" 85 + inkscape:collect="always" 86 + preserveAspectRatio="xMidYMid"> 87 + <path 88 + transform="scale(0.45)" 89 + style="fill:context-stroke;fill-rule:evenodd;stroke:none" 90 + d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 Z" 91 + id="path132" /> 92 + </marker> 93 + <marker 94 + style="overflow:visible" 95 + id="Diamond" 96 + refX="0" 97 + refY="0" 98 + orient="auto" 99 + inkscape:stockid="Diamond" 100 + markerWidth="1" 101 + markerHeight="1" 102 + viewBox="0 0 1 1" 103 + inkscape:isstock="true" 104 + inkscape:collect="always" 105 + preserveAspectRatio="xMidYMid"> 106 + <path 107 + transform="scale(0.45)" 108 + style="fill:context-stroke;fill-rule:evenodd;stroke:none" 109 + d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 Z" 110 + id="path131" /> 111 + </marker> 112 + <marker 113 + style="overflow:visible" 114 + id="ArrowWide" 115 + refX="0" 116 + refY="0" 117 + orient="auto-start-reverse" 118 + inkscape:stockid="Wide arrow" 119 + markerWidth="1" 120 + markerHeight="1" 121 + viewBox="0 0 1 1" 122 + inkscape:isstock="true" 123 + inkscape:collect="always" 124 + preserveAspectRatio="xMidYMid"> 125 + <path 126 + style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" 127 + d="M 3,-3 0,0 3,3" 128 + transform="rotate(180,0.125,0)" 129 + sodipodi:nodetypes="ccc" 130 + id="path81" /> 131 + </marker> 132 + <marker 133 + style="overflow:visible" 134 + id="marker99" 135 + refX="0" 136 + refY="0" 137 + orient="auto" 138 + inkscape:stockid="Dot" 139 + markerWidth="1" 140 + markerHeight="1" 141 + viewBox="0 0 1 1" 142 + inkscape:isstock="true" 143 + inkscape:collect="always" 144 + preserveAspectRatio="xMidYMid"> 145 + <path 146 + transform="scale(0.5)" 147 + style="fill:context-stroke;fill-rule:evenodd;stroke:none" 148 + d="M 5,0 C 5,2.76 2.76,5 0,5 -2.76,5 -5,2.76 -5,0 c 0,-2.76 2.3,-5 5,-5 2.76,0 5,2.24 5,5 z" 149 + sodipodi:nodetypes="sssss" 150 + id="path99" /> 151 + </marker> 152 + <marker 153 + style="overflow:visible" 154 + id="Dot" 155 + refX="0" 156 + refY="0" 157 + orient="auto" 158 + inkscape:stockid="Dot" 159 + markerWidth="1" 160 + markerHeight="1" 161 + viewBox="0 0 1 1" 162 + inkscape:isstock="true" 163 + inkscape:collect="always" 164 + preserveAspectRatio="xMidYMid"> 165 + <path 166 + transform="scale(0.5)" 167 + style="fill:context-stroke;fill-rule:evenodd;stroke:none" 168 + d="M 5,0 C 5,2.76 2.76,5 0,5 -2.76,5 -5,2.76 -5,0 c 0,-2.76 2.3,-5 5,-5 2.76,0 5,2.24 5,5 z" 169 + sodipodi:nodetypes="sssss" 170 + id="path98" /> 171 + </marker> 172 + </defs> 173 + <g 174 + inkscape:label="Layer 1" 175 + inkscape:groupmode="layer" 176 + id="layer1" 177 + transform="translate(123.51219,3.0159921)"> 178 + <rect 179 + style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:square;stroke-dasharray:1, 2;stroke-dashoffset:0" 180 + id="rect167" 181 + width="595.25238" 182 + height="349.86984" 183 + x="-128.24815" 184 + y="-8.0479612" /> 185 + <rect 186 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:1, 2;stroke-dashoffset:0" 187 + id="rect111" 188 + width="500.64935" 189 + height="63.365536" 190 + x="-65.219322" 191 + y="168.41347" 192 + ry="5.4989429" /> 193 + <path 194 + style="fill:none;stroke:#917c6f;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#marker154)" 195 + d="M 24.09216,175.30492 V 125.06784 H 47.447018 V 83.98949" 196 + id="path151" 197 + sodipodi:nodetypes="cccc" /> 198 + <g 199 + id="g15" 200 + transform="translate(-4.735971)"> 201 + <path 202 + id="path1" 203 + style="fill:none;stroke:#000000;stroke-width:0.721067;stroke-dasharray:none" 204 + d="M 30.278993,176.45537 A 22.905334,22.905334 0 0 0 7.3737955,199.36057 22.905334,22.905334 0 0 0 30.278993,222.26603 22.905334,22.905334 0 0 0 53.18445,199.36057 22.905334,22.905334 0 0 0 30.278993,176.45537 Z m 0,7.13274 a 15.772359,15.772359 0 0 1 15.77246,15.77246 15.772359,15.772359 0 0 1 -15.77246,15.77246 15.772359,15.772359 0 0 1 -15.772206,-15.77246 15.772359,15.772359 0 0 1 15.772206,-15.77246 z" /> 205 + <g 206 + id="g14"> 207 + <path 208 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 209 + d="m 46.31405,200.72093 h 6.430134" 210 + id="path3" 211 + sodipodi:nodetypes="cc" /> 212 + <path 213 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 214 + d="M 7.6848605,200.72093 H 14.114993" 215 + id="path4" 216 + sodipodi:nodetypes="cc" /> 217 + <path 218 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 219 + d="m 30.103415,176.7326 v 6.43014" 220 + id="path5" 221 + sodipodi:nodetypes="cc" /> 222 + <path 223 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 224 + d="M 30.103415,215.50586 V 221.936" 225 + id="path6" 226 + sodipodi:nodetypes="cc" /> 227 + <path 228 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 229 + d="m 36.501694,214.1052 3.21507,5.56866" 230 + id="path7" 231 + sodipodi:nodetypes="cc" /> 232 + <path 233 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 234 + d="m 36.501694,184.66805 3.21507,-5.56866" 235 + id="path8" 236 + sodipodi:nodetypes="cc" /> 237 + <path 238 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 239 + d="m 23.652811,184.66805 -3.21507,-5.56866" 240 + id="path9" 241 + sodipodi:nodetypes="cc" /> 242 + <path 243 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 244 + d="m 23.652811,214.05288 -3.21507,5.56866" 245 + id="path10" 246 + sodipodi:nodetypes="cc" /> 247 + <path 248 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 249 + d="m 43.31839,208.65101 4.546794,4.5468" 250 + id="path11" 251 + sodipodi:nodetypes="cc" /> 252 + <path 253 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 254 + d="m 43.31839,189.96525 4.546794,-4.5468" 255 + id="path12" 256 + sodipodi:nodetypes="cc" /> 257 + <path 258 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 259 + d="M 17.202394,189.96525 12.6556,185.41845" 260 + id="path13" 261 + sodipodi:nodetypes="cc" /> 262 + <path 263 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 264 + d="m 16.940766,208.65101 -4.546794,4.5468" 265 + id="path14" 266 + sodipodi:nodetypes="cc" /> 267 + </g> 268 + </g> 269 + <g 270 + id="g28" 271 + transform="translate(46.175717)"> 272 + <path 273 + id="path15" 274 + style="fill:none;stroke:#000000;stroke-width:0.721067;stroke-dasharray:none" 275 + d="M 30.278993,176.45537 A 22.905334,22.905334 0 0 0 7.3737955,199.36057 22.905334,22.905334 0 0 0 30.278993,222.26603 22.905334,22.905334 0 0 0 53.18445,199.36057 22.905334,22.905334 0 0 0 30.278993,176.45537 Z m 0,7.13274 a 15.772359,15.772359 0 0 1 15.77246,15.77246 15.772359,15.772359 0 0 1 -15.77246,15.77246 15.772359,15.772359 0 0 1 -15.772206,-15.77246 15.772359,15.772359 0 0 1 15.772206,-15.77246 z" /> 276 + <g 277 + id="g27"> 278 + <path 279 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 280 + d="m 46.31405,200.72093 h 6.430134" 281 + id="path16" 282 + sodipodi:nodetypes="cc" /> 283 + <path 284 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 285 + d="M 7.6848605,200.72093 H 14.114993" 286 + id="path17" 287 + sodipodi:nodetypes="cc" /> 288 + <path 289 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 290 + d="m 30.103415,176.7326 v 6.43014" 291 + id="path18" 292 + sodipodi:nodetypes="cc" /> 293 + <path 294 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 295 + d="M 30.103415,215.50586 V 221.936" 296 + id="path19" 297 + sodipodi:nodetypes="cc" /> 298 + <path 299 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 300 + d="m 36.501694,214.1052 3.21507,5.56866" 301 + id="path20" 302 + sodipodi:nodetypes="cc" /> 303 + <path 304 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 305 + d="m 36.501694,184.66805 3.21507,-5.56866" 306 + id="path21" 307 + sodipodi:nodetypes="cc" /> 308 + <path 309 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 310 + d="m 23.652811,184.66805 -3.21507,-5.56866" 311 + id="path22" 312 + sodipodi:nodetypes="cc" /> 313 + <path 314 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 315 + d="m 23.652811,214.05288 -3.21507,5.56866" 316 + id="path23" 317 + sodipodi:nodetypes="cc" /> 318 + <path 319 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 320 + d="m 43.31839,208.65101 4.546794,4.5468" 321 + id="path24" 322 + sodipodi:nodetypes="cc" /> 323 + <path 324 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 325 + d="m 43.31839,189.96525 4.546794,-4.5468" 326 + id="path25" 327 + sodipodi:nodetypes="cc" /> 328 + <path 329 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 330 + d="M 17.202394,189.96525 12.6556,185.41845" 331 + id="path26" 332 + sodipodi:nodetypes="cc" /> 333 + <path 334 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 335 + d="m 16.940766,208.65101 -4.546794,4.5468" 336 + id="path27" 337 + sodipodi:nodetypes="cc" /> 338 + </g> 339 + </g> 340 + <g 341 + id="g41" 342 + transform="translate(102.62407)"> 343 + <path 344 + id="path28" 345 + style="fill:none;stroke:#000000;stroke-width:0.721067;stroke-dasharray:none" 346 + d="M 30.278993,176.45537 A 22.905334,22.905334 0 0 0 7.3737955,199.36057 22.905334,22.905334 0 0 0 30.278993,222.26603 22.905334,22.905334 0 0 0 53.18445,199.36057 22.905334,22.905334 0 0 0 30.278993,176.45537 Z m 0,7.13274 a 15.772359,15.772359 0 0 1 15.77246,15.77246 15.772359,15.772359 0 0 1 -15.77246,15.77246 15.772359,15.772359 0 0 1 -15.772206,-15.77246 15.772359,15.772359 0 0 1 15.772206,-15.77246 z" /> 347 + <g 348 + id="g40"> 349 + <path 350 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 351 + d="m 46.31405,200.72093 h 6.430134" 352 + id="path29" 353 + sodipodi:nodetypes="cc" /> 354 + <path 355 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 356 + d="M 7.6848605,200.72093 H 14.114993" 357 + id="path30" 358 + sodipodi:nodetypes="cc" /> 359 + <path 360 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 361 + d="m 30.103415,176.7326 v 6.43014" 362 + id="path31" 363 + sodipodi:nodetypes="cc" /> 364 + <path 365 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 366 + d="M 30.103415,215.50586 V 221.936" 367 + id="path32" 368 + sodipodi:nodetypes="cc" /> 369 + <path 370 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 371 + d="m 36.501694,214.1052 3.21507,5.56866" 372 + id="path33" 373 + sodipodi:nodetypes="cc" /> 374 + <path 375 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 376 + d="m 36.501694,184.66805 3.21507,-5.56866" 377 + id="path34" 378 + sodipodi:nodetypes="cc" /> 379 + <path 380 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 381 + d="m 23.652811,184.66805 -3.21507,-5.56866" 382 + id="path35" 383 + sodipodi:nodetypes="cc" /> 384 + <path 385 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 386 + d="m 23.652811,214.05288 -3.21507,5.56866" 387 + id="path36" 388 + sodipodi:nodetypes="cc" /> 389 + <path 390 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 391 + d="m 43.31839,208.65101 4.546794,4.5468" 392 + id="path37" 393 + sodipodi:nodetypes="cc" /> 394 + <path 395 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 396 + d="m 43.31839,189.96525 4.546794,-4.5468" 397 + id="path38" 398 + sodipodi:nodetypes="cc" /> 399 + <path 400 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 401 + d="M 17.202394,189.96525 12.6556,185.41845" 402 + id="path39" 403 + sodipodi:nodetypes="cc" /> 404 + <path 405 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 406 + d="m 16.940766,208.65101 -4.546794,4.5468" 407 + id="path40" 408 + sodipodi:nodetypes="cc" /> 409 + </g> 410 + </g> 411 + <g 412 + id="g54" 413 + transform="translate(154.12775)"> 414 + <path 415 + id="path41" 416 + style="fill:none;stroke:#000000;stroke-width:0.721067;stroke-dasharray:none" 417 + d="M 30.278993,176.45537 A 22.905334,22.905334 0 0 0 7.3737955,199.36057 22.905334,22.905334 0 0 0 30.278993,222.26603 22.905334,22.905334 0 0 0 53.18445,199.36057 22.905334,22.905334 0 0 0 30.278993,176.45537 Z m 0,7.13274 a 15.772359,15.772359 0 0 1 15.77246,15.77246 15.772359,15.772359 0 0 1 -15.77246,15.77246 15.772359,15.772359 0 0 1 -15.772206,-15.77246 15.772359,15.772359 0 0 1 15.772206,-15.77246 z" /> 418 + <g 419 + id="g53"> 420 + <path 421 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 422 + d="m 46.31405,200.72093 h 6.430134" 423 + id="path42" 424 + sodipodi:nodetypes="cc" /> 425 + <path 426 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 427 + d="M 7.6848605,200.72093 H 14.114993" 428 + id="path43" 429 + sodipodi:nodetypes="cc" /> 430 + <path 431 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 432 + d="m 30.103415,176.7326 v 6.43014" 433 + id="path44" 434 + sodipodi:nodetypes="cc" /> 435 + <path 436 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 437 + d="M 30.103415,215.50586 V 221.936" 438 + id="path45" 439 + sodipodi:nodetypes="cc" /> 440 + <path 441 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 442 + d="m 36.501694,214.1052 3.21507,5.56866" 443 + id="path46" 444 + sodipodi:nodetypes="cc" /> 445 + <path 446 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 447 + d="m 36.501694,184.66805 3.21507,-5.56866" 448 + id="path47" 449 + sodipodi:nodetypes="cc" /> 450 + <path 451 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 452 + d="m 23.652811,184.66805 -3.21507,-5.56866" 453 + id="path48" 454 + sodipodi:nodetypes="cc" /> 455 + <path 456 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 457 + d="m 23.652811,214.05288 -3.21507,5.56866" 458 + id="path49" 459 + sodipodi:nodetypes="cc" /> 460 + <path 461 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 462 + d="m 43.31839,208.65101 4.546794,4.5468" 463 + id="path50" 464 + sodipodi:nodetypes="cc" /> 465 + <path 466 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 467 + d="m 43.31839,189.96525 4.546794,-4.5468" 468 + id="path51" 469 + sodipodi:nodetypes="cc" /> 470 + <path 471 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 472 + d="M 17.202394,189.96525 12.6556,185.41845" 473 + id="path52" 474 + sodipodi:nodetypes="cc" /> 475 + <path 476 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 477 + d="m 16.940766,208.65101 -4.546794,4.5468" 478 + id="path53" 479 + sodipodi:nodetypes="cc" /> 480 + </g> 481 + </g> 482 + <g 483 + id="g67" 484 + transform="translate(205.37341)"> 485 + <path 486 + id="path54" 487 + style="fill:none;stroke:#000000;stroke-width:0.721067;stroke-dasharray:none" 488 + d="M 30.278993,176.45537 A 22.905334,22.905334 0 0 0 7.3737955,199.36057 22.905334,22.905334 0 0 0 30.278993,222.26603 22.905334,22.905334 0 0 0 53.18445,199.36057 22.905334,22.905334 0 0 0 30.278993,176.45537 Z m 0,7.13274 a 15.772359,15.772359 0 0 1 15.77246,15.77246 15.772359,15.772359 0 0 1 -15.77246,15.77246 15.772359,15.772359 0 0 1 -15.772206,-15.77246 15.772359,15.772359 0 0 1 15.772206,-15.77246 z" /> 489 + <g 490 + id="g66"> 491 + <path 492 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 493 + d="m 46.31405,200.72093 h 6.430134" 494 + id="path55" 495 + sodipodi:nodetypes="cc" /> 496 + <path 497 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 498 + d="M 7.6848605,200.72093 H 14.114993" 499 + id="path56" 500 + sodipodi:nodetypes="cc" /> 501 + <path 502 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 503 + d="m 30.103415,176.7326 v 6.43014" 504 + id="path57" 505 + sodipodi:nodetypes="cc" /> 506 + <path 507 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 508 + d="M 30.103415,215.50586 V 221.936" 509 + id="path58" 510 + sodipodi:nodetypes="cc" /> 511 + <path 512 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 513 + d="m 36.501694,214.1052 3.21507,5.56866" 514 + id="path59" 515 + sodipodi:nodetypes="cc" /> 516 + <path 517 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 518 + d="m 36.501694,184.66805 3.21507,-5.56866" 519 + id="path60" 520 + sodipodi:nodetypes="cc" /> 521 + <path 522 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 523 + d="m 23.652811,184.66805 -3.21507,-5.56866" 524 + id="path61" 525 + sodipodi:nodetypes="cc" /> 526 + <path 527 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 528 + d="m 23.652811,214.05288 -3.21507,5.56866" 529 + id="path62" 530 + sodipodi:nodetypes="cc" /> 531 + <path 532 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 533 + d="m 43.31839,208.65101 4.546794,4.5468" 534 + id="path63" 535 + sodipodi:nodetypes="cc" /> 536 + <path 537 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 538 + d="m 43.31839,189.96525 4.546794,-4.5468" 539 + id="path64" 540 + sodipodi:nodetypes="cc" /> 541 + <path 542 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 543 + d="M 17.202394,189.96525 12.6556,185.41845" 544 + id="path65" 545 + sodipodi:nodetypes="cc" /> 546 + <path 547 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 548 + d="m 16.940766,208.65101 -4.546794,4.5468" 549 + id="path66" 550 + sodipodi:nodetypes="cc" /> 551 + </g> 552 + </g> 553 + <g 554 + id="g80" 555 + transform="translate(256.63043)"> 556 + <path 557 + id="path67" 558 + style="fill:none;stroke:#000000;stroke-width:0.721067;stroke-dasharray:none" 559 + d="M 30.278993,176.45537 A 22.905334,22.905334 0 0 0 7.3737955,199.36057 22.905334,22.905334 0 0 0 30.278993,222.26603 22.905334,22.905334 0 0 0 53.18445,199.36057 22.905334,22.905334 0 0 0 30.278993,176.45537 Z m 0,7.13274 a 15.772359,15.772359 0 0 1 15.77246,15.77246 15.772359,15.772359 0 0 1 -15.77246,15.77246 15.772359,15.772359 0 0 1 -15.772206,-15.77246 15.772359,15.772359 0 0 1 15.772206,-15.77246 z" /> 560 + <g 561 + id="g79"> 562 + <path 563 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 564 + d="m 46.31405,200.72093 h 6.430134" 565 + id="path68" 566 + sodipodi:nodetypes="cc" /> 567 + <path 568 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 569 + d="M 7.6848605,200.72093 H 14.114993" 570 + id="path69" 571 + sodipodi:nodetypes="cc" /> 572 + <path 573 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 574 + d="m 30.103415,176.7326 v 6.43014" 575 + id="path70" 576 + sodipodi:nodetypes="cc" /> 577 + <path 578 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 579 + d="M 30.103415,215.50586 V 221.936" 580 + id="path71" 581 + sodipodi:nodetypes="cc" /> 582 + <path 583 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 584 + d="m 36.501694,214.1052 3.21507,5.56866" 585 + id="path72" 586 + sodipodi:nodetypes="cc" /> 587 + <path 588 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 589 + d="m 36.501694,184.66805 3.21507,-5.56866" 590 + id="path73" 591 + sodipodi:nodetypes="cc" /> 592 + <path 593 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 594 + d="m 23.652811,184.66805 -3.21507,-5.56866" 595 + id="path74" 596 + sodipodi:nodetypes="cc" /> 597 + <path 598 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 599 + d="m 23.652811,214.05288 -3.21507,5.56866" 600 + id="path75" 601 + sodipodi:nodetypes="cc" /> 602 + <path 603 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 604 + d="m 43.31839,208.65101 4.546794,4.5468" 605 + id="path76" 606 + sodipodi:nodetypes="cc" /> 607 + <path 608 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 609 + d="m 43.31839,189.96525 4.546794,-4.5468" 610 + id="path77" 611 + sodipodi:nodetypes="cc" /> 612 + <path 613 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 614 + d="M 17.202394,189.96525 12.6556,185.41845" 615 + id="path78" 616 + sodipodi:nodetypes="cc" /> 617 + <path 618 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 619 + d="m 16.940766,208.65101 -4.546794,4.5468" 620 + id="path79" 621 + sodipodi:nodetypes="cc" /> 622 + </g> 623 + </g> 624 + <rect 625 + style="fill:#afe9c6;stroke:#16502d;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 626 + id="rect80" 627 + width="97.534882" 628 + height="40.813953" 629 + x="2.9731095" 630 + y="288.36279" 631 + ry="5.6511626" /> 632 + <rect 633 + style="fill:#80e5ff;stroke:#00aad4;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 634 + id="rect81" 635 + width="199.46111" 636 + height="40.391335" 637 + x="110.41494" 638 + y="288.57413" 639 + ry="5.5926461" /> 640 + <rect 641 + style="fill:#de8787;stroke:#a02c2c;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 642 + id="rect82" 643 + width="81.028717" 644 + height="40.88369" 645 + x="321.87186" 646 + y="288.32794" 647 + ry="5.6608181" /> 648 + <g 649 + id="g95" 650 + transform="translate(332.1071)"> 651 + <path 652 + id="path82" 653 + style="fill:none;stroke:#000000;stroke-width:0.721067;stroke-dasharray:none" 654 + d="M 30.278993,176.45537 A 22.905334,22.905334 0 0 0 7.3737955,199.36057 22.905334,22.905334 0 0 0 30.278993,222.26603 22.905334,22.905334 0 0 0 53.18445,199.36057 22.905334,22.905334 0 0 0 30.278993,176.45537 Z m 0,7.13274 a 15.772359,15.772359 0 0 1 15.77246,15.77246 15.772359,15.772359 0 0 1 -15.77246,15.77246 15.772359,15.772359 0 0 1 -15.772206,-15.77246 15.772359,15.772359 0 0 1 15.772206,-15.77246 z" /> 655 + <g 656 + id="g94"> 657 + <path 658 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 659 + d="m 46.31405,200.72093 h 6.430134" 660 + id="path83" 661 + sodipodi:nodetypes="cc" /> 662 + <path 663 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 664 + d="M 7.6848605,200.72093 H 14.114993" 665 + id="path84" 666 + sodipodi:nodetypes="cc" /> 667 + <path 668 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 669 + d="m 30.103415,176.7326 v 6.43014" 670 + id="path85" 671 + sodipodi:nodetypes="cc" /> 672 + <path 673 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 674 + d="M 30.103415,215.50586 V 221.936" 675 + id="path86" 676 + sodipodi:nodetypes="cc" /> 677 + <path 678 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 679 + d="m 36.501694,214.1052 3.21507,5.56866" 680 + id="path87" 681 + sodipodi:nodetypes="cc" /> 682 + <path 683 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 684 + d="m 36.501694,184.66805 3.21507,-5.56866" 685 + id="path88" 686 + sodipodi:nodetypes="cc" /> 687 + <path 688 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 689 + d="m 23.652811,184.66805 -3.21507,-5.56866" 690 + id="path89" 691 + sodipodi:nodetypes="cc" /> 692 + <path 693 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 694 + d="m 23.652811,214.05288 -3.21507,5.56866" 695 + id="path90" 696 + sodipodi:nodetypes="cc" /> 697 + <path 698 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 699 + d="m 43.31839,208.65101 4.546794,4.5468" 700 + id="path91" 701 + sodipodi:nodetypes="cc" /> 702 + <path 703 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 704 + d="m 43.31839,189.96525 4.546794,-4.5468" 705 + id="path92" 706 + sodipodi:nodetypes="cc" /> 707 + <path 708 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 709 + d="M 17.202394,189.96525 12.6556,185.41845" 710 + id="path93" 711 + sodipodi:nodetypes="cc" /> 712 + <path 713 + style="fill:#ff00ff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 714 + d="m 16.940766,208.65101 -4.546794,4.5468" 715 + id="path94" 716 + sodipodi:nodetypes="cc" /> 717 + </g> 718 + </g> 719 + <text 720 + xml:space="preserve" 721 + style="font-style:normal;font-weight:normal;font-size:25.4px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 722 + x="51.003948" 723 + y="317.83759" 724 + id="text14-7"><tspan 725 + sodipodi:role="line" 726 + x="51.003948" 727 + y="317.83759" 728 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:25.4px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 729 + id="tspan14-7">GFX</tspan></text> 730 + <text 731 + xml:space="preserve" 732 + style="font-style:normal;font-weight:normal;font-size:25.4px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 733 + x="209.95499" 734 + y="314.9166" 735 + id="text95"><tspan 736 + sodipodi:role="line" 737 + x="209.95499" 738 + y="314.9166" 739 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:25.4px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 740 + id="tspan95">Compute</tspan></text> 741 + <text 742 + xml:space="preserve" 743 + style="font-style:normal;font-weight:normal;font-size:25.4px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 744 + x="361.80203" 745 + y="317.83759" 746 + id="text96"><tspan 747 + sodipodi:role="line" 748 + x="361.80203" 749 + y="317.83759" 750 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:25.4px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 751 + id="tspan96">SDMA</tspan></text> 752 + <text 753 + xml:space="preserve" 754 + style="font-style:normal;font-weight:normal;font-size:36.862px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 755 + x="429.28961" 756 + y="313.10159" 757 + id="text97"><tspan 758 + sodipodi:role="line" 759 + x="429.28961" 760 + y="313.10159" 761 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:36.862px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 762 + id="tspan97">...</tspan></text> 763 + <path 764 + style="fill:#de8787;stroke:#000000;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#Dot);marker-end:url(#marker99)" 765 + d="M 25.543152,285.49025 V 224.58863" 766 + id="path97" 767 + sodipodi:nodetypes="cc" /> 768 + <path 769 + style="fill:#de8787;stroke:#000000;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#Dot);marker-end:url(#marker99)" 770 + d="M 76.45484,285.49025 V 224.58863" 771 + id="path100" 772 + sodipodi:nodetypes="cc" /> 773 + <path 774 + style="fill:#de8787;stroke:#000000;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#Dot);marker-end:url(#marker99)" 775 + d="M 132.90319,285.49025 V 224.58863" 776 + id="path101" 777 + sodipodi:nodetypes="cc" /> 778 + <path 779 + style="fill:#de8787;stroke:#000000;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#Dot);marker-end:url(#marker99)" 780 + d="M 184.40687,285.49025 V 224.58863" 781 + id="path102" 782 + sodipodi:nodetypes="cc" /> 783 + <path 784 + style="fill:#de8787;stroke:#000000;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#Dot);marker-end:url(#marker99)" 785 + d="M 235.65253,285.49025 V 224.58863" 786 + id="path103" 787 + sodipodi:nodetypes="cc" /> 788 + <path 789 + style="fill:#de8787;stroke:#000000;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#Dot);marker-end:url(#marker99)" 790 + d="M 286.90955,285.49025 V 224.58863" 791 + id="path104" 792 + sodipodi:nodetypes="cc" /> 793 + <path 794 + style="fill:#de8787;stroke:#000000;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#Dot);marker-end:url(#marker99)" 795 + d="M 362.38622,285.49025 V 224.58863" 796 + id="path105" 797 + sodipodi:nodetypes="cc" /> 798 + <text 799 + xml:space="preserve" 800 + style="font-style:normal;font-weight:normal;font-size:36.862px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 801 + x="261.28104" 802 + y="259.52591" 803 + id="text105"><tspan 804 + sodipodi:role="line" 805 + x="261.28104" 806 + y="259.52591" 807 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:36.862px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 808 + id="tspan105">...</tspan></text> 809 + <text 810 + xml:space="preserve" 811 + style="font-style:normal;font-weight:normal;font-size:36.862px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 812 + x="50.998993" 813 + y="259.52591" 814 + id="text106"><tspan 815 + sodipodi:role="line" 816 + x="50.998993" 817 + y="259.52591" 818 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:36.862px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 819 + id="tspan106">...</tspan></text> 820 + <text 821 + xml:space="preserve" 822 + style="font-style:normal;font-weight:normal;font-size:36.862px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 823 + x="382.22592" 824 + y="259.52591" 825 + id="text107"><tspan 826 + sodipodi:role="line" 827 + x="382.22592" 828 + y="259.52591" 829 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:36.862px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 830 + id="tspan107">...</tspan></text> 831 + <path 832 + style="fill:#de8787;stroke:#000000;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none" 833 + d="M -65.568535,148.88709 H 459.54211" 834 + id="path107" /> 835 + <text 836 + xml:space="preserve" 837 + style="font-style:normal;font-weight:normal;font-size:19.7556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 838 + x="415.21619" 839 + y="166.24187" 840 + id="text108"><tspan 841 + sodipodi:role="line" 842 + x="415.21619" 843 + y="166.24187" 844 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:19.7556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 845 + id="tspan108">Kernel</tspan></text> 846 + <text 847 + xml:space="preserve" 848 + style="font-style:normal;font-weight:normal;font-size:19.7556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 849 + x="414.91986" 850 + y="138.75868" 851 + id="text109"><tspan 852 + sodipodi:role="line" 853 + x="414.91986" 854 + y="138.75868" 855 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:19.7556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 856 + id="tspan109">Userspace</tspan></text> 857 + <text 858 + xml:space="preserve" 859 + style="font-style:normal;font-weight:normal;font-size:11.2889px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 860 + x="-44.396496" 861 + y="199.94142" 862 + id="text110"><tspan 863 + sodipodi:role="line" 864 + x="-44.396496" 865 + y="199.94142" 866 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:11.2889px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 867 + id="tspan110">Kernel</tspan><tspan 868 + sodipodi:role="line" 869 + x="-44.396496" 870 + y="214.05255" 871 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:11.2889px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 872 + id="tspan111">Queue</tspan></text> 873 + <text 874 + xml:space="preserve" 875 + style="font-style:normal;font-weight:normal;font-size:11.2889px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 876 + x="-30.39555" 877 + y="53.215206" 878 + id="text112"><tspan 879 + sodipodi:role="line" 880 + x="-30.39555" 881 + y="53.215206" 882 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:11.2889px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 883 + id="tspan112">Processes</tspan></text> 884 + <rect 885 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:9, 9;stroke-dashoffset:0" 886 + id="rect113" 887 + width="452.2225" 888 + height="75.723717" 889 + x="-60.944237" 890 + y="11.868809" 891 + ry="6.5714021" /> 892 + <circle 893 + style="fill:#ffffff;stroke:#917c6f;stroke-width:1.62704;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0" 894 + id="path111" 895 + cx="47.507706" 896 + cy="49.241512" 897 + r="30.822298" /> 898 + <text 899 + xml:space="preserve" 900 + style="font-style:normal;font-weight:normal;font-size:16.9333px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#917c6f;fill-opacity:1;stroke:none;stroke-width:0.400612" 901 + x="47.50771" 902 + y="55.312099" 903 + id="text113"><tspan 904 + sodipodi:role="line" 905 + x="47.50771" 906 + y="55.312099" 907 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16.9333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#917c6f;stroke-width:0.400612" 908 + id="tspan113">A</tspan></text> 909 + <circle 910 + style="fill:#ffffff;stroke:#ff9955;stroke-width:1.62704;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0" 911 + id="circle112" 912 + cx="176.56291" 913 + cy="49.241512" 914 + r="30.822298" /> 915 + <text 916 + xml:space="preserve" 917 + style="font-style:normal;font-weight:normal;font-size:16.9333px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.400612" 918 + x="176.24965" 919 + y="55.286701" 920 + id="text114"><tspan 921 + sodipodi:role="line" 922 + x="176.24965" 923 + y="55.286701" 924 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16.9333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.400612" 925 + id="tspan114">B</tspan></text> 926 + <circle 927 + style="fill:#ffffff;stroke:#55ddff;stroke-width:1.62704;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0" 928 + id="circle113" 929 + cx="305.61813" 930 + cy="49.241512" 931 + r="30.822298" /> 932 + <text 933 + xml:space="preserve" 934 + style="font-style:normal;font-weight:normal;font-size:16.9333px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#55ddff;fill-opacity:1;stroke:none;stroke-width:0.400612" 935 + x="305.42337" 936 + y="55.286701" 937 + id="text115"><tspan 938 + sodipodi:role="line" 939 + x="305.42337" 940 + y="55.286701" 941 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16.9333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#55ddff;stroke-width:0.400612" 942 + id="tspan115">C</tspan></text> 943 + <rect 944 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:5.99998, 2.99999, 1.5, 2.99999;stroke-dashoffset:0" 945 + id="rect117" 946 + width="515.65753" 947 + height="59.528286" 948 + x="-65.221695" 949 + y="278.51898" 950 + ry="5.1659417" /> 951 + <text 952 + xml:space="preserve" 953 + style="font-style:normal;font-weight:normal;font-size:11.2889px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 954 + x="-44.396496" 955 + y="312.30948" 956 + id="text118"><tspan 957 + sodipodi:role="line" 958 + x="-44.396496" 959 + y="312.30948" 960 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:11.2889px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 961 + id="tspan118">GPU</tspan></text> 962 + <text 963 + xml:space="preserve" 964 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 965 + x="-17.792967" 966 + y="194.41469" 967 + id="text4"><tspan 968 + sodipodi:role="line" 969 + x="-17.792967" 970 + y="194.41469" 971 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.400612" 972 + id="tspan4">wptr</tspan></text> 973 + <text 974 + xml:space="preserve" 975 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 976 + x="36.248669" 977 + y="163.10979" 978 + id="text5"><tspan 979 + sodipodi:role="line" 980 + x="36.248669" 981 + y="163.10979" 982 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#00ff00;stroke-width:0.400612" 983 + id="tspan5">rptr</tspan></text> 984 + <text 985 + xml:space="preserve" 986 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ac9d93;fill-opacity:1;stroke:none;stroke-width:0.400612" 987 + x="28.952087" 988 + y="182.41843" 989 + id="text6"><tspan 990 + sodipodi:role="line" 991 + x="28.952087" 992 + y="182.41843" 993 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ac9d93;stroke-width:0.400612" 994 + id="tspan6">A</tspan></text> 995 + <text 996 + xml:space="preserve" 997 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ac9d93;fill-opacity:1;stroke:none;stroke-width:0.400612" 998 + x="37.832031" 999 + y="186.1924" 1000 + id="text7"><tspan 1001 + sodipodi:role="line" 1002 + x="37.832031" 1003 + y="186.1924" 1004 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ac9d93;stroke-width:0.400612" 1005 + id="tspan7">A</tspan></text> 1006 + <text 1007 + xml:space="preserve" 1008 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ac9d93;fill-opacity:1;stroke:none;stroke-width:0.400612" 1009 + x="37.98003" 1010 + y="216.31021" 1011 + id="text8"><tspan 1012 + sodipodi:role="line" 1013 + x="37.98003" 1014 + y="216.31021" 1015 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ac9d93;stroke-width:0.400612" 1016 + id="tspan8">A</tspan></text> 1017 + <text 1018 + xml:space="preserve" 1019 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ac9d93;fill-opacity:1;stroke:none;stroke-width:0.400612" 1020 + x="8.1582127" 1021 + y="208.54025" 1022 + id="text9"><tspan 1023 + sodipodi:role="line" 1024 + x="8.1582127" 1025 + y="208.54025" 1026 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ac9d93;stroke-width:0.400612" 1027 + id="tspan9">A</tspan></text> 1028 + <text 1029 + xml:space="preserve" 1030 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ac9d93;fill-opacity:1;stroke:none;stroke-width:0.400612" 1031 + x="114.03775" 1032 + y="196.40289" 1033 + id="text10"><tspan 1034 + sodipodi:role="line" 1035 + x="114.03775" 1036 + y="196.40289" 1037 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ac9d93;stroke-width:0.400612" 1038 + id="tspan10">A</tspan></text> 1039 + <text 1040 + xml:space="preserve" 1041 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ac9d93;fill-opacity:1;stroke:none;stroke-width:0.400612" 1042 + x="366.5202" 1043 + y="220.80096" 1044 + id="text11"><tspan 1045 + sodipodi:role="line" 1046 + x="366.5202" 1047 + y="220.80096" 1048 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ac9d93;stroke-width:0.400612" 1049 + id="tspan11">A</tspan></text> 1050 + <text 1051 + xml:space="preserve" 1052 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.400612" 1053 + x="95.389114" 1054 + y="196.60231" 1055 + id="text12"><tspan 1056 + sodipodi:role="line" 1057 + x="95.389114" 1058 + y="196.60231" 1059 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.400612" 1060 + id="tspan12">B</tspan></text> 1061 + <text 1062 + xml:space="preserve" 1063 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.400612" 1064 + x="171.62987" 1065 + y="186.67509" 1066 + id="text13"><tspan 1067 + sodipodi:role="line" 1068 + x="171.62987" 1069 + y="186.67509" 1070 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.400612" 1071 + id="tspan13">B</tspan></text> 1072 + <text 1073 + xml:space="preserve" 1074 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.400612" 1075 + x="358.23288" 1076 + y="220.44789" 1077 + id="text14"><tspan 1078 + sodipodi:role="line" 1079 + x="358.23288" 1080 + y="220.44789" 1081 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.400612" 1082 + id="tspan14">B</tspan></text> 1083 + <text 1084 + xml:space="preserve" 1085 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#55ddff;fill-opacity:1;stroke:none;stroke-width:0.400612" 1086 + x="94.24794" 1087 + y="208.68309" 1088 + id="text15"><tspan 1089 + sodipodi:role="line" 1090 + x="94.24794" 1091 + y="208.68309" 1092 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#55ddff;stroke-width:0.400612" 1093 + id="tspan15">C</tspan></text> 1094 + <text 1095 + xml:space="preserve" 1096 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#55ddff;fill-opacity:1;stroke:none;stroke-width:0.400612" 1097 + x="43.869183" 1098 + y="196.65234" 1099 + id="text16"><tspan 1100 + sodipodi:role="line" 1101 + x="43.869183" 1102 + y="196.65234" 1103 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#55ddff;stroke-width:0.400612" 1104 + id="tspan16">C</tspan></text> 1105 + <text 1106 + xml:space="preserve" 1107 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#00ccff;fill-opacity:1;stroke:none;stroke-width:0.400612" 1108 + x="188.07849" 1109 + y="181.51845" 1110 + id="text17"><tspan 1111 + sodipodi:role="line" 1112 + x="188.07849" 1113 + y="181.51845" 1114 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#00ccff;stroke-width:0.400612" 1115 + id="tspan17"><tspan 1116 + style="font-size:4.93889px;fill:#00ccff" 1117 + id="tspan26">IB</tspan><tspan 1118 + style="font-size:3.52778px;baseline-shift:sub;fill:#00ccff" 1119 + id="tspan25">c</tspan></tspan></text> 1120 + <text 1121 + xml:space="preserve" 1122 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#55ddff;fill-opacity:1;stroke:none;stroke-width:0.400612" 1123 + x="349.12769" 1124 + y="216.0551" 1125 + id="text18"><tspan 1126 + sodipodi:role="line" 1127 + x="349.12769" 1128 + y="216.0551" 1129 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#55ddff;stroke-width:0.400612" 1130 + id="tspan18">C</tspan></text> 1131 + <text 1132 + xml:space="preserve" 1133 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.400612" 1134 + x="43.394695" 1135 + y="208.58258" 1136 + id="text19"><tspan 1137 + sodipodi:role="line" 1138 + x="43.394695" 1139 + y="208.58258" 1140 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.400612" 1141 + id="tspan19">B</tspan></text> 1142 + <text 1143 + xml:space="preserve" 1144 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.400612" 1145 + x="29.580742" 1146 + y="220.72212" 1147 + id="text20"><tspan 1148 + sodipodi:role="line" 1149 + x="29.580742" 1150 + y="220.72212" 1151 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.400612" 1152 + id="tspan20">B</tspan></text> 1153 + <text 1154 + xml:space="preserve" 1155 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.400612" 1156 + x="13.045858" 1157 + y="216.32677" 1158 + id="text21"><tspan 1159 + sodipodi:role="line" 1160 + x="13.045858" 1161 + y="216.32677" 1162 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.400612" 1163 + id="tspan21">B</tspan></text> 1164 + <text 1165 + xml:space="preserve" 1166 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#55ddff;fill-opacity:1;stroke:none;stroke-width:0.400612" 1167 + x="21.055231" 1168 + y="220.72211" 1169 + id="text22"><tspan 1170 + sodipodi:role="line" 1171 + x="21.055231" 1172 + y="220.72211" 1173 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#55ddff;stroke-width:0.400612" 1174 + id="tspan22">C</tspan></text> 1175 + <text 1176 + xml:space="preserve" 1177 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#55ddff;fill-opacity:1;stroke:none;stroke-width:0.400612" 1178 + x="179.01208" 1179 + y="182.54855" 1180 + id="text23"><tspan 1181 + sodipodi:role="line" 1182 + x="179.01208" 1183 + y="182.54855" 1184 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#55ddff;stroke-width:0.400612" 1185 + id="tspan23">C</tspan></text> 1186 + <text 1187 + xml:space="preserve" 1188 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.400612" 1189 + x="88.379082" 1190 + y="185.52925" 1191 + id="text24"><tspan 1192 + sodipodi:role="line" 1193 + x="88.379082" 1194 + y="185.52925" 1195 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.400612" 1196 + id="tspan24"><tspan 1197 + style="font-size:4.93889px;fill:#ff9955" 1198 + id="tspan28">IB</tspan><tspan 1199 + style="font-size:3.52778px;baseline-shift:sub;fill:#ff9955" 1200 + id="tspan27">b</tspan></tspan></text> 1201 + <text 1202 + xml:space="preserve" 1203 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1204 + x="97.027405" 1205 + y="163.10979" 1206 + id="text29"><tspan 1207 + sodipodi:role="line" 1208 + x="97.027405" 1209 + y="163.10979" 1210 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#00ff00;stroke-width:0.400612" 1211 + id="tspan29">rptr</tspan></text> 1212 + <text 1213 + xml:space="preserve" 1214 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1215 + x="102.24193" 1216 + y="229.5128" 1217 + id="text30"><tspan 1218 + sodipodi:role="line" 1219 + x="102.24193" 1220 + y="229.5128" 1221 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.400612" 1222 + id="tspan30">wptr</tspan></text> 1223 + <text 1224 + xml:space="preserve" 1225 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1226 + x="116.89307" 1227 + y="163.58255" 1228 + id="text31"><tspan 1229 + sodipodi:role="line" 1230 + x="116.89307" 1231 + y="163.58255" 1232 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.400612" 1233 + id="tspan31">wptr</tspan></text> 1234 + <text 1235 + xml:space="preserve" 1236 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1237 + x="104.55666" 1238 + y="178.91209" 1239 + id="text32"><tspan 1240 + sodipodi:role="line" 1241 + x="104.55666" 1242 + y="178.91209" 1243 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#00ff00;stroke-width:0.400612" 1244 + id="tspan32">rptr</tspan></text> 1245 + <text 1246 + xml:space="preserve" 1247 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1248 + x="169.33571" 1249 + y="163.10979" 1250 + id="text33"><tspan 1251 + sodipodi:role="line" 1252 + x="169.33571" 1253 + y="163.10979" 1254 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#00ff00;stroke-width:0.400612" 1255 + id="tspan33">rptr</tspan></text> 1256 + <text 1257 + xml:space="preserve" 1258 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1259 + x="198.10239" 1260 + y="164.21048" 1261 + id="text34"><tspan 1262 + sodipodi:role="line" 1263 + x="198.10239" 1264 + y="164.21048" 1265 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.400612" 1266 + id="tspan34">wptr</tspan></text> 1267 + <text 1268 + xml:space="preserve" 1269 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1270 + x="321.48608" 1271 + y="209.17052" 1272 + id="text35"><tspan 1273 + sodipodi:role="line" 1274 + x="321.48608" 1275 + y="209.17052" 1276 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff0000;stroke-width:0.400612" 1277 + id="tspan35">wptr</tspan></text> 1278 + <text 1279 + xml:space="preserve" 1280 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1281 + x="381.35901" 1282 + y="239.92375" 1283 + id="text36"><tspan 1284 + sodipodi:role="line" 1285 + x="381.35901" 1286 + y="239.92375" 1287 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#00ff00;stroke-width:0.400612" 1288 + id="tspan36">rptr</tspan></text> 1289 + <path 1290 + style="fill:#00ff00;stroke:#00ff00;stroke-width:1;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWide)" 1291 + d="m 35.624746,164.89008 -2.762741,10.3107" 1292 + id="path80" /> 1293 + <path 1294 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWide)" 1295 + d="m -8.7253214,192.92597 h 10.67442" 1296 + id="path95" /> 1297 + <path 1298 + style="fill:#00ff00;stroke:#00ff00;stroke-width:1;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWide)" 1299 + d="M 96.12886,165.61875 92.526458,179.0631" 1300 + id="path96" 1301 + sodipodi:nodetypes="cc" /> 1302 + <path 1303 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWide)" 1304 + d="m 99.252771,223.75691 -6.710739,-5.14099" 1305 + id="path106" 1306 + sodipodi:nodetypes="cc" /> 1307 + <path 1308 + style="fill:none;stroke:#00ff00;stroke-width:1;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWide)" 1309 + d="m 104.23449,180.8622 v 13.29071 h 4.91861" 1310 + id="path108" 1311 + sodipodi:nodetypes="ccc" /> 1312 + <path 1313 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWide)" 1314 + d="m 117.92183,166.63928 v 12.97675" 1315 + id="path109" 1316 + sodipodi:nodetypes="cc" /> 1317 + <path 1318 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWide)" 1319 + d="m 198.50323,166.63928 v 12.97675" 1320 + id="path110" 1321 + sodipodi:nodetypes="cc" /> 1322 + <path 1323 + style="fill:#00ff00;stroke:#00ff00;stroke-width:1;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWide)" 1324 + d="m 169.22285,165.37383 v 13.91861" 1325 + id="path112" 1326 + sodipodi:nodetypes="cc" /> 1327 + <path 1328 + style="fill:#00ff00;stroke:#00ff00;stroke-width:1;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWide)" 1329 + d="m 379.21241,233.73729 -9.84194,-9.84195" 1330 + id="path113" 1331 + sodipodi:nodetypes="cc" /> 1332 + <path 1333 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWide)" 1334 + d="M 330.44909,207.68179 H 340.077" 1335 + id="path114" 1336 + sodipodi:nodetypes="cc" /> 1337 + <g 1338 + id="g127" 1339 + transform="translate(-243.31051,23.087859)"> 1340 + <text 1341 + xml:space="preserve" 1342 + style="font-style:normal;font-weight:normal;font-size:7.76111px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1343 + x="135.71123" 1344 + y="112.41485" 1345 + id="text116"><tspan 1346 + sodipodi:role="line" 1347 + x="135.71123" 1348 + y="112.41485" 1349 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.76111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1350 + id="tspan116">PM4<tspan 1351 + style="font-size:65%;baseline-shift:sub" 1352 + id="tspan117">1</tspan></tspan></text> 1353 + <text 1354 + xml:space="preserve" 1355 + style="font-style:normal;font-weight:normal;font-size:7.76111px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1356 + x="135.39342" 1357 + y="122.44057" 1358 + id="text120"><tspan 1359 + sodipodi:role="line" 1360 + x="135.39342" 1361 + y="122.44057" 1362 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.76111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1363 + id="tspan120">PM4<tspan 1364 + style="font-size:65%;baseline-shift:sub" 1365 + id="tspan123">2</tspan></tspan></text> 1366 + <text 1367 + xml:space="preserve" 1368 + style="font-style:normal;font-weight:normal;font-size:7.76111px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1369 + x="135.49934" 1370 + y="136.68669" 1371 + id="text122"><tspan 1372 + sodipodi:role="line" 1373 + x="135.49934" 1374 + y="136.68669" 1375 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.76111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1376 + id="tspan122">PM4<tspan 1377 + style="font-size:65%;baseline-shift:sub" 1378 + id="tspan124">n</tspan></tspan></text> 1379 + <text 1380 + xml:space="preserve" 1381 + style="font-style:normal;font-weight:normal;font-size:7.76111px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1382 + x="135.65942" 1383 + y="128.1123" 1384 + id="text126"><tspan 1385 + sodipodi:role="line" 1386 + x="135.65942" 1387 + y="128.1123" 1388 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.76111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1389 + id="tspan126">...</tspan></text> 1390 + <path 1391 + style="fill:none;stroke:#0000ff;stroke-width:2;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 1392 + d="m 126.12628,103.17346 h -5.32796 v 38.77576 h 5.32796" 1393 + id="path126" 1394 + sodipodi:nodetypes="cccc" /> 1395 + <path 1396 + style="fill:none;stroke:#0000ff;stroke-width:2;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 1397 + d="m 143.29418,103.17346 h 5.32796 v 38.77576 h -5.32796" 1398 + id="path127" 1399 + sodipodi:nodetypes="cccc" /> 1400 + </g> 1401 + <text 1402 + xml:space="preserve" 1403 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.400612" 1404 + x="-7.0803289" 1405 + y="244.43291" 1406 + id="text129"><tspan 1407 + sodipodi:role="line" 1408 + x="-7.0803289" 1409 + y="244.43291" 1410 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ff9955;stroke-width:0.400612" 1411 + id="tspan129"><tspan 1412 + style="font-size:7.05556px;fill:#ff9955" 1413 + id="tspan127">IB</tspan><tspan 1414 + style="font-size:3.52778px;baseline-shift:sub;fill:#ff9955" 1415 + id="tspan128">b</tspan></tspan></text> 1416 + <g 1417 + id="g130" 1418 + transform="translate(-0.5919954,-90.131448)"> 1419 + <rect 1420 + style="fill:#ffff00;stroke:#ffff00;stroke-width:0.743523;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0" 1421 + id="rect130" 1422 + width="16.584557" 1423 + height="11.616416" 1424 + x="-21.840757" 1425 + y="358.62256" 1426 + ry="0" /> 1427 + <text 1428 + xml:space="preserve" 1429 + style="font-style:normal;font-weight:normal;font-size:9.87778px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1430 + x="-13.612684" 1431 + y="367.95712" 1432 + id="text130"><tspan 1433 + sodipodi:role="line" 1434 + x="-13.612684" 1435 + y="367.95712" 1436 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1437 + id="tspan130">CP</tspan></text> 1438 + </g> 1439 + <path 1440 + style="fill:none;stroke:#00d4aa;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#marker132);marker-end:url(#Diamond)" 1441 + d="M -13.431733,265.14038 V 238.02343 H 76.45484" 1442 + id="path130" 1443 + sodipodi:nodetypes="ccc" /> 1444 + <path 1445 + style="fill:none;stroke:#00d4aa;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#marker132);marker-end:url(#Diamond)" 1446 + d="m -108.62977,169.16297 v 103.37737 h 82.669238" 1447 + id="path133" 1448 + sodipodi:nodetypes="ccc" /> 1449 + <path 1450 + style="fill:none;stroke:#ff0000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#ArrowTriangleStylized)" 1451 + d="M -107.14978,120.98926 V -2.5159921 H 176.92597 V 16.131894" 1452 + id="path134" 1453 + sodipodi:nodetypes="cccc" /> 1454 + <text 1455 + xml:space="preserve" 1456 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1457 + x="25.324078" 1458 + y="197.77319" 1459 + id="text136"><tspan 1460 + sodipodi:role="line" 1461 + x="25.324078" 1462 + y="197.77319" 1463 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1464 + id="tspan136">Ring</tspan><tspan 1465 + sodipodi:role="line" 1466 + x="25.324078" 1467 + y="205.71069" 1468 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1469 + id="tspan137">Buffer</tspan></text> 1470 + <text 1471 + xml:space="preserve" 1472 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1473 + x="76.235764" 1474 + y="197.77319" 1475 + id="text139"><tspan 1476 + sodipodi:role="line" 1477 + x="76.235764" 1478 + y="197.77319" 1479 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1480 + id="tspan138">Ring</tspan><tspan 1481 + sodipodi:role="line" 1482 + x="76.235764" 1483 + y="205.71069" 1484 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1485 + id="tspan139">Buffer</tspan></text> 1486 + <text 1487 + xml:space="preserve" 1488 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1489 + x="132.68411" 1490 + y="197.77319" 1491 + id="text141"><tspan 1492 + sodipodi:role="line" 1493 + x="132.68411" 1494 + y="197.77319" 1495 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1496 + id="tspan140">Ring</tspan><tspan 1497 + sodipodi:role="line" 1498 + x="132.68411" 1499 + y="205.71069" 1500 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1501 + id="tspan141">Buffer</tspan></text> 1502 + <text 1503 + xml:space="preserve" 1504 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1505 + x="184.18781" 1506 + y="197.77319" 1507 + id="text143"><tspan 1508 + sodipodi:role="line" 1509 + x="184.18781" 1510 + y="197.77319" 1511 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1512 + id="tspan142">Ring</tspan><tspan 1513 + sodipodi:role="line" 1514 + x="184.18781" 1515 + y="205.71069" 1516 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1517 + id="tspan143">Buffer</tspan></text> 1518 + <text 1519 + xml:space="preserve" 1520 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1521 + x="235.43346" 1522 + y="197.77319" 1523 + id="text147"><tspan 1524 + sodipodi:role="line" 1525 + x="235.43346" 1526 + y="197.77319" 1527 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1528 + id="tspan146">Ring</tspan><tspan 1529 + sodipodi:role="line" 1530 + x="235.43346" 1531 + y="205.71069" 1532 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1533 + id="tspan147">Buffer</tspan></text> 1534 + <text 1535 + xml:space="preserve" 1536 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1537 + x="286.69049" 1538 + y="197.77319" 1539 + id="text149"><tspan 1540 + sodipodi:role="line" 1541 + x="286.69049" 1542 + y="197.77319" 1543 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1544 + id="tspan148">Ring</tspan><tspan 1545 + sodipodi:role="line" 1546 + x="286.69049" 1547 + y="205.71069" 1548 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1549 + id="tspan149">Buffer</tspan></text> 1550 + <text 1551 + xml:space="preserve" 1552 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1553 + x="362.16714" 1554 + y="197.77319" 1555 + id="text151"><tspan 1556 + sodipodi:role="line" 1557 + x="362.16714" 1558 + y="197.77319" 1559 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1560 + id="tspan150">Ring</tspan><tspan 1561 + sodipodi:role="line" 1562 + x="362.16714" 1563 + y="205.71069" 1564 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1565 + id="tspan151">Buffer</tspan></text> 1566 + <path 1567 + style="fill:none;stroke:#917c6f;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#marker154)" 1568 + d="M 134.065,175.23092 V 125.06784 H 47.638527 V 89.317459" 1569 + id="path158" 1570 + sodipodi:nodetypes="cccc" /> 1571 + <path 1572 + style="fill:none;stroke:#917c6f;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#marker154)" 1573 + d="M 365.79312,175.67492 V 125.06784 H 47.447018 V 81.621506" 1574 + id="path159" 1575 + sodipodi:nodetypes="cccc" /> 1576 + <text 1577 + xml:space="preserve" 1578 + style="font-style:normal;font-weight:normal;font-size:7.76111px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.400612" 1579 + x="-68.488571" 1580 + y="250.37801" 1581 + id="text159"><tspan 1582 + sodipodi:role="line" 1583 + x="-68.488571" 1584 + y="250.37801" 1585 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.76111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1586 + id="tspan159">CP is capable of</tspan><tspan 1587 + sodipodi:role="line" 1588 + x="-68.488571" 1589 + y="260.07941" 1590 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.76111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1591 + id="tspan160">following the</tspan><tspan 1592 + sodipodi:role="line" 1593 + x="-68.488571" 1594 + y="269.78079" 1595 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.76111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#1c241c;stroke-width:0.400612" 1596 + id="tspan161">IB address.</tspan></text> 1597 + <path 1598 + style="fill:none;stroke:#ff9955;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#marker154)" 1599 + d="M 38.977794,178.16115 V 132.60272 H 177.31847 V 80.437513" 1600 + id="path161" 1601 + sodipodi:nodetypes="cccc" /> 1602 + <path 1603 + style="fill:none;stroke:#ff9955;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#marker154)" 1604 + d="M 76.233608,174.60301 V 132.60272 H 177.31847 V 80.733511" 1605 + id="path162" 1606 + sodipodi:nodetypes="cccc" /> 1607 + <path 1608 + style="fill:none;stroke:#ff9955;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#marker154)" 1609 + d="m 185.48942,174.60301 v -42.00029 h -8.17095 V 81.325508" 1610 + id="path163" 1611 + sodipodi:nodetypes="cccc" /> 1612 + <path 1613 + style="fill:none;stroke:#ff9955;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#marker154)" 1614 + d="M 353.76849,176.69603 V 132.60272 H 177.31847 V 82.657499" 1615 + id="path164" 1616 + sodipodi:nodetypes="cccc" /> 1617 + <path 1618 + style="fill:none;stroke:#55ddff;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#marker154)" 1619 + d="M 178.37314,176.69603 V 138.67068 H 307.08591 V 81.769505" 1620 + id="path165" 1621 + sodipodi:nodetypes="cccc" /> 1622 + <path 1623 + style="fill:none;stroke:#55ddff;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#marker154)" 1624 + d="M 84.837713,176.69603 V 138.67068 H 307.08591 V 81.769505" 1625 + id="path166" 1626 + sodipodi:nodetypes="cccc" /> 1627 + <path 1628 + style="fill:none;stroke:#55ddff;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;marker-start:url(#marker154)" 1629 + d="m 346.50011,180.10001 v -41.42933 h -39.4142 V 81.769505" 1630 + id="path167" 1631 + sodipodi:nodetypes="cccc" /> 1632 + </g> 1633 + </svg>
+2
Documentation/gpu/amdgpu/userq.rst
··· 1 + .. _amdgpu-userq: 2 + 1 3 ================== 2 4 User Mode Queues 3 5 ==================