Skip to content

Commit 41b8c72

Browse files
authored
Add files via upload
Add documentation for RMV 1.0
1 parent 0ae6576 commit 41b8c72

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+839
-0
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
2+
3+
img {
4+
max-width: 100%;
5+
max-height: auto;
6+
box-shadow: 6px 6px #eee;
7+
-ms-interpolation-mode: bicubic;
8+
border: 1px solid #ccc;
9+
}
10+
11+
table {
12+
font-size: 12px;
13+
}

docs/source/allocation_explorer.rst

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Allocation explorer
2+
-------------------
3+
4+
This will show the resources for each allocation. The pane consists of 2 tables.
5+
The top table lists all of the allocations. Clicking on an allocation will show
6+
it in the graphic below, along with a representation of all of the resources in
7+
the selected allocation. The coloring can be changed using the "**color by ..**"
8+
combo box above the graphic.
9+
10+
The table under the allocation display shows a list of all the resources in the
11+
chosen allocation. These resources can be filtered using the search box text
12+
filter and also by size using the "**Filter by size**" slider on the right.
13+
Double-clicking on a resource will navigate to the **Resource details** pane.
14+
15+
.. image:: media/snapshot/allocation_explorer_1.png

docs/source/allocation_overview.rst

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
Allocation overview
2+
-------------------
3+
4+
This pane will show the allocations and all the resources in each allocation.
5+
Again, the resources will have a stippled effect if they are aliased.
6+
7+
.. image:: media/snapshot/allocation_overview_1.png
8+
9+
Filtering by preferred heap is provided so that only resources in the specified
10+
preferred heaps are shown.
11+
12+
The coloring mode can be changed using the 'color by .. ' combo box, which will
13+
color the resources and allocations by various parameters, for example, resource
14+
usage, and the preferred heap type.
15+
16+
The allocations can be sorted using the sort combo box at the top. Sorting is
17+
currently based on allocation size, allocation Id or resource count (the number
18+
of resources in the allocation). Another combo box to the left allows the sort
19+
to be in ascending or decending order.
20+
21+
Normally, allocations are sized relative to the largest allocations. Sometimes
22+
this makes smaller allocations difficult to see. The 'Normalize allocations'
23+
checkbox will draw all allocations the same length, as seen below:
24+
25+
.. image:: media/snapshot/allocation_overview_2.png
26+
27+
The allocations can also be filtered using the search box. An allocation will
28+
only be shown if any part of its displayed text matches the text in the search
29+
box. This way, allocations can be filtered by size, heap type or number of
30+
resources.
31+
32+
Double-clicking on a resource will jump to the **Allocation explorer**.

docs/source/capture.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
How to generate a memory trace
2+
------------------------------
3+
4+
The first thing you will need to do is generate a memory trace. Currently,
5+
this is done via the Radeon Developer Panel 2.0. Read the documentation
6+
provided with this distribution for information on how to create a memory
7+
trace. This can be obtained from within the Radeon Developer Panel or from
8+
the link on the Radeon Memory Visualizer “Welcome” view.

docs/source/carousel.rst

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
The Carousel
2+
------------
3+
4+
The carousel is displayed on the **Resource list** panes and displays high level
5+
information about the resources in the current snapshot. It can be seen as an
6+
overview to answer high level questions such as 'How much memory in each heap
7+
is my application using?' or 'How large are my allocations?'.
8+
9+
The **Allocation sizes** shows the sizes of allocations arranged in buckets.
10+
It is easy to see at a glance how many allocations are being used and their
11+
relative sizes.
12+
13+
.. image:: media/snapshot/carousel_allocation_sizes.png
14+
15+
The **Committed memory** shows the amount of memory that this application has
16+
committed to physical memory for each of the heap types. Ideally, all memory
17+
that the application has requested should be in physical memory.
18+
19+
.. image:: media/snapshot/carousel_committed_memory.png
20+
21+
The **Requested virtual memory** shows which memory was requested from which heap.
22+
The same coloring scheme is used as in the **Heap overview** pane so it is easy to
23+
see if certain heaps are over or undersubscribed.
24+
25+
.. image:: media/snapshot/carousel_requested_virtual_memory.png
26+
27+
The **Resource types** shows the makeup of the resources contained within the
28+
allocations. The most popular ones are displayed with everything else bucketed
29+
in the "Other" category.
30+
31+
.. image:: media/snapshot/carousel_resource_types.png
32+
33+
The **Virtual memory** shows how much memory has resources bound to it. Unbound
34+
memory is effectively usused so should be minimized as much as possible. Sometimes
35+
due to alignment issues this is not possible but if there is a lot of unbound
36+
memory, this will be seen in the *Allocation overview* pane for each allocation.
37+
38+
.. image:: media/snapshot/carousel_virtual_memory.png
39+
40+
The carousel is also shown in the **Snapshot delta** pane but here it shows the
41+
differences between the 2 selected snapshots.

docs/source/conf.py

Lines changed: 197 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,197 @@
1+
# -*- coding: utf-8 -*-
2+
#
3+
# Radeon Memory Visualizer documentation build configuration file, created by
4+
# sphinx-quickstart on Fri Jun 30 12:01:48 2017.
5+
#
6+
# This file is execfile()d with the current directory set to its
7+
# containing dir.
8+
#
9+
# Note that not all possible configuration values are present in this
10+
# autogenerated file.
11+
#
12+
# All configuration values have a default; values that are commented out
13+
# serve to show the default.
14+
15+
# If extensions (or modules to document with autodoc) are in another directory,
16+
# add these directories to sys.path here. If the directory is relative to the
17+
# documentation root, use os.path.abspath to make it absolute, like shown here.
18+
#
19+
# import os
20+
# import sys
21+
# sys.path.insert(0, os.path.abspath('.'))
22+
23+
24+
# -- General configuration ------------------------------------------------
25+
26+
# If your documentation needs a minimal Sphinx version, state it here.
27+
#
28+
# needs_sphinx = '1.0'
29+
30+
# Add any Sphinx extension module names here, as strings. They can be
31+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
32+
# ones.
33+
extensions = []
34+
35+
# Add any paths that contain templates here, relative to this directory.
36+
templates_path = ['_templates']
37+
38+
# The suffix(es) of source filenames.
39+
# You can specify multiple suffix as a list of string:
40+
#
41+
# source_suffix = ['.rst', '.md']
42+
source_suffix = '.rst'
43+
44+
# The master toctree document.
45+
master_doc = 'index'
46+
47+
# General information about the project.
48+
project = u'Radeon Memory Visualizer'
49+
copyright = u'2018-2020, Advanced Micro Devices, Inc. All rights reserved.'
50+
author = u'AMD Developer Tools'
51+
52+
# The version info for the project you're documenting, acts as replacement for
53+
# |version| and |release|, also used in various other places throughout the
54+
# built documents.
55+
#
56+
# The short X.Y version.
57+
version = u'1.0.0'
58+
# The full version, including alpha/beta/rc tags.
59+
release = u'1.0.0'
60+
61+
# The language for content autogenerated by Sphinx. Refer to documentation
62+
# for a list of supported languages.
63+
#
64+
# This is also used if you do content translation via gettext catalogs.
65+
# Usually you set "language" from the command line for these cases.
66+
language = None
67+
68+
# List of patterns, relative to source directory, that match files and
69+
# directories to ignore when looking for source files.
70+
# This patterns also effect to html_static_path and html_extra_path
71+
exclude_patterns = []
72+
73+
# The name of the Pygments (syntax highlighting) style to use.
74+
pygments_style = 'sphinx'
75+
76+
# If true, `todo` and `todoList` produce output, else they produce nothing.
77+
todo_include_todos = False
78+
79+
80+
# -- Options for HTML output ----------------------------------------------
81+
82+
# The theme to use for HTML and HTML Help pages. See the documentation for
83+
# a list of builtin themes.
84+
#
85+
html_theme = 'sphinx_rtd_theme'
86+
#html_theme = 'alabaster'
87+
#html_theme = 'classic'
88+
#html_theme = 'sphinxdoc'
89+
#html_theme = 'scrolls'
90+
#html_theme = 'agogo'
91+
#html_theme = 'traditional'
92+
#html_theme = 'nature'
93+
#html_theme = 'haiku'
94+
#html_theme = 'pyramid'
95+
#html_theme = 'bizstyle'
96+
97+
# Theme options are theme-specific and customize the look and feel of a theme
98+
# further. For a list of options available for each theme, see the
99+
# documentation.
100+
#
101+
# html_theme_options = {'stickysidebar': 'true'}
102+
103+
# Add any paths that contain custom static files (such as style sheets) here,
104+
# relative to this directory. They are copied after the builtin static files,
105+
# so a file named "default.css" will overwrite the builtin "default.css".
106+
html_static_path = ['_static']
107+
108+
# If a function setup(app) exists, Sphinx will call this function as a normal
109+
# extension during application startup. This method of using the overrides css
110+
# file works better with read the docs (more so than specifying it via the
111+
# html_context tag)
112+
def setup(app):
113+
app.add_stylesheet('theme_overrides.css')
114+
115+
html_show_sourcelink = False
116+
html_show_sphinx = False
117+
118+
119+
# -- Options for HTMLHelp output ------------------------------------------
120+
121+
# Output file base name for HTML help builder.
122+
htmlhelp_basename = 'RadeonMemoryVisualizerdoc'
123+
124+
125+
# -- Options for LaTeX output ---------------------------------------------
126+
127+
latex_elements = {
128+
# The paper size ('letterpaper' or 'a4paper').
129+
#
130+
# 'papersize': 'letterpaper',
131+
132+
# The font size ('10pt', '11pt' or '12pt').
133+
#
134+
# 'pointsize': '10pt',
135+
136+
# Additional stuff for the LaTeX preamble.
137+
#
138+
# 'preamble': '',
139+
140+
# Latex figure (float) alignment
141+
#
142+
# 'figure_align': 'htbp',
143+
}
144+
145+
# Grouping the document tree into LaTeX files. List of tuples
146+
# (source start file, target name, title,
147+
# author, documentclass [howto, manual, or own class]).
148+
latex_documents = [
149+
(master_doc, 'RadeonMemoryVisualizer.tex', u'Radeon Memory Visualizer Documentation',
150+
u'AMD Developer Tools', 'manual'),
151+
]
152+
153+
154+
# -- Options for manual page output ---------------------------------------
155+
156+
# One entry per manual page. List of tuples
157+
# (source start file, name, description, authors, manual section).
158+
man_pages = [
159+
(master_doc, 'radeonmemoryvisualizer', u'Radeon Memory Visualizer Documentation',
160+
[author], 1)
161+
]
162+
163+
164+
# -- Options for Texinfo output -------------------------------------------
165+
166+
# Grouping the document tree into Texinfo files. List of tuples
167+
# (source start file, target name, title, author,
168+
# dir menu entry, description, category)
169+
texinfo_documents = [
170+
(master_doc, 'RadeonMemoryVisualizer', u'Radeon Memory Visualizer Documentation',
171+
author, 'RadeonMemoryVisualizer', 'One line description of project.',
172+
'Miscellaneous'),
173+
]
174+
175+
176+
177+
# -- Options for Epub output ----------------------------------------------
178+
179+
# Bibliographic Dublin Core info.
180+
epub_title = project
181+
epub_author = author
182+
epub_publisher = author
183+
epub_copyright = copyright
184+
185+
# The unique identifier of the text. This can be a ISBN number
186+
# or the project homepage.
187+
#
188+
# epub_identifier = ''
189+
190+
# A unique identification for the text.
191+
#
192+
# epub_uid = ''
193+
194+
# A list of files that should not be packed into the epub file.
195+
epub_exclude_files = ['search.html']
196+
197+

docs/source/heap_overview.rst

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
Heap overview
2+
-------------
3+
4+
This is the default snapshot pane that will be displayed after creating a
5+
snapshot. It gives an overview of the amount of memory the application is
6+
using and where that memory is allocated. It can be used to very quickly
7+
determine if the application is using too much memory of a certain type
8+
and if the correct memory type is being used where it should be.
9+
10+
.. image:: media/snapshot/heap_overview_1.png
11+
12+
The display is split into 3 sections, one section per heap type. There is
13+
a brief description of the use for each heap.
14+
15+
On the left is the amount of memory used for each heap type as a series
16+
of bar graphs:
17+
18+
The requested bar graph shows how much of that heap was requested by the
19+
application. Just because an application requests memory doesn't automatically
20+
mean the application gets it. If the application requests too much memory,
21+
a warning message is displayed. The bar is also color coded to show whether
22+
the memory type is oversubscibed or is close to being oversubscribed.
23+
24+
The 'total size' bar shows the total amount of physical memory in the heap.
25+
26+
The 'used' bar shows how much memory the application is using in dark gray.
27+
The lighter gray to the right indicates the total amound of memory used by all
28+
processes in the system.
29+
30+
The middle column shows a series of statistics for the heap memory type, such
31+
as where the memory resides (in system or video memory), whether it is mapped
32+
on the CPU and some statistics on the allocations.
33+
34+
The right column shows the makeup of the resource types in each of the heaps.
35+
From this, it can be determined if certain resource types are in the optimum
36+
memory type for the particular resource (maybe there's a render target in system
37+
memory when ideally it should be in local memory).

0 commit comments

Comments
 (0)