Reorganizing docs runner and setting archive subdir for old docs
Signed-off-by: coleramos425 <colramos@amd.com>
[ROCm/rocprofiler-compute commit: aac471c0fa]
No files matched your search
@@ -0,0 +1,5 @@
|
||||
/build*
|
||||
/_build
|
||||
/_doxygen
|
||||
/.gitinfo
|
||||
/omniperf.dox
|
||||
@@ -0,0 +1,20 @@
|
||||
# Minimal makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
# You can set these variables from the command line, and also
|
||||
# from the environment for the first two.
|
||||
SPHINXOPTS ?=
|
||||
SPHINXBUILD ?= sphinx-build
|
||||
SOURCEDIR = .
|
||||
BUILDDIR = _build
|
||||
|
||||
# Put it first so that "make" without argument is like "make help".
|
||||
help:
|
||||
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||
|
||||
.PHONY: help Makefile
|
||||
|
||||
# Catch-all target: route all unknown targets to Sphinx using the new
|
||||
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
||||
%: Makefile
|
||||
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||
@@ -0,0 +1,6 @@
|
||||
This subdirectory houses the input markup for Omniperf documentation using
|
||||
Sphinx. Changes committed here on the main branch will automatically be built
|
||||
and pushed live using a Github action.
|
||||
|
||||
You can build a local copy of the documentation in this directory using
|
||||
"make html" assuming you have the necessary sphinx dependencies installed.
|
||||
@@ -0,0 +1,7 @@
|
||||
.noscroll-table td {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.wy-nav-content {
|
||||
max-width: 75% !important;
|
||||
}
|
||||
@@ -0,0 +1,199 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Configuration file for the Sphinx documentation builder.
|
||||
#
|
||||
# This file does only contain a selection of the most common options. For a
|
||||
# full list see the documentation:
|
||||
# http://www.sphinx-doc.org/en/master/config
|
||||
|
||||
# -- Path setup --------------------------------------------------------------
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#
|
||||
import os
|
||||
import sys
|
||||
import subprocess as sp
|
||||
|
||||
sys.path.insert(0, os.path.abspath(".."))
|
||||
|
||||
repo_version = "unknown"
|
||||
# Determine short version by file in repo
|
||||
if os.path.isfile("../../VERSION"):
|
||||
with open("../../VERSION") as f:
|
||||
repo_version = f.readline().strip()
|
||||
|
||||
|
||||
def install(package):
|
||||
sp.call([sys.executable, "-m", "pip", "install", package])
|
||||
|
||||
|
||||
# -- Project information -----------------------------------------------------
|
||||
|
||||
project = "Omniperf"
|
||||
copyright = "2023-2024, Advanced Micro Devices, Inc. All Rights Reserved"
|
||||
author = "AMD Research"
|
||||
|
||||
# The short X.Y version
|
||||
version = repo_version
|
||||
# The full version, including alpha/beta/rc tags
|
||||
release = repo_version
|
||||
|
||||
# -- General configuration ---------------------------------------------------
|
||||
|
||||
install("sphinx_rtd_theme")
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be
|
||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||
# ones.
|
||||
extensions = [
|
||||
"sphinx.ext.githubpages",
|
||||
"myst_parser",
|
||||
"sphinxmark",
|
||||
]
|
||||
|
||||
show_authors = True
|
||||
|
||||
|
||||
myst_heading_anchors = 4
|
||||
# enable replacement of (tm) & friends
|
||||
myst_enable_extensions = ["replacements", "dollarmath"]
|
||||
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ["_templates"]
|
||||
|
||||
# The suffix(es) of source filenames.
|
||||
# You can specify multiple suffix as a list of string:
|
||||
source_suffix = {
|
||||
".rst": "restructuredtext",
|
||||
".txt": "markdown",
|
||||
".md": "markdown",
|
||||
}
|
||||
|
||||
# sphinxmark_enable = True
|
||||
# sphinxmark_image = "text"
|
||||
# sphinxmark_text = "Release Candidate"
|
||||
# sphinxmark_text_size = 80
|
||||
# sphinxmark_div = "document"
|
||||
# sphinxmark_fixed = False
|
||||
# sphinxmark_text_rotation = 30
|
||||
# sphinxmark_text_color = (128, 128, 128)
|
||||
# sphinxmark_text_spacing = 800
|
||||
# sphinxmark_text_opacity = 30
|
||||
|
||||
from recommonmark.parser import CommonMarkParser
|
||||
|
||||
source_parsers = {".md": CommonMarkParser}
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = "index"
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
#
|
||||
# This is also used if you do content translation via gettext catalogs.
|
||||
# Usually you set "language" from the command line for these cases.
|
||||
language = "en"
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
# This pattern also affects html_static_path and html_extra_path.
|
||||
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = None
|
||||
|
||||
# options for latex output
|
||||
latex_engine = "lualatex"
|
||||
latex_show_urls = "footnote"
|
||||
|
||||
|
||||
# -- Options for HTML output -------------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
#
|
||||
html_theme = "sphinx_rtd_theme"
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#
|
||||
# html_theme_options = {}
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
html_static_path = ["_static"]
|
||||
|
||||
latex_elements = {
|
||||
"sphinxsetup": "verbatimwrapslines=true, verbatimforcewraps=true",
|
||||
}
|
||||
|
||||
|
||||
# -- Options for HTMLHelp output ---------------------------------------------
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = "Omniperfdoc"
|
||||
|
||||
html_logo = "images/amd-header-logo.svg"
|
||||
html_theme_options = {
|
||||
"analytics_id": "G-C5DYLCE9ED", # Provided by Google in your dashboard
|
||||
"analytics_anonymize_ip": False,
|
||||
"logo_only": False,
|
||||
"display_version": True,
|
||||
"prev_next_buttons_location": "bottom",
|
||||
"style_external_links": False,
|
||||
"vcs_pageview_mode": "",
|
||||
# 'style_nav_header_background': 'white',
|
||||
# Toc options
|
||||
"collapse_navigation": True,
|
||||
"sticky_navigation": True,
|
||||
"navigation_depth": 5,
|
||||
"includehidden": True,
|
||||
"titles_only": False,
|
||||
}
|
||||
|
||||
from pygments.styles import get_all_styles
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
styles = list(get_all_styles())
|
||||
preferences = ("emacs", "pastie", "colorful")
|
||||
for pref in preferences:
|
||||
if pref in styles:
|
||||
pygments_style = pref
|
||||
break
|
||||
|
||||
from recommonmark.transform import AutoStructify
|
||||
|
||||
|
||||
# app setup hook
|
||||
def setup(app):
|
||||
app.add_config_value(
|
||||
"recommonmark_config",
|
||||
{
|
||||
"auto_toc_tree_section": "Contents",
|
||||
"enable_eval_rst": True,
|
||||
"enable_auto_doc_ref": False,
|
||||
},
|
||||
True,
|
||||
)
|
||||
app.add_transform(AutoStructify)
|
||||
app.add_config_value("docstring_replacements", {}, True)
|
||||
app.connect("source-read", replaceString)
|
||||
app.add_css_file("css/custom.css")
|
||||
|
||||
|
||||
# function to replace version string througout documentation
|
||||
|
||||
|
||||
def replaceString(app, docname, source):
|
||||
result = source[0]
|
||||
for key in app.config.docstring_replacements:
|
||||
result = result.replace(key, app.config.docstring_replacements[key])
|
||||
source[0] = result
|
||||
|
||||
|
||||
docstring_replacements = {"{__VERSION__}": version}
|
||||
@@ -0,0 +1,67 @@
|
||||
# FAQ
|
||||
|
||||
```eval_rst
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 4
|
||||
```
|
||||
|
||||
**1. How do I export profiling data I have already generated using Omniperf?**
|
||||
|
||||
In order to interact with the Grafana GUI you must sync data with the MongoDB backend. This interaction is done through ***database*** mode.
|
||||
|
||||
Simply pass the directory of your desired workload like so,
|
||||
```shell
|
||||
$ omniperf database --import -w <path-to-results> -H <hostname> -u <username> -t <team-name>
|
||||
```
|
||||
**2. python ast error: 'Constant' object has no attribute 'kind'**
|
||||
|
||||
This comes from a bug in the default astunparse 1.6.3 with python 3.8. Seems good with python 3.7 and 3.9.
|
||||
|
||||
Workaround:
|
||||
```shell
|
||||
$ pip3 uninstall astunparse
|
||||
$ pip3 astunparse
|
||||
```
|
||||
|
||||
**3. tabulate doesn't print properly**
|
||||
Workaround:
|
||||
```shell
|
||||
$ export LC_ALL=C.UTF-8
|
||||
$ export LANG=C.UTF-8
|
||||
```
|
||||
|
||||
**3. How can I SSH Tunnel in MobaXterm?**
|
||||
|
||||
1. Open MobaXterm
|
||||
2. In the top ribbon, select `Tunneling`
|
||||
``` {image} images/tunnel_demo1.png
|
||||
:alt: MobaXterm Tunnel Button
|
||||
:class: bg-primary
|
||||
:align: center
|
||||
```
|
||||
This pop up will appear
|
||||
``` {image} images/tunnel_demo2.png
|
||||
:alt: MobaXterm Pop Up
|
||||
:class: bg-primary
|
||||
:align: center
|
||||
```
|
||||
3. Press `New SSH tunnel`
|
||||
``` {image} images/tunnel_demo3.png
|
||||
:alt: MobaXterm Pop Up
|
||||
:class: bg-primary
|
||||
:align: center
|
||||
```
|
||||
4. Configure tunnel accordingly
|
||||
|
||||
Local clients
|
||||
- Forwarded Port: [PORT]
|
||||
|
||||
Remote Server
|
||||
- Remote Server: localhost
|
||||
- Remote Port: [PORT]
|
||||
|
||||
SSH Server
|
||||
- SSH server: Name of the server one is connecting to
|
||||
- SSH login: Username to login to the server
|
||||
- SSH port: 22
|
||||
@@ -0,0 +1,112 @@
|
||||
# Getting Started
|
||||
|
||||
```eval_rst
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 4
|
||||
```
|
||||
|
||||
## Quickstart
|
||||
|
||||
1. **Launch & Profile the target application with the command line profiler**
|
||||
|
||||
The command line profiler launches the target application, calls the rocProfiler API via the rocProf binary, and collects profile results for the specified kernels, dispatches, and/or hardware components. If not specified, Omniperf will default to collecting all available counters for all kernels/dispatches launched by the user's executable.
|
||||
|
||||
To collect the default set of data for all kernels in the target application, launch, e.g.:
|
||||
```shell
|
||||
$ omniperf profile -n vcopy_data -- ./vcopy -n 1048576 -b 256
|
||||
```
|
||||
The app runs, each kernel is launched, and profiling results are generated. By default, results are written to a subdirectory with your accelerator's name e.g., ./workloads/vcopy_data/MI200/ (where name is configurable via the `-n` argument).
|
||||
|
||||
```{note}
|
||||
To collect all requested profile information, it may be required to replay kernels multiple times.
|
||||
```
|
||||
|
||||
2. **Customize data collection**
|
||||
|
||||
Options are available to specify for which kernels/metrics data should be collected.
|
||||
Note that filtering can be applied either in the profiling or analysis stage, however filtering at during profiling collection will often speed up your overall profiling run time.
|
||||
|
||||
Some common filters include:
|
||||
|
||||
- `-k`/`--kernel` enables filtering kernels by name.
|
||||
- `-d`/`--dispatch` enables filtering based on dispatch ID.
|
||||
- `-b`/`--block` enables collects metrics for only the specified (one or more) hardware component blocks.
|
||||
|
||||
To view available metrics by hardware Block you can use the `--list-metrics` argument:
|
||||
```shell
|
||||
$ omniperf analyze --list-metrics <sys_arch>
|
||||
```
|
||||
|
||||
3. **Analyze at the command line**
|
||||
|
||||
After generating a local output folder (e.g. ./workloads/vcopy_data/MI200), the command line tool can also be used to quickly interface with profiling results. View different metrics derived from your profiled results and get immediate access all metrics organized by hardware blocks.
|
||||
|
||||
If no kernel, dispatch, or hardware block filters are applied at this stage, analysis will be reflective of the entirety of the profiling data.
|
||||
|
||||
To interact with profiling results from a different session, users just provide the workload path. `-p`/`--path` enables users to analyze existing profiling data in the Omniperf CLI.
|
||||
|
||||
4. **Analyze in the Grafana GUI**
|
||||
|
||||
To conduct a more in-depth analysis of profiling results we recommend users utilize the Omniperf Grafana GUI. To interact with profiling results, users must import their data to the MongoDB instance included in the Omniperf dockerfile.
|
||||
|
||||
To interact with Grafana GUI data, stored in the Omniperf DB, users can enter ***database*** mode. For example:
|
||||
```shell
|
||||
$ omniperf database --import [CONNECTION OPTIONS]
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Modes
|
||||
Modes change the fundamental behavior of the Omniperf command line tool. Depending on which mode is chosen, different command line options become available.
|
||||
|
||||
- **Profile**: Target application is launched on the local system using AMD’s [ROC Profiler](https://github.com/ROCm-Developer-Tools/rocprofiler). Depending on the profiling options chosen, selected kernels, dispatches, and/or hardware components in the application are profiled and results are stored locally in an output folder (./workloads/\<name>).
|
||||
|
||||
```shell
|
||||
$ omniperf profile --help
|
||||
```
|
||||
|
||||
- **Analyze**: Profiling data from `-p`/`--path` directory is loaded into the Omniperf CLI analyzer where users have immediate access to profiling results and generated metrics. Metrics are quickly generated from the entirety of your profiled application or a subset you’ve identified through the Omniperf CLI analysis filters.
|
||||
|
||||
To generate a lightweight GUI interface users can add the `--gui` flag to their analysis command.
|
||||
|
||||
This mode is designed to be a middle ground to the highly detailed Omniperf Grafana GUI and is great for users who want immediate access to a hardware component they’re already familiar with.
|
||||
|
||||
```shell
|
||||
$ omniperf analyze --help
|
||||
```
|
||||
|
||||
- **Database**: Our detailed Grafana GUI is built on a MongoDB database. `--import` profiling results to the DB to interact with the workload in Grafana or `--remove` the workload from the DB.
|
||||
|
||||
Connection options will need to be specified. See the [*Grafana
|
||||
Analysis*](analysis.md#grafana-gui-import) import section
|
||||
for more details on this.
|
||||
|
||||
```shell
|
||||
$ omniperf database --help
|
||||
```
|
||||
### Global Options
|
||||
The Omniperf command line tool has a set of 'global' options that are available across all modes.
|
||||
|
||||
| Argument | Description |
|
||||
| :----------------- | :---------------------------------------------------------------- |
|
||||
| `-v` / `--version` | Print Omniperf version and exit. |
|
||||
| `-V` / `--verbose` | Increase output verbosity (use multiple times for higher levels). |
|
||||
| `-q` / `--quiet` | Reduce output and run quietly. |
|
||||
| `-s` / `--specs` | Print system specs and exit. |
|
||||
|
||||
```{note}
|
||||
Omniperf also recognizes the project variable, `OMNIPERF_COLOR`, should the user choose to disable colorful output. To disable default colorful behavior, set this variable to `0`.
|
||||
```
|
||||
|
||||
|
||||
## Basic Operations
|
||||
|
||||
| Operation | Mode | Required Arguments |
|
||||
| :--------------------------------------- | :------- | :--------------------------------------------------------- |
|
||||
| Profile a workload | profile | `--name`, `-- <profile_cmd>` |
|
||||
| Standalone roofline analysis | profile | `--name`, `--roof-only`, `-- <profile_cmd>` |
|
||||
| Import a workload to database | database | `--import`, `--host`, `--username`, `--workload`, `--team` |
|
||||
| Remove a workload from database | database | `--remove`, `--host`, `--username`, `--workload`, `--team` |
|
||||
| Launch standalone GUI from CLI | analyze | `--path`, `--gui` |
|
||||
| Interact with profiling results from CLI | analyze | `--path` |
|
||||
@@ -0,0 +1,22 @@
|
||||
# High Level Design
|
||||
|
||||
```eval_rst
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 4
|
||||
```
|
||||
|
||||
The [Omniperf](https://github.com/ROCm/omniperf) Tool is architecturally composed of three major components, as shown in the following figure.
|
||||
|
||||
- **Omniperf Profiling**: Acquire raw performance counters via application replay based on [rocProf](https://rocm.docs.amd.com/projects/rocprofiler/en/latest/rocprof.html). The counters are stored in a comma-separated format, for further analysis. A set of MI200 specific micro benchmarks are also run to acquire the hierarchical roofline data. The roofline model is not available on earlier accelerators.
|
||||
|
||||
- **Omniperf Grafana Analyzer**:
|
||||
- *Grafana database import*: All raw performance counters are imported into the backend MongoDB database for Grafana GUI analysis and visualization. Compatibility of previously generated data between Omniperf versions is not necessarily guaranteed.
|
||||
- *Grafana GUI Analyzer*: A Grafana dashboard is designed to retrieve the raw counters info from the backend database. It also creates the relevant performance metrics and visualization.
|
||||
- **Omniperf Standalone GUI Analyzer**: A standalone GUI is provided to enable performance analysis without importing data into the backend database.
|
||||
|
||||

|
||||
|
||||
```{note}
|
||||
To learn more about the client vs. server model of Omniperf and our install process please see the [Deployment section](./installation.md) of the docs.
|
||||
```
|
||||
|
After Width: | Height: | Size: 99 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 99 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 24 KiB |
@@ -0,0 +1 @@
|
||||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 139.72 33.32"><defs><style>.cls-1{fill:#fff;}</style></defs><title>AMD-logo-white-v2</title><path class="cls-1" d="M33,31.14H25.21l-2.37-5.72H9.92L7.76,31.14H.14L11.78,2.26h8.34Zm-16.89-22L11.83,20.39h8.89Z" transform="translate(-0.14 -0.03)"/><path class="cls-1" d="M61.1,2.26h6.27V31.14h-7.2v-18l-7.79,9.06h-1.1L43.49,13.1v18h-7.2V2.26h6.27L51.83,13Z" transform="translate(-0.14 -0.03)"/><path class="cls-1" d="M85.61,2.26c10.54,0,16,6.56,16,14.48,0,8.3-5.25,14.4-16.77,14.4H72.86V2.26ZM80.06,25.85h4.7c7.24,0,9.4-4.91,9.4-9.15,0-5-2.67-9.15-9.48-9.15H80.06Z" transform="translate(-0.14 -0.03)"/><polygon class="cls-1" points="130.64 9.08 115.75 9.08 106.68 0 139.72 0 139.72 33.05 130.64 23.97 130.64 9.08"/><polygon class="cls-1" points="115.74 23.98 115.74 10.9 106.4 20.24 106.4 33.33 119.48 33.33 128.82 23.98 115.74 23.98"/></svg>
|
||||
|
After Width: | Height: | Size: 924 B |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 184 KiB |
|
After Width: | Height: | Size: 30 KiB |
@@ -0,0 +1,899 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="122.17907mm"
|
||||
height="59.61977mm"
|
||||
viewBox="0 0 122.17907 59.61977"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
sodipodi:docname="fabric.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
inkscape:export-filename="/home/nick/Documents/software_repos/omniperf/src/docs/images/fabric.png"
|
||||
inkscape:export-xdpi="180"
|
||||
inkscape:export-ydpi="180"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview142"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="2.8284271"
|
||||
inkscape:cx="251.55324"
|
||||
inkscape:cy="153.61895"
|
||||
inkscape:window-width="2490"
|
||||
inkscape:window-height="1376"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<defs
|
||||
id="defs2">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker10337"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path10335" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Send"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path1319" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path1313" />
|
||||
</marker>
|
||||
<rect
|
||||
x="83.387405"
|
||||
y="34.737923"
|
||||
width="275.12451"
|
||||
height="59.135487"
|
||||
id="rect97993" />
|
||||
<rect
|
||||
x="428.84567"
|
||||
y="387.25235"
|
||||
width="209.04202"
|
||||
height="89.898453"
|
||||
id="rect64747" />
|
||||
<rect
|
||||
x="396.33554"
|
||||
y="373.98026"
|
||||
width="250.97929"
|
||||
height="100.31375"
|
||||
id="rect58746" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path20534" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lstart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(0.8,0,0,0.8,10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path20531" />
|
||||
</marker>
|
||||
<rect
|
||||
x="97.144325"
|
||||
y="226.69614"
|
||||
width="148.65651"
|
||||
height="56.321774"
|
||||
id="rect6328" />
|
||||
<rect
|
||||
x="97.144325"
|
||||
y="226.69614"
|
||||
width="148.65651"
|
||||
height="56.321774"
|
||||
id="rect6328-0" />
|
||||
<rect
|
||||
x="97.144325"
|
||||
y="226.69614"
|
||||
width="148.65651"
|
||||
height="56.321774"
|
||||
id="rect6328-0-6" />
|
||||
<rect
|
||||
x="97.144325"
|
||||
y="226.69614"
|
||||
width="148.65651"
|
||||
height="56.321774"
|
||||
id="rect6328-0-3" />
|
||||
<rect
|
||||
x="97.144325"
|
||||
y="226.69614"
|
||||
width="148.65651"
|
||||
height="56.321774"
|
||||
id="rect6328-0-6-3" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lend-7"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path20534-3" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lend-7-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path20534-3-2" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lend-7-9-7"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path20534-3-2-6" />
|
||||
</marker>
|
||||
<rect
|
||||
x="97.144325"
|
||||
y="226.69614"
|
||||
width="148.65651"
|
||||
height="56.321774"
|
||||
id="rect6328-0-6-3-0" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lend-7-7"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path20534-3-0" />
|
||||
</marker>
|
||||
<rect
|
||||
x="97.144325"
|
||||
y="226.69614"
|
||||
width="148.65651"
|
||||
height="56.321774"
|
||||
id="rect6328-0-6-8" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lend-7-7-2"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path20534-3-0-1" />
|
||||
</marker>
|
||||
<rect
|
||||
x="97.144325"
|
||||
y="226.69614"
|
||||
width="148.65651"
|
||||
height="56.321774"
|
||||
id="rect6328-0-6-8-2" />
|
||||
<rect
|
||||
x="83.387405"
|
||||
y="34.737923"
|
||||
width="275.12451"
|
||||
height="59.135487"
|
||||
id="rect97993-7" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path1313-5" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-3-2"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path1313-5-9" />
|
||||
</marker>
|
||||
<rect
|
||||
x="97.144325"
|
||||
y="226.69614"
|
||||
width="148.65651"
|
||||
height="56.321774"
|
||||
id="rect6328-0-6-8-2-2" />
|
||||
<rect
|
||||
x="83.387405"
|
||||
y="34.737923"
|
||||
width="275.12451"
|
||||
height="59.135487"
|
||||
id="rect97993-7-7" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-36"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path1313-7" />
|
||||
</marker>
|
||||
<rect
|
||||
x="97.144325"
|
||||
y="226.69614"
|
||||
width="148.65651"
|
||||
height="56.321774"
|
||||
id="rect6328-0-6-8-2-2-5" />
|
||||
<rect
|
||||
x="83.387405"
|
||||
y="34.737923"
|
||||
width="275.12451"
|
||||
height="59.135487"
|
||||
id="rect97993-7-7-6" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-36-0"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path1313-7-9" />
|
||||
</marker>
|
||||
<rect
|
||||
x="97.144325"
|
||||
y="226.69614"
|
||||
width="148.65651"
|
||||
height="56.321774"
|
||||
id="rect6328-0-6-8-2-2-5-3" />
|
||||
<rect
|
||||
x="83.387405"
|
||||
y="34.737923"
|
||||
width="275.12451"
|
||||
height="59.135487"
|
||||
id="rect97993-7-7-6-6" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-3-2-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path1313-5-9-2" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-36-0-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path1313-7-9-7" />
|
||||
</marker>
|
||||
<rect
|
||||
x="97.144325"
|
||||
y="226.69614"
|
||||
width="148.65651"
|
||||
height="56.321774"
|
||||
id="rect6328-0-6-8-2-2-5-3-3" />
|
||||
<rect
|
||||
x="97.144325"
|
||||
y="226.69614"
|
||||
width="148.65651"
|
||||
height="56.321774"
|
||||
id="rect6328-0-6-8-2-2-5-3-3-6" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-36-0-2"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path1313-7-9-70" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-36-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path1313-7-6" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-367"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path1313-53" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-6"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path1313-2" />
|
||||
</marker>
|
||||
<rect
|
||||
x="97.144325"
|
||||
y="226.69614"
|
||||
width="148.65651"
|
||||
height="56.321774"
|
||||
id="rect6328-0-6-8-2-2-5-3-6" />
|
||||
<rect
|
||||
x="97.144325"
|
||||
y="226.69614"
|
||||
width="148.65651"
|
||||
height="56.321774"
|
||||
id="rect6328-0-6-8-2-2-5-3-3-1" />
|
||||
</defs>
|
||||
<g
|
||||
id="layer1"
|
||||
transform="translate(-3.1044175,-14.33817)">
|
||||
<g
|
||||
id="g3747"
|
||||
transform="translate(0,0.18150994)">
|
||||
<rect
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.136377;stroke-opacity:1"
|
||||
id="rect31"
|
||||
width="20.273424"
|
||||
height="7.6810331"
|
||||
x="3.172606"
|
||||
y="40.275291" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.13637766,0,0,0.13637766,-10.07571,10.507238)"
|
||||
id="text6326"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect6328);fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="45.007812"
|
||||
y="0"><tspan
|
||||
x="126.48828"
|
||||
y="240.85156"
|
||||
id="tspan43284"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43282">Total Fabric </tspan></tspan><tspan
|
||||
x="134.80859"
|
||||
y="260.85156"
|
||||
id="tspan43288"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43286">Requests</tspan></tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 23.417828,44.182431 h 7.744823"
|
||||
id="path20529"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<g
|
||||
id="g3739"
|
||||
transform="translate(10.059995,2.72298)">
|
||||
<rect
|
||||
style="opacity:0.28;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.136377;stroke-opacity:1"
|
||||
id="rect31-4"
|
||||
width="20.273424"
|
||||
height="7.6810331"
|
||||
x="31.404562"
|
||||
y="28.797853" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.13637766,0,0,0.13637766,18.156244,-0.9701983)"
|
||||
id="text6326-8"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect6328-0);opacity:0.28;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="158.11719"
|
||||
y="0"><tspan
|
||||
x="133.16016"
|
||||
y="240.85156"
|
||||
id="tspan43292"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43290">32B Read </tspan></tspan><tspan
|
||||
x="134.80859"
|
||||
y="260.85156"
|
||||
id="tspan43296"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43294">Requests</tspan></tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g204"
|
||||
transform="translate(10.059995)">
|
||||
<rect
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.136377;stroke-opacity:1"
|
||||
id="rect31-4-1"
|
||||
width="20.273424"
|
||||
height="7.6810331"
|
||||
x="31.404562"
|
||||
y="14.407581" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.13637766,0,0,0.13637766,18.156246,-15.360471)"
|
||||
id="text6326-8-2"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect6328-0-6);fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="158.11719"
|
||||
y="0"><tspan
|
||||
x="133.16016"
|
||||
y="240.85156"
|
||||
id="tspan43300"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43298">64B Read </tspan></tspan><tspan
|
||||
x="134.80859"
|
||||
y="260.85156"
|
||||
id="tspan43304"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43302">Requests</tspan></tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g33085"
|
||||
transform="translate(0,0.26317766)">
|
||||
<rect
|
||||
style="opacity:1;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.136;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect31-4-6"
|
||||
width="20.273424"
|
||||
height="7.6810331"
|
||||
x="41.464558"
|
||||
y="48.84304" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.13637766,0,0,0.13637766,28.216241,19.074987)"
|
||||
id="text6326-8-3"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect6328-0-3);opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.997231;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
x="158.11719"
|
||||
y="0"><tspan
|
||||
x="132.14062"
|
||||
y="240.85156"
|
||||
id="tspan43308"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43306">32B Write </tspan></tspan><tspan
|
||||
x="134.80859"
|
||||
y="260.85156"
|
||||
id="tspan43312"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43310">Requests</tspan></tspan></text>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.13637766,0,0,0.13637766,-0.0308419,9.5190479)"
|
||||
id="text58744"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect58746);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.997231;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.13637766,0,0,0.13637766,-0.0308419,9.5190479)"
|
||||
id="text64745"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect64747);fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.997231;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<g
|
||||
id="g54852"
|
||||
transform="matrix(0.51544312,0,0,0.51544312,28.426265,12.492382)">
|
||||
<rect
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect31-4-1-0"
|
||||
width="39.332031"
|
||||
height="14.901806"
|
||||
x="25.295307"
|
||||
y="104.1685" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.40746419,46.416146)"
|
||||
id="text6326-8-2-2"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect6328-0-6-3);fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="158.11719"
|
||||
y="0"><tspan
|
||||
x="132.14062"
|
||||
y="240.85156"
|
||||
id="tspan43316"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43314">64B Write </tspan></tspan><tspan
|
||||
x="134.80859"
|
||||
y="260.85156"
|
||||
id="tspan43320"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43318">Requests</tspan></tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 51.601269,66.186146 V 61.556441"
|
||||
id="path69447-9-7-5-2-3-93-6" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 31.07042,44.609772 V 26.783617"
|
||||
id="path69449" />
|
||||
<g
|
||||
id="g6799"
|
||||
transform="translate(-0.85908839)">
|
||||
<rect
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.136377;stroke-opacity:1"
|
||||
id="rect31-4-1-7"
|
||||
width="20.273424"
|
||||
height="7.6810331"
|
||||
x="73.9366"
|
||||
y="14.407581" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.13637766,0,0,0.13637766,60.688286,-15.360471)"
|
||||
id="text6326-8-2-8"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect6328-0-6-8);fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="158.11719"
|
||||
y="0"><tspan
|
||||
x="109.13281"
|
||||
y="240.85156"
|
||||
id="tspan43326"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43322">Uncached </tspan><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43324">Read </tspan></tspan><tspan
|
||||
x="134.80859"
|
||||
y="260.85156"
|
||||
id="tspan43330"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43328">Requests</tspan></tspan></text>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,23.273945,0.03952421)"
|
||||
id="text97991"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect97993);fill:#000000;fill-opacity:1;stroke:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:2.64068px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0660172"
|
||||
x="65.804695"
|
||||
y="17.049156"
|
||||
id="text104993"><tspan
|
||||
id="tspan104991"
|
||||
style="stroke-width:0.0660172"
|
||||
x="65.804695"
|
||||
y="17.049156">x2</tspan></text>
|
||||
<g
|
||||
id="g23519"
|
||||
transform="translate(-8.0320305,-0.27460261)">
|
||||
<g
|
||||
id="g33659">
|
||||
<rect
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.136377;stroke-opacity:1"
|
||||
id="rect31-4-1-7-2"
|
||||
width="20.273424"
|
||||
height="7.6810331"
|
||||
x="81.756866"
|
||||
y="66.459923" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.13637766,0,0,0.13637766,68.508552,36.707843)"
|
||||
id="text6326-8-2-8-6"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect6328-0-6-8-2);fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="158.11719"
|
||||
y="0"><tspan
|
||||
x="108.11328"
|
||||
y="240.85156"
|
||||
id="tspan43336"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43332">Uncached </tspan><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43334">Write </tspan></tspan><tspan
|
||||
x="134.80859"
|
||||
y="260.85156"
|
||||
id="tspan43340"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43338">Requests</tspan></tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,23.273945,52.107839)"
|
||||
id="text97991-3"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect97993-7);fill:#000000;fill-opacity:1;stroke:none" />
|
||||
<g
|
||||
id="g10025"
|
||||
transform="matrix(0.51544312,0,0,0.51544312,23.359942,44.057639)">
|
||||
<rect
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect31-4-1-7-2-9"
|
||||
width="39.332031"
|
||||
height="14.901806"
|
||||
x="81.170959"
|
||||
y="9.7946386" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,55.363782,-47.957714)"
|
||||
id="text6326-8-2-8-6-3"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect6328-0-6-8-2-2);fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="158.11719"
|
||||
y="0"><tspan
|
||||
x="141.15234"
|
||||
y="240.85156"
|
||||
id="tspan43344"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43342">Atomic
|
||||
</tspan></tspan><tspan
|
||||
x="134.80859"
|
||||
y="260.85156"
|
||||
id="tspan43348"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43346">Requests</tspan></tspan></text>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,23.273945,37.671054)"
|
||||
id="text97991-3-6"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect97993-7-7);fill:#000000;fill-opacity:1;stroke:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,23.273945,66.483549)"
|
||||
id="text97991-3-6-7"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect97993-7-7-6);fill:#000000;fill-opacity:1;stroke:none" />
|
||||
<g
|
||||
id="g10025-9-6"
|
||||
transform="matrix(0.51544312,0,0,0.51544312,62.851448,9.3577801)">
|
||||
<rect
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect31-4-1-7-2-9-1-1"
|
||||
width="39.332031"
|
||||
height="14.901806"
|
||||
x="81.170959"
|
||||
y="9.7946386" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,55.363782,-47.957714)"
|
||||
id="text6326-8-2-8-6-3-2-8"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect6328-0-6-8-2-2-5-3);fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="158.11719"
|
||||
y="0"><tspan
|
||||
x="130.42188"
|
||||
y="240.85156"
|
||||
id="tspan43352"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43350">HBM Read
|
||||
</tspan></tspan><tspan
|
||||
x="134.80859"
|
||||
y="260.85156"
|
||||
id="tspan43356"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43354">Requests</tspan></tspan></text>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,23.273945,14.460151)"
|
||||
id="text97991-3-6-7-7"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect97993-7-7-6-6);fill:#000000;fill-opacity:1;stroke:none" />
|
||||
<g
|
||||
id="g13641"
|
||||
transform="matrix(0.51544312,0,0,0.51544312,62.851448,26.472254)">
|
||||
<rect
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect31-4-1-7-2-9-1-1-7"
|
||||
width="39.332031"
|
||||
height="14.901806"
|
||||
x="81.170959"
|
||||
y="9.7946386" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,55.363782,-47.957714)"
|
||||
id="text6326-8-2-8-6-3-2-8-5"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect6328-0-6-8-2-2-5-3-3);fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="158.11719"
|
||||
y="0"><tspan
|
||||
x="117.96094"
|
||||
y="240.85156"
|
||||
id="tspan43360"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43358">Remote Read
|
||||
</tspan></tspan><tspan
|
||||
x="134.80859"
|
||||
y="260.85156"
|
||||
id="tspan43364"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43362">Requests</tspan></tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.252, 0.252;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow1Mend-36-0)"
|
||||
d="M 61.835501,17.827625 H 72.628293"
|
||||
id="path69449-1-4-5-5-0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 31.07042,44.18384 V 61.525736"
|
||||
id="path69449-9" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.251943;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 30.944463,26.804724 H 114.94704"
|
||||
id="path69449-3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 51.601269,28.986028 V 26.930672"
|
||||
id="path69447-9-7-5-2" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 52.807545,30.383236 -1.17844,-1.410071"
|
||||
id="path69447-9-7-5-6-7" />
|
||||
<ellipse
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:0.0583236;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path2455-3-6-3-1"
|
||||
cx="-51.593498"
|
||||
cy="28.936687"
|
||||
rx="0.26853767"
|
||||
ry="0.29816741"
|
||||
transform="scale(-1,1)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.3"
|
||||
d="M 51.601269,31.456218 V 30.329011"
|
||||
id="path69447-9-7-5-2-5" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 51.601269,26.688316 V 22.058611"
|
||||
id="path69447-9-7-5-2-3" />
|
||||
<ellipse
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:0.107;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path2455-3-6-3-6"
|
||||
cx="51.61137"
|
||||
cy="28.97942"
|
||||
rx="0.49265727"
|
||||
ry="0.54701579" />
|
||||
<ellipse
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:0.107;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path2455-3-6-3-6-2"
|
||||
cx="52.914024"
|
||||
cy="30.493517"
|
||||
rx="0.49265727"
|
||||
ry="0.54701579" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 114.82717,31.453752 V 22.110106"
|
||||
id="path69447-9-7-5-2-3-9" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.252188;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 30.9454,61.491997 h 84.16591"
|
||||
id="path69449-3-1" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 51.601269,61.398519 V 56.768814"
|
||||
id="path69447-9-7-5-2-3-93" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 75.335667,61.434975 V 56.80527"
|
||||
id="path69447-9-7-5-2-3-93-0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 83.861548,66.11139 V 61.481685"
|
||||
id="path69447-9-7-5-2-3-93-62" />
|
||||
<g
|
||||
id="g10025-9-6-8"
|
||||
transform="matrix(0.51544312,0,0,0.51544312,63.102859,44.045664)">
|
||||
<rect
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect31-4-1-7-2-9-1-1-79"
|
||||
width="39.332031"
|
||||
height="14.901806"
|
||||
x="81.170959"
|
||||
y="9.7946386" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,55.363782,-47.957714)"
|
||||
id="text6326-8-2-8-6-3-2-8-2"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect6328-0-6-8-2-2-5-3-6);fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="158.11719"
|
||||
y="0"><tspan
|
||||
x="129.40234"
|
||||
y="240.85156"
|
||||
id="tspan43368"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43366">HBM Write </tspan></tspan><tspan
|
||||
x="134.80859"
|
||||
y="260.85156"
|
||||
id="tspan43372"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43370">Requests</tspan></tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g13641-0"
|
||||
transform="matrix(0.51544312,0,0,0.51544312,63.102859,61.160138)">
|
||||
<rect
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect31-4-1-7-2-9-1-1-7-2"
|
||||
width="39.332031"
|
||||
height="14.901806"
|
||||
x="81.170959"
|
||||
y="9.7946386" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,55.363782,-47.957714)"
|
||||
id="text6326-8-2-8-6-3-2-8-5-3"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect6328-0-6-8-2-2-5-3-3-1);fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="158.11719"
|
||||
y="0"><tspan
|
||||
x="116.94141"
|
||||
y="240.85156"
|
||||
id="tspan43376"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43374">Remote Write </tspan></tspan><tspan
|
||||
x="134.80859"
|
||||
y="260.85156"
|
||||
id="tspan43380"><tspan
|
||||
style="text-align:center;text-anchor:middle"
|
||||
id="tspan43378">Requests</tspan></tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 115.07858,66.141636 V 56.79799"
|
||||
id="path69447-9-7-5-2-3-9-7" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 271 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 25 KiB |
@@ -0,0 +1,584 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="127.5mm"
|
||||
height="32.5mm"
|
||||
viewBox="0 0 127.5 32.5"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
|
||||
sodipodi:docname="l1perf_model2.svg"
|
||||
inkscape:export-filename="/home/nick/Documents/software_repos/omniperf/src/docs/images/l1perf_model.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96">
|
||||
<defs
|
||||
id="defs2">
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Mend"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path4559"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="scale(-0.6)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Mstart"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path4556"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="scale(0.6)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Lstart"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path4550"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(1.1,0,0,1.1,1.1,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:isstock="true"
|
||||
style="overflow:visible"
|
||||
id="marker4982"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path4980"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Lend-3"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4535-6"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Lstart-8"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path4550-1"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(1.1,0,0,1.1,1.1,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Lstart-0"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path4550-3"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(1.1,0,0,1.1,1.1,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Lend-3-4"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4535-6-0"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="5.6"
|
||||
inkscape:cx="293.09582"
|
||||
inkscape:cy="20.610939"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="2488"
|
||||
inkscape:window-height="1376"
|
||||
inkscape:window-x="72"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
showguides="true" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-264.5)">
|
||||
<rect
|
||||
id="rect3717"
|
||||
width="12.756697"
|
||||
height="31.844492"
|
||||
x="0.16001961"
|
||||
y="264.8248"
|
||||
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
||||
x="-280.79251"
|
||||
y="7.3169599"
|
||||
id="text4526"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1391"
|
||||
x="-280.79251"
|
||||
y="7.3169599">Compute Unit</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
||||
x="19.342445"
|
||||
y="269.90857"
|
||||
id="text4816"><tspan
|
||||
sodipodi:role="line"
|
||||
x="19.342445"
|
||||
y="269.90857"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944451px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
|
||||
id="tspan4818">Cmd/Data</tspan></text>
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.26753739;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4843"
|
||||
width="52.205414"
|
||||
height="31.841953"
|
||||
x="37.515408"
|
||||
y="264.82605"
|
||||
ry="0"
|
||||
rx="0" />
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.26433226;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4847"
|
||||
width="12.880525"
|
||||
height="12.567707"
|
||||
x="37.579292"
|
||||
y="264.8248"
|
||||
rx="1.0342027"
|
||||
ry="0.37797582" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:5.28136396px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.13203409"
|
||||
x="44.815056"
|
||||
y="19.832005"
|
||||
id="text4851"
|
||||
transform="scale(1.3075045,0.76481574)"><tspan
|
||||
sodipodi:role="line"
|
||||
x="44.815056"
|
||||
y="24.504774"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333311px;line-height:0;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.13203409"
|
||||
id="tspan4857" /></text>
|
||||
<flowRoot
|
||||
xml:space="preserve"
|
||||
id="flowRoot4859"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><flowRegion
|
||||
id="flowRegion4861"><rect
|
||||
id="rect4863"
|
||||
width="71.071426"
|
||||
height="43.57143"
|
||||
x="195.35715"
|
||||
y="38.59111" /></flowRegion><flowPara
|
||||
id="flowPara4865" /></flowRoot> <text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666679px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25103042"
|
||||
x="40.514164"
|
||||
y="264.33435"
|
||||
id="text1823"
|
||||
transform="scale(0.98186128,1.0184738)"><tspan
|
||||
sodipodi:role="line"
|
||||
x="40.514164"
|
||||
y="264.33435"
|
||||
id="tspan1813"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666679px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25103042"><tspan
|
||||
x="40.514164"
|
||||
y="264.33435"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666679px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25103042"
|
||||
id="tspan1811">Address </tspan></tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="39.07756"
|
||||
y="266.98016"
|
||||
id="tspan1817"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666679px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25103042"><tspan
|
||||
x="39.07756"
|
||||
y="266.98016"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666679px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25103042"
|
||||
id="tspan1815">Processing </tspan></tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="42.574501"
|
||||
y="269.62601"
|
||||
id="tspan1821"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666679px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25103042"><tspan
|
||||
x="42.574501"
|
||||
y="269.62601"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666679px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25103042"
|
||||
id="tspan1819">Unit</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.21152194;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#Arrow2Mstart);marker-end:url(#Arrow2Mend)"
|
||||
d="m 43.986979,277.84477 v 5.7019"
|
||||
id="path4904"
|
||||
inkscape:connector-curvature="0" />
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4847-2"
|
||||
width="12.945681"
|
||||
height="12.567707"
|
||||
x="37.514137"
|
||||
y="284.10156"
|
||||
rx="1.0394342"
|
||||
ry="0.37797582" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
||||
x="-283.25629"
|
||||
y="42.902218"
|
||||
id="text5371"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5369"
|
||||
x="-283.25629"
|
||||
y="42.902218"
|
||||
style="font-size:2.11666656px;stroke-width:0.26458332">Sync</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:1.25406051px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2351373"
|
||||
x="41.356129"
|
||||
y="288.49612"
|
||||
id="text940"><tspan
|
||||
sodipodi:role="line"
|
||||
x="41.356129"
|
||||
y="288.49612"
|
||||
id="tspan930"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.2351373"><tspan
|
||||
x="41.356129"
|
||||
y="288.49612"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.2351373"
|
||||
id="tspan928">Data </tspan></tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="38.231773"
|
||||
y="291.14197"
|
||||
id="tspan934"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.2351373"><tspan
|
||||
x="38.231773"
|
||||
y="291.14197"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.2351373"
|
||||
id="tspan932">Processing </tspan></tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="41.728718"
|
||||
y="293.78778"
|
||||
id="tspan938"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.2351373"><tspan
|
||||
x="41.728718"
|
||||
y="293.78778"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.2351373"
|
||||
id="tspan936">Unit</tspan></tspan></text>
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4847-6"
|
||||
width="12.945681"
|
||||
height="12.567707"
|
||||
x="51.913925"
|
||||
y="264.8251"
|
||||
rx="1.0394342"
|
||||
ry="0.37797582" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25566792"
|
||||
x="53.571041"
|
||||
y="267.50827"
|
||||
id="text1809"><tspan
|
||||
sodipodi:role="line"
|
||||
x="53.571041"
|
||||
y="267.50827"
|
||||
id="tspan1795"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25566792"><tspan
|
||||
x="53.571041"
|
||||
y="267.50827"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25566792"
|
||||
id="tspan1793">Virtual To </tspan></tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="54.174622"
|
||||
y="270.15408"
|
||||
id="tspan1799"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25566792"><tspan
|
||||
x="54.174622"
|
||||
y="270.15408"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25566792"
|
||||
id="tspan1797">Physical </tspan></tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="54.265057"
|
||||
y="272.79993"
|
||||
id="tspan1803"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25566792"><tspan
|
||||
x="54.265057"
|
||||
y="272.79993"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25566792"
|
||||
id="tspan1801">Address </tspan></tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="52.713211"
|
||||
y="275.44577"
|
||||
id="tspan1807"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25566792"><tspan
|
||||
x="52.713211"
|
||||
y="275.44577"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25566792"
|
||||
id="tspan1805">Translation</tspan></tspan></text>
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4847-6-4"
|
||||
width="12.945681"
|
||||
height="12.567707"
|
||||
x="66.313728"
|
||||
y="264.8251"
|
||||
rx="1.0394342"
|
||||
ry="0.37797582" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:1.36356223px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25566792"
|
||||
x="72.785965"
|
||||
y="270.58688"
|
||||
id="text1599"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1825"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944451px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle"
|
||||
x="73.178444"
|
||||
y="270.58688">Tag </tspan><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1827"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944451px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle"
|
||||
x="72.785965"
|
||||
y="273.67368">RAM</tspan></text>
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.25661802;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4847-6-4-5"
|
||||
width="27.324272"
|
||||
height="5.5836082"
|
||||
x="51.880585"
|
||||
y="277.95538"
|
||||
rx="2.1939197"
|
||||
ry="0.16792791" />
|
||||
<flowRoot
|
||||
xml:space="preserve"
|
||||
id="flowRoot4896-6-6-6"
|
||||
style="font-style:normal;font-weight:normal;font-size:5.33333349px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
transform="matrix(0.25566792,0,0,0.25566792,21.981703,13.242276)"><flowRegion
|
||||
id="flowRegion4898-4-2-9"
|
||||
style="font-size:5.33333349px"><rect
|
||||
id="rect4900-0-6-8"
|
||||
width="74.800339"
|
||||
height="17.377857"
|
||||
x="220.71429"
|
||||
y="50.733971"
|
||||
style="font-size:5.33333349px" /></flowRegion><flowPara
|
||||
style="font-size:9.24484825px;text-align:center;text-anchor:middle"
|
||||
id="flowPara5633-2" /></flowRoot> <text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:1.36355662px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25566792"
|
||||
x="59.399857"
|
||||
y="280.12439"
|
||||
id="text914"><tspan
|
||||
sodipodi:role="line"
|
||||
x="59.399857"
|
||||
y="280.12439"
|
||||
id="tspan908"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944451px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25566792"><tspan
|
||||
x="59.399857"
|
||||
y="280.12439"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944451px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25566792"
|
||||
id="tspan906">L1 Cache </tspan></tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="59.399857"
|
||||
y="283.21121"
|
||||
id="tspan912"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944451px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25566792"><tspan
|
||||
x="59.399857"
|
||||
y="283.21121"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944451px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.25566792"
|
||||
id="tspan910">Controller</tspan></tspan></text>
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.25977203;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4847-6-4-5-7"
|
||||
width="27.322025"
|
||||
height="12.587595"
|
||||
x="51.882832"
|
||||
y="284.0853"
|
||||
rx="2.1937392"
|
||||
ry="0.37857395" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25566792;"
|
||||
x="61.700409"
|
||||
y="289.7738"
|
||||
id="text926"><tspan
|
||||
sodipodi:role="line"
|
||||
x="61.700409"
|
||||
y="289.7738"
|
||||
id="tspan920"
|
||||
style="stroke-width:0.25566792;-inkscape-font-specification:'sans-serif, Normal';font-family:sans-serif;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:2.46944444px;text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;"><tspan
|
||||
x="61.700409"
|
||||
y="289.7738"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944444px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr;text-anchor:start;stroke-width:0.25566792;"
|
||||
id="tspan916">Cache</tspan><tspan
|
||||
dx="0"
|
||||
x="69.380043"
|
||||
y="289.7738"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944444px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr;text-anchor:start;stroke-width:0.25566792;"
|
||||
id="tspan918" /></tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="62.822392"
|
||||
y="292.8606"
|
||||
id="tspan924"
|
||||
style="stroke-width:0.25566792;-inkscape-font-specification:'sans-serif, Normal';font-family:sans-serif;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:2.46944444px;text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;"><tspan
|
||||
x="62.822392"
|
||||
y="292.8606"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944444px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr;text-anchor:start;stroke-width:0.25566792;"
|
||||
id="tspan922">RAM</tspan></tspan></text>
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.35042927;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4847-6-4-5-1"
|
||||
width="8.9711571"
|
||||
height="31.713299"
|
||||
x="80.756233"
|
||||
y="264.86783"
|
||||
rx="0.72031188"
|
||||
ry="0.95378256" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.36361098px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
||||
x="-280.84842"
|
||||
y="85.92308"
|
||||
id="text4526-5"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5786"
|
||||
x="-280.84842"
|
||||
y="85.92308"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944451px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle">L2 Memory Interface</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
||||
x="22.10359"
|
||||
y="289.48212"
|
||||
id="text4816-5"><tspan
|
||||
sodipodi:role="line"
|
||||
x="22.10359"
|
||||
y="289.48212"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944451px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
|
||||
id="tspan4818-8">Data</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.17609379;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#Arrow2Lstart);marker-end:url(#Arrow1Lend-3)"
|
||||
d="M 90.208048,280.72448 H 114.26491"
|
||||
id="path4530-75"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
||||
x="99.92643"
|
||||
y="278.60959"
|
||||
id="text4816-3"><tspan
|
||||
sodipodi:role="line"
|
||||
x="99.92643"
|
||||
y="278.60959"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944451px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
|
||||
id="tspan4818-5">Bus</tspan></text>
|
||||
<rect
|
||||
id="rect3717-6"
|
||||
width="12.756697"
|
||||
height="31.844494"
|
||||
x="114.5292"
|
||||
y="264.75391"
|
||||
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.36361122px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
||||
x="-280.73953"
|
||||
y="121.95969"
|
||||
id="text4526-5-2"
|
||||
transform="rotate(-90)"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
|
||||
sodipodi:role="line"
|
||||
id="tspan5786-9"
|
||||
x="-280.73953"
|
||||
y="121.95969">L2 Cache</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.17609379;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#Arrow2Lstart-8)"
|
||||
d="m 13.179534,290.78598 h 24.05686"
|
||||
id="path4530-75-1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.17696008;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-3-4)"
|
||||
d="M 13.04999,271.40894 H 37.370029"
|
||||
id="path4530-75-3"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 18 KiB |
@@ -0,0 +1,393 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="78.030128mm"
|
||||
height="59.956924mm"
|
||||
viewBox="0 0 78.030128 59.956924"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="lds.svg"
|
||||
inkscape:export-filename="/home/nick/Documents/software_repos/omniperf/src/docs/images/lds.png"
|
||||
inkscape:export-xdpi="180"
|
||||
inkscape:export-ydpi="180"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="2.8284271"
|
||||
inkscape:cx="7.9549513"
|
||||
inkscape:cy="93.161318"
|
||||
inkscape:window-width="2490"
|
||||
inkscape:window-height="1376"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<defs
|
||||
id="defs2">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker35467"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path35465" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Mend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(-0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path34770" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker35449"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path35447" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path34752" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker35115"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mstart"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path35113" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Mstart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mstart"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path34767" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lstart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(0.8,0,0,0.8,10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path34743" />
|
||||
</marker>
|
||||
<rect
|
||||
x="175.93893"
|
||||
y="253.99336"
|
||||
width="234.12074"
|
||||
height="100.54605"
|
||||
id="rect3930" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-5"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path34752-6" />
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-38.921551,-41.961155)">
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect846"
|
||||
width="77.212677"
|
||||
height="40.499405"
|
||||
x="39.330276"
|
||||
y="61.168674" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="scale(0.26458333)"
|
||||
id="text3928"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3930);fill:#000000;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect846-3"
|
||||
width="31.886179"
|
||||
height="13.072078"
|
||||
x="39.171551"
|
||||
y="42.211155" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="47.24173"
|
||||
y="49.892689"
|
||||
id="text25740"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan25738"
|
||||
style="font-size:3.52778px;stroke-width:0.264583"
|
||||
x="47.24173"
|
||||
y="49.892689">SIMD 0/1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="92.864143"
|
||||
y="49.892689"
|
||||
id="text25740-7"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan25738-5"
|
||||
style="font-size:3.52778px;stroke-width:0.264583"
|
||||
x="92.864143"
|
||||
y="49.892689">SIMD 2/3</tspan></text>
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect846-3-3"
|
||||
width="31.886179"
|
||||
height="13.072078"
|
||||
x="84.815498"
|
||||
y="42.211155" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.239054px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker35115);marker-end:url(#Arrow2Mend)"
|
||||
d="m 55.11464,55.888713 v 4.575516"
|
||||
id="path35236" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.239437px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker35115);marker-end:url(#Arrow2Mend)"
|
||||
d="m 100.75859,55.863706 v 4.584345"
|
||||
id="path35236-2" />
|
||||
<g
|
||||
id="g91757"
|
||||
transform="translate(0.09337305,-1.490623)">
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect846-3-9"
|
||||
width="57.741043"
|
||||
height="6.0837841"
|
||||
x="49.066093"
|
||||
y="64.83651" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="62.166679"
|
||||
y="69.054901"
|
||||
id="text43239"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan43237"
|
||||
style="font-size:3.52778px;stroke-width:0.264583"
|
||||
x="62.166679"
|
||||
y="69.054901">Conflict Detection</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g94249">
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect846-3-9-7"
|
||||
width="57.741043"
|
||||
height="6.0837841"
|
||||
x="49.159466"
|
||||
y="69.429672" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="69.083069"
|
||||
y="73.648064"
|
||||
id="text43239-9"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan43237-2"
|
||||
style="font-size:3.52778px;stroke-width:0.264583"
|
||||
x="69.083069"
|
||||
y="73.648064">Scheduler</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g75031">
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect53227"
|
||||
width="10.155521"
|
||||
height="20.193951"
|
||||
x="41.817165"
|
||||
y="78.846886" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="-95.113167"
|
||||
y="48.210091"
|
||||
id="text58467"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan58465"
|
||||
style="font-size:3.52778px;stroke-width:0.264583"
|
||||
x="-95.113167"
|
||||
y="48.210091">Bank 0</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g75036"
|
||||
transform="translate(-0.28890355,0.10812378)">
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect53227-1"
|
||||
width="10.155521"
|
||||
height="20.193951"
|
||||
x="55.210358"
|
||||
y="78.738762" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="-95.005043"
|
||||
y="61.603283"
|
||||
id="text58467-2"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan58465-7"
|
||||
style="font-size:3.52778px;stroke-width:0.264583"
|
||||
x="-95.005043"
|
||||
y="61.603283">Bank 1</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g75041"
|
||||
transform="translate(-0.42640324,0.12826538)">
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect53227-0"
|
||||
width="10.155521"
|
||||
height="20.193951"
|
||||
x="68.452148"
|
||||
y="78.71862" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="-94.984901"
|
||||
y="74.845078"
|
||||
id="text58467-9"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan58465-3"
|
||||
style="font-size:3.52778px;stroke-width:0.264583"
|
||||
x="-94.984901"
|
||||
y="74.845078">Bank 2</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g75046"
|
||||
transform="translate(0,-0.36049652)">
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect53227-6"
|
||||
width="10.155521"
|
||||
height="20.193951"
|
||||
x="81.130043"
|
||||
y="79.207382" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="-95.473663"
|
||||
y="87.522972"
|
||||
id="text58467-0"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan58465-6"
|
||||
style="font-size:3.52778px;stroke-width:0.264583"
|
||||
x="-95.473663"
|
||||
y="87.522972">Bank 3</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g75106"
|
||||
transform="translate(0,0.88236237)">
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect53227-2"
|
||||
width="10.155521"
|
||||
height="20.193951"
|
||||
x="103.69362"
|
||||
y="77.964523" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="-95.307404"
|
||||
y="110.08656"
|
||||
id="text58467-6"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan58465-1"
|
||||
style="font-size:3.52778px;stroke-width:0.264583"
|
||||
x="-95.307404"
|
||||
y="110.08656">Bank 31</tspan></text>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="95.809242"
|
||||
y="89.162628"
|
||||
id="text80928"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan80926"
|
||||
style="font-size:3.52778px;stroke-width:0.264583"
|
||||
x="95.809242"
|
||||
y="89.162628">...</tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 108 KiB |
|
After Width: | Height: | Size: 662 B |
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="23.89308mm"
|
||||
height="24.000153mm"
|
||||
viewBox="0 0 23.89308 24.000153"
|
||||
version="1.1"
|
||||
id="svg370"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="nosplit.svg"
|
||||
inkscape:export-filename="/home/nick/Documents/software_repos/omniperf/src/docs/images/nosplit.png"
|
||||
inkscape:export-xdpi="180"
|
||||
inkscape:export-ydpi="180"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview372"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="6.2217172"
|
||||
inkscape:cx="-18.242552"
|
||||
inkscape:cy="62.764023"
|
||||
inkscape:window-width="2490"
|
||||
inkscape:window-height="1376"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs367" />
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-30.085626,-76.587497)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.52;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 30.085626,88.555587 h 23.89308"
|
||||
id="path69449-3-1"
|
||||
inkscape:export-filename="/home/nick/Documents/software_repos/omniperf/src/docs/images/nosplit.png"
|
||||
inkscape:export-xdpi="180"
|
||||
inkscape:export-ydpi="180" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.52;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 34.808926,76.587497 v 10.78438"
|
||||
id="path69449-3-1-6"
|
||||
inkscape:export-filename="/home/nick/Documents/software_repos/omniperf/src/docs/images/nosplit.png"
|
||||
inkscape:export-xdpi="180"
|
||||
inkscape:export-ydpi="180" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.52;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 48.947196,89.803267 V 100.58765"
|
||||
id="path69449-3-1-6-7"
|
||||
inkscape:export-filename="/home/nick/Documents/software_repos/omniperf/src/docs/images/nosplit.png"
|
||||
inkscape:export-xdpi="180"
|
||||
inkscape:export-ydpi="180" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 245 KiB |
|
After Width: | Height: | Size: 172 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 110 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 653 B |
@@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="23.89308mm"
|
||||
height="23.893078mm"
|
||||
viewBox="0 0 23.89308 23.893078"
|
||||
version="1.1"
|
||||
id="svg370"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="split.svg"
|
||||
inkscape:export-filename="/home/nick/Documents/software_repos/omniperf/src/docs/images/split.png"
|
||||
inkscape:export-xdpi="180"
|
||||
inkscape:export-ydpi="180"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview372"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="24.886869"
|
||||
inkscape:cx="30.397556"
|
||||
inkscape:cy="53.984292"
|
||||
inkscape:window-width="2490"
|
||||
inkscape:window-height="1376"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs367" />
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-30.085626,-76.637833)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.52;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 30.085626,88.584373 h 23.89308"
|
||||
id="path69449-3-1"
|
||||
inkscape:export-filename="/home/nick/Documents/software_repos/omniperf/src/docs/images/split.png"
|
||||
inkscape:export-xdpi="180"
|
||||
inkscape:export-ydpi="180" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.52;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 42.032166,76.637833 V 100.53091"
|
||||
id="path69449-3-1-3"
|
||||
inkscape:export-filename="/home/nick/Documents/software_repos/omniperf/src/docs/images/split.png"
|
||||
inkscape:export-xdpi="180"
|
||||
inkscape:export-ydpi="180" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 253 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="27.472563mm"
|
||||
height="17.499945mm"
|
||||
viewBox="0 0 27.472563 17.499945"
|
||||
version="1.1"
|
||||
id="svg370"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="uncached.svg"
|
||||
inkscape:export-filename="/home/nick/Documents/software_repos/omniperf/src/docs/images/uncached.png"
|
||||
inkscape:export-xdpi="180"
|
||||
inkscape:export-ydpi="180"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview372"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="6.2217172"
|
||||
inkscape:cx="-18.242552"
|
||||
inkscape:cy="72.086208"
|
||||
inkscape:window-width="2490"
|
||||
inkscape:window-height="1376"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs367">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="TriangleOutS"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="TriangleOutS"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.2)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path1132" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker1262"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(-0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path1260" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Mend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(-0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path1011" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path987" />
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-30.085626,-74.157956)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.52;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.52, 2.52;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#TriangleOutS)"
|
||||
d="m 30.085626,88.555587 h 23.89308"
|
||||
id="path69449-3-1"
|
||||
inkscape:export-filename="/home/nick/Documents/software_repos/omniperf/src/docs/images/nosplit.png"
|
||||
inkscape:export-xdpi="180"
|
||||
inkscape:export-ydpi="180" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="37.700855"
|
||||
y="82.012749"
|
||||
id="text7915"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7913"
|
||||
style="stroke-width:0.264583"
|
||||
x="37.700855"
|
||||
y="82.012749">x2</tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 36 KiB |
@@ -0,0 +1,17 @@
|
||||
# Welcome to the [Omniperf](https://github.com/ROCm/omniperf) Documentation!
|
||||
|
||||
```eval_rst
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 4
|
||||
:caption: Table of Contents
|
||||
|
||||
introduction
|
||||
high_level_design
|
||||
installation
|
||||
getting_started
|
||||
profiling
|
||||
analysis
|
||||
performance_model
|
||||
faq
|
||||
```
|
||||
@@ -0,0 +1,264 @@
|
||||
# Deployment
|
||||
|
||||
```eval_rst
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 4
|
||||
```
|
||||
|
||||
Omniperf is broken into two installation components:
|
||||
|
||||
1. **Omniperf Client-side (_Required_)**
|
||||
- Provides core application profiling capability
|
||||
- Allows collection of performance counters, filtering by hardware block, dispatch, kernel, etc
|
||||
- CLI based analysis mode
|
||||
- Stand alone web interface for importing analysis metrics
|
||||
2. **Omniperf Server-side (_Optional_)**
|
||||
- Mongo DB backend + Grafana instance
|
||||
- Packaged in a Docker container for easy setup
|
||||
|
||||
Determine what you need to install based on how you would like to interact with Omniperf. See the decision tree below to help determine what installation is right for you.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Client-side Installation
|
||||
|
||||
Omniperf client-side requires the following basic software dependencies prior to usage:
|
||||
|
||||
* Python (>=3.8)
|
||||
* CMake (>= 3.19)
|
||||
* ROCm (>= 5.7.1)
|
||||
|
||||
In addition, Omniperf leverages a number of Python packages that are
|
||||
documented in the top-level `requirements.txt` file. These must be
|
||||
installed prior to Omniperf configuration.
|
||||
|
||||
```{admonition} Optional packages
|
||||
If you would like to build Omniperf as a developer, consider these additional requirements:
|
||||
|
||||
| Requirement file | Description |
|
||||
| --------------------- | -------------------------------------------------------------- |
|
||||
| requirements-doc.txt | Python packages required to build docs from source |
|
||||
| requirements-test.txt | Python packages required to run Omniperf's CI suite via PyTest |
|
||||
|
||||
```
|
||||
|
||||
The recommended procedure for Omniperf usage is to install into a shared file system so that multiple users can access the final installation. The following steps illustrate how to install the necessary python dependencies using [pip](https://packaging.python.org/en/latest/) and Omniperf into a shared location controlled by the `INSTALL_DIR` environment variable.
|
||||
|
||||
```{admonition} Configuration variables
|
||||
The following installation example leverages several
|
||||
[CMake](https://cmake.org/cmake/help/latest/) project variables
|
||||
defined as follows:
|
||||
| Variable | Description |
|
||||
| -------------------- | -------------------------------------------------------------------- |
|
||||
| CMAKE_INSTALL_PREFIX | controls install path for Omniperf files |
|
||||
| PYTHON_DEPS | provides optional path to resolve Python package dependencies |
|
||||
| MOD_INSTALL_PATH | provides optional path for separate Omniperf modulefile installation |
|
||||
|
||||
```
|
||||
|
||||
A typical install will begin by downloading the latest release tarball
|
||||
available from the
|
||||
[Releases](https://github.com/ROCm/omniperf/releases) section
|
||||
of the Omniperf development site. From there, untar and descend into
|
||||
the top-level directory as follows:
|
||||
|
||||
```shell-session
|
||||
$ tar xfz omniperf-v{__VERSION__}.tar.gz
|
||||
$ cd omniperf-v{__VERSION__}
|
||||
```
|
||||
|
||||
Next, install Python dependencies and complete the Omniperf configuration/install process as follows:
|
||||
|
||||
```shell-session
|
||||
# define top-level install path
|
||||
$ export INSTALL_DIR=<your-top-level-desired-install-path>
|
||||
|
||||
# install python deps
|
||||
$ python3 -m pip install -t ${INSTALL_DIR}/python-libs -r requirements.txt
|
||||
|
||||
# configure Omniperf for shared install
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}/{__VERSION__} \
|
||||
-DPYTHON_DEPS=${INSTALL_DIR}/python-libs \
|
||||
-DMOD_INSTALL_PATH=${INSTALL_DIR}/modulefiles ..
|
||||
|
||||
# install
|
||||
$ make install
|
||||
```
|
||||
|
||||
```{tip}
|
||||
You may require `sudo` during the final install step if you
|
||||
do not have write access to the chosen install path.
|
||||
```
|
||||
|
||||
|
||||
After completing these steps, a successful top-level installation directory looks as follows:
|
||||
```shell-session
|
||||
$ ls $INSTALL_DIR
|
||||
modulefiles {__VERSION__} python-libs
|
||||
```
|
||||
|
||||
### Execution using modulefiles
|
||||
|
||||
The installation process includes creation of an environment
|
||||
modulefile for use with [Lmod](https://lmod.readthedocs.io). On
|
||||
systems that support Lmod, a user can register the Omniperf modulefile
|
||||
directory and setup their environment for execution of Omniperf as
|
||||
follows:
|
||||
|
||||
|
||||
|
||||
```shell-session
|
||||
$ module use $INSTALL_DIR/modulefiles
|
||||
$ module load omniperf
|
||||
$ which omniperf
|
||||
/opt/apps/omniperf/{__VERSION__}/bin/omniperf
|
||||
|
||||
$ omniperf --version
|
||||
ROC Profiler: /opt/rocm-5.1.0/bin/rocprof
|
||||
|
||||
omniperf (v{__VERSION__})
|
||||
```
|
||||
|
||||
```{tip} Users relying on an Lmod Python module locally may wish to
|
||||
customize the resulting Omniperf modulefile post-installation to
|
||||
include additional module dependencies.
|
||||
```
|
||||
|
||||
### Execution without modulefiles
|
||||
|
||||
To use Omniperf without the companion modulefile, update your `PATH`
|
||||
settings to enable access to the command-line binary. If you installed Python
|
||||
dependencies in a shared location, update your `PYTHONPATH` config as well:
|
||||
|
||||
```shell-session
|
||||
export PATH=$INSTALL_DIR/{__VERSION__}/bin:$PATH
|
||||
export PYTHONPATH=$INSTALL_DIR/python-libs
|
||||
```
|
||||
|
||||
### rocProf
|
||||
|
||||
Omniperf relies on a rocProf binary during the profiling
|
||||
process. Normally the path to this binary will be detected
|
||||
automatically, but it can also be overridden via the setting the
|
||||
optional `ROCPROF` environment variable to the path of the binary the user
|
||||
wishes to use instead.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%%% ### Generate Packaging
|
||||
%%% ```console
|
||||
%%% cd build
|
||||
%%% cpack -G STGZ
|
||||
%%% cpack -G DEB -D CPACK_PACKAGING_INSTALL_PREFIX=/opt/omniperf
|
||||
%%% cpack -G RPM -D CPACK_PACKAGING_INSTALL_PREFIX=/opt/omniperf
|
||||
%%% ```
|
||||
|
||||
---
|
||||
|
||||
## Server-side Setup
|
||||
|
||||
```{note}
|
||||
Server-side setup is **not required** to profile or analyze performance data from the CLI. It is provided as an additional mechanism to import performance data for examination within a detailed [Grafana](https://github.com/grafana/grafana) GUI.
|
||||
```
|
||||
|
||||
Omniperf server-side requires the following basic software dependencies prior to usage:
|
||||
|
||||
* [Docker Engine](https://docs.docker.com/engine/install/)
|
||||
|
||||
The recommended process for enabling the server-side of Omniperf is to use the provided Docker file to build the Grafana and MongoDB instance.
|
||||
|
||||
Once you have decided which machine you would like to use to host the Grafana and MongoDB instance, please follow the set-up instructions below.
|
||||
|
||||
### Install MongoDB Utils
|
||||
Omniperf uses [mongoimport](https://www.mongodb.com/docs/database-tools/mongoimport/) to upload data to Grafana's backend database. Install for Ubuntu 20.04 is as follows:
|
||||
|
||||
```bash
|
||||
$ wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-ubuntu2004-x86_64-100.6.1.deb
|
||||
$ sudo apt install ./mongodb-database-tools-ubuntu2004-x86_64-100.6.1.deb
|
||||
```
|
||||
> Installation instructions for alternative distributions can be found [here](https://www.mongodb.com/download-center/database-tools/releases/archive)
|
||||
|
||||
### Persistent Storage
|
||||
|
||||
The user will also bind MongoDB to a directory on the host OS to create a local backup in case of a crash or reset. In the Docker world, this is known as "creating a persistent volume":
|
||||
|
||||
```bash
|
||||
$ sudo mkdir -p /usr/local/persist && cd /usr/local/persist/
|
||||
$ sudo mkdir -p grafana-storage mongodb
|
||||
$ sudo docker volume create --driver local --opt type=none --opt device=/usr/local/persist/grafana-storage --opt o=bind grafana-storage
|
||||
$ sudo docker volume create --driver local --opt type=none --opt device=/usr/local/persist/mongodb --opt o=bind grafana-mongo-db
|
||||
```
|
||||
|
||||
### Build and Launch
|
||||
|
||||
We are now ready to build our Docker file. Navigate to your Omniperf install directory to begin.
|
||||
```bash
|
||||
$ sudo docker-compose build
|
||||
$ sudo docker-compose up -d
|
||||
```
|
||||
> TCP ports for Grafana (4000) and MongoDB (27017) in the docker container are mapped to 14000 and 27018, respectively, on the host side.
|
||||
|
||||
```{tip}
|
||||
In the event that your Grafana or MongoDB instance crash fatally, you can always restart the server. Just navigate to your install directory and run:
|
||||
```
|
||||
|
||||
```bash
|
||||
$ sudo docker-compose down
|
||||
$ sudo docker-compose up -d
|
||||
```
|
||||
|
||||
### Setup Grafana Instance
|
||||
Once you have launched your docker container you should be able to reach Grafana at **http://\<host-ip>:14000**. The default login credentials for the first-time Grafana setup are:
|
||||
|
||||
- Username: **admin**
|
||||
- Password: **admin**
|
||||
|
||||

|
||||
|
||||
### MongoDB Datasource Configuration
|
||||
|
||||
The MongoDB Datasource must be configured prior to the first-time use. Navigate to Grafana's Configuration page (shown below) to add the **Omniperf Data** connection.
|
||||
|
||||

|
||||
|
||||
Configure the following fields in the datasource settings:
|
||||
|
||||
- __HTTP URL__: set to `http://localhost:3333`
|
||||
- __MongoDB URL__: set to `mongodb://temp:temp123@\<host-ip>:27018/admin?authSource=admin`
|
||||
- __Database Name__: set to `admin`
|
||||
|
||||
After properly configuring these fields click **Save & Test** (as shown below) to make sure your connection is successful.
|
||||
|
||||
> Note to avoid potential DNS issue, one may need to use the actual IP address for the host node in the MongoDB URL.
|
||||
|
||||

|
||||
|
||||
### Omniperf Dashboard Import
|
||||
|
||||
From *Create* → *Import*, (as shown below) upload the dashboard file, `/dashboards/Omniperf_v{__VERSION__}_pub.json`, from the Omniperf tarball.
|
||||
|
||||
Edit both the Dashboard Name and the Unique Identifier (UID) to uniquely identify the dashboard he/she will use. Click Import to finish the process.
|
||||
|
||||

|
||||
|
||||
### Using your dashboard
|
||||
|
||||
Once you have imported a dashboard you are ready to begin! Start by browsing available dashboards and selecting the dashboard you have just imported.
|
||||
|
||||

|
||||
|
||||
Remember, you will need to upload workload data to the DB backend before analyzing in your Grafana interface. We provide a detailed example of this in our [Analysis section](./analysis.md#grafana-gui-import).
|
||||
|
||||
After a workload has been successfully uploaded, you should be able to select it from the workload dropdown located at the top of your Grafana dashboard.
|
||||
|
||||

|
||||
|
||||
For more information on how to use the Grafana interface for analysis please see the [Grafana section](./analysis.md#grafana-based-gui) in the Analyze Mode tab.
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
# Introduction
|
||||
|
||||
```eval_rst
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 4
|
||||
```
|
||||
|
||||
This documentation was created to provide a detailed breakdown of all facets of Omniperf. In addition to a full deployment guide with installation instructions, we also explain the design of the tool and each of its components. If you are new to Omniperf, these chapters can be followed in order to gradually acquaint you with the tool and progressively introduce its more advanced features.
|
||||
|
||||
This project is proudly open source, and we welcome all feedback! For more details on how to contribute, please see our Contribution Guide.
|
||||
|
||||
[Browse Omniperf source code on Github](https://github.com/ROCm/omniperf)
|
||||
|
||||
## What is Omniperf
|
||||
|
||||
Omniperf is a kernel level profiling tool for Machine Learning/HPC workloads running on AMD Instinct (tm) MI accelerators. AMD's Instinct (tm) MI accelerators are Data Center GPUs designed for compute and with some graphics functions disabled or removed. Omniperf is currently built on top of [rocProf](https://rocm.docs.amd.com/projects/rocprofiler/en/latest/rocprof.html) to monitor hardware performance counters. The Omniperf tool primarily targets accelerators in the MI100, MI200, and MI300 families. Development is in progress to support Radeon (tm) RDNA (tm) GPUs.
|
||||
|
||||
## Features
|
||||
|
||||
The Omniperf tool performs profiling based on all available hardware counters for the target accelerator. It provides high level performance analysis features including System Speed-of-Light, Hardware block level Speed-of-Light, Memory Chart Analysis, Roofline Analysis, Baseline Comparisons, and more...
|
||||
|
||||
Both command line analysis and GUI analysis are supported.
|
||||
|
||||
Detailed Feature List:
|
||||
|
||||
- MI100 support
|
||||
- MI200 support
|
||||
- Standalone GUI Analyzer
|
||||
- Grafana/MongoDB GUI Analyzer
|
||||
- Dispatch Filtering
|
||||
- Kernel Filtering
|
||||
- GPU ID Filtering
|
||||
- Baseline Comparison
|
||||
- Multi-Normalizations
|
||||
- System Info Panel
|
||||
- System Speed-of-Light Panel
|
||||
- Kernel Statistic Panel
|
||||
- Memory Chart Analysis Panel
|
||||
- Roofline Analysis Panel (_Supported on MI200 only, Ubuntu 20.04, SLES 15 SP3 or RHEL8_)
|
||||
- Command Processor (CP) Panel
|
||||
- Workgroup Manager (SPI) Panel
|
||||
- Wavefront Launch Panel
|
||||
- Compute Unit - Instruction Mix Panel
|
||||
- Compute Unit - Pipeline Panel
|
||||
- Local Data Share (LDS) Panel
|
||||
- Instruction Cache Panel
|
||||
- Scalar L1D Cache Panel
|
||||
- L1 Address Processing Unit, a.k.a. Texture Addresser (TA) / L1 Backend Data Processing Unit, a.k.a. Texture Data (TD) panel(s)
|
||||
- Vector L1D Cache Panel
|
||||
- L2 Cache Panel
|
||||
- L2 Cache (per-Channel) Panel
|
||||
|
||||
## Compatible SoCs
|
||||
|
||||
| Platform | Status |
|
||||
| :---------------- | :--------- |
|
||||
| Vega 20 (MI50/60) | No support |
|
||||
| MI100 | Supported |
|
||||
| MI200 | Supported |
|
||||
| MI300 | Supported |
|
||||
@@ -0,0 +1,35 @@
|
||||
@ECHO OFF
|
||||
|
||||
pushd %~dp0
|
||||
|
||||
REM Command file for Sphinx documentation
|
||||
|
||||
if "%SPHINXBUILD%" == "" (
|
||||
set SPHINXBUILD=sphinx-build
|
||||
)
|
||||
set SOURCEDIR=.
|
||||
set BUILDDIR=_build
|
||||
|
||||
if "%1" == "" goto help
|
||||
|
||||
%SPHINXBUILD% >NUL 2>NUL
|
||||
if errorlevel 9009 (
|
||||
echo.
|
||||
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
||||
echo.installed, then set the SPHINXBUILD environment variable to point
|
||||
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
||||
echo.may add the Sphinx directory to PATH.
|
||||
echo.
|
||||
echo.If you don't have Sphinx installed, grab it from
|
||||
echo.http://sphinx-doc.org/
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
|
||||
goto end
|
||||
|
||||
:help
|
||||
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
|
||||
|
||||
:end
|
||||
popd
|
||||