diff --git a/.readthedocs.yaml b/.readthedocs.yaml deleted file mode 100644 index 80148e0..0000000 --- a/.readthedocs.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# Read the Docs configuration file -# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details - -version: 2 - -build: - os: ubuntu-22.04 - tools: - python: "3.10" - -python: - install: - - requirements: docs/sphinx/requirements.txt - -sphinx: - configuration: docs/conf.py - -formats: [htmlzip, pdf] diff --git a/build_docs.py b/build_docs.py new file mode 100644 index 0000000..5667b75 --- /dev/null +++ b/build_docs.py @@ -0,0 +1,198 @@ +#!/usr/bin/env python3 +"""Discover and build Sphinx docsets in this monorepo. + +A "docset" is any folder in the repo that contains a ``conf.py`` (searched +recursively, so docsets may be nested e.g. ``reference-architecture/MI3XX``). +This script finds them automatically, so adding a new docset folder requires +no changes to tasks.json or to this script. + +Usage: + python build_docs.py --list + Print every discovered docset (name + path), one per line. + + python build_docs.py --all [--clean] + Build every discovered docset. + + python build_docs.py --docset [--clean] + Build a single docset by folder name (e.g. "docs"). + + python build_docs.py --file [--clean] + Build whichever docset the given file lives in. Used by the VS Code + "Build Docs" task with ${file} so Ctrl+B builds the docset you're + currently editing. + +Each docset builds into its own namespaced output + doctree cache under + /.vscode/build//{html,doctrees} +so docsets never clobber each other or share a (project-specific) doctree +cache. + +Exit codes: + 0 success + 1 usage / discovery error (e.g. file not under any docset) + N the underlying sphinx-build exit code on build failure +""" + +from __future__ import annotations + +import argparse +import os +import shutil +import subprocess +import sys +from pathlib import Path + + +# Repo root = the directory containing this script. +REPO_ROOT = Path(__file__).resolve().parent +BUILD_ROOT = REPO_ROOT / ".vscode" / "build" + +# Folders that can never be docsets even if they somehow contain a conf.py. +IGNORE_DIRS = {".git", ".vscode", ".venv", "venv", "node_modules", "__pycache__"} + + +def _docset_name(src: Path, taken: set[str]) -> str: + """Pick a unique docset name for a source dir. + + Prefer the folder's own basename (e.g. "docs", "MI3XX"). If that collides + with an already-claimed name, fall back to the repo-relative path with the + OS separator replaced by "-" (e.g. "reference-architecture-MI3XX") so every + docset stays addressable on the CLI and gets its own build output dir. + """ + name = src.name + if name not in taken: + return name + return "-".join(src.relative_to(REPO_ROOT).parts) + + +def discover_docsets() -> dict[str, Path]: + """Return {docset_name: source_dir} for every folder holding a conf.py. + + Walks the repo recursively (not just top-level children) so docsets may be + nested, e.g. ``reference-architecture/MI3XX/conf.py``. Ignored folders are + pruned, and once a folder is identified as a docset we do not descend into + it (a docset never contains another docset). Sorted for stable ordering. + """ + docsets: dict[str, Path] = {} + for dirpath, dirnames, filenames in os.walk(REPO_ROOT): + # Prune ignored dirs in place so os.walk never descends into them. + dirnames[:] = sorted(d for d in dirnames if d not in IGNORE_DIRS) + if "conf.py" in filenames: + src = Path(dirpath) + docsets[_docset_name(src, set(docsets))] = src + # Don't look for docsets nested inside this one. + dirnames[:] = [] + return dict(sorted(docsets.items())) + + +def docset_for_file(file_path: Path, docsets: dict[str, Path]) -> str | None: + """Return the docset name that ``file_path`` belongs to, or None.""" + try: + resolved = file_path.resolve() + except OSError: + return None + for name, src in docsets.items(): + try: + resolved.relative_to(src.resolve()) + return name + except ValueError: + continue + return None + + +def build_one(name: str, src: Path, clean: bool) -> int: + """Build a single docset with Sphinx. Returns the sphinx-build exit code.""" + out_html = BUILD_ROOT / name / "html" + out_doctrees = BUILD_ROOT / name / "doctrees" + + if clean: + target = BUILD_ROOT / name + if target.exists(): + print(f"[clean] removing {target}") + shutil.rmtree(target, ignore_errors=True) + + out_html.mkdir(parents=True, exist_ok=True) + out_doctrees.mkdir(parents=True, exist_ok=True) + + cmd = [ + sys.executable, "-m", "sphinx", + "-j", "auto", + "-T", + "-b", "html", + "-d", str(out_doctrees), + "-D", "language=en", + str(src), + str(out_html), + ] + print(f"[build] {name}: {' '.join(cmd)}") + result = subprocess.run(cmd, cwd=str(REPO_ROOT)) + if result.returncode == 0: + print(f"[build] {name}: OK -> {out_html}") + else: + print(f"[build] {name}: FAILED (exit {result.returncode})", file=sys.stderr) + return result.returncode + + +def main(argv: list[str]) -> int: + parser = argparse.ArgumentParser(description=__doc__, + formatter_class=argparse.RawDescriptionHelpFormatter) + group = parser.add_mutually_exclusive_group(required=True) + group.add_argument("--list", action="store_true", help="List discovered docsets and exit.") + group.add_argument("--list-names", action="store_true", + help="Print 'all' then each docset name, one per line (for pickers).") + group.add_argument("--all", action="store_true", help="Build every docset.") + group.add_argument("--docset", metavar="NAME", help="Build a single docset by folder name.") + group.add_argument("--file", metavar="PATH", help="Build the docset containing this file.") + parser.add_argument("--clean", action="store_true", help="Remove the docset's build output first.") + args = parser.parse_args(argv) + + docsets = discover_docsets() + + if args.list_names: + print("all") + for name in docsets: + print(name) + return 0 + + if args.list: + if not docsets: + print("(no docsets found — no top-level folder contains a conf.py)") + return 0 + for name, src in docsets.items(): + print(f"{name}\t{src}") + return 0 + + if not docsets: + print("Error: no docsets found (no top-level folder contains a conf.py).", file=sys.stderr) + return 1 + + if args.all: + rc = 0 + for name, src in docsets.items(): + rc = build_one(name, src, args.clean) or rc + return rc + + if args.docset: + if args.docset == "all": + rc = 0 + for name, src in docsets.items(): + rc = build_one(name, src, args.clean) or rc + return rc + if args.docset not in docsets: + print(f"Error: '{args.docset}' is not a docset. Known: {', '.join(docsets) or '(none)'}", + file=sys.stderr) + return 1 + return build_one(args.docset, docsets[args.docset], args.clean) + + if args.file: + name = docset_for_file(Path(args.file), docsets) + if name is None: + print(f"Error: '{args.file}' is not inside any docset.\n" + f"Open a file under one of: {', '.join(docsets)}", file=sys.stderr) + return 1 + return build_one(name, docsets[name], args.clean) + + return 0 # unreachable (group is required) + + +if __name__ == "__main__": + raise SystemExit(main(sys.argv[1:])) \ No newline at end of file diff --git a/docs/.readthedocs.yaml b/docs/.readthedocs.yaml new file mode 100644 index 0000000..a49c8d8 --- /dev/null +++ b/docs/.readthedocs.yaml @@ -0,0 +1,30 @@ +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +version: 2 + +build: + os: ubuntu-22.04 + tools: + python: "3.10" + jobs: + post_checkout: + # Monorepo guard: cancel the build unless this change touched docs/ + - git fetch origin develop --depth 1 || true + - | + if [ "$READTHEDOCS_VERSION_TYPE" = "external" ]; then + BASE=origin/develop # PR build: compare against the develop base + else + BASE=HEAD^ # branch/tag build (latest): compare against previous commit + fi + if git diff --quiet "$BASE" HEAD -- docs/; then + exit 183 + fi +python: + install: + - requirements: docs/sphinx/requirements.txt + +sphinx: + configuration: docs/conf.py + +formats: [htmlzip] diff --git a/docs/_static/cluster/1024-8192-gpu-reference-cluster-design.pdf b/docs/_static/cluster/1024-8192-gpu-reference-cluster-design.pdf deleted file mode 100644 index fb21479..0000000 Binary files a/docs/_static/cluster/1024-8192-gpu-reference-cluster-design.pdf and /dev/null differ diff --git a/docs/_static/cluster/128-1024-gpu-reference-cluster-design.pdf b/docs/_static/cluster/128-1024-gpu-reference-cluster-design.pdf deleted file mode 100644 index 54f9e28..0000000 Binary files a/docs/_static/cluster/128-1024-gpu-reference-cluster-design.pdf and /dev/null differ diff --git a/docs/_static/css/custom.css b/docs/_static/css/custom.css index 787dcb8..e7d3b4a 100644 --- a/docs/_static/css/custom.css +++ b/docs/_static/css/custom.css @@ -26,4 +26,20 @@ table.rdma-errors td:nth-child(1) { table.rdma-errors th:nth-child(2), table.rdma-errors td:nth-child(2) { width: 60% !important; -} \ No newline at end of file +} + +/* Remove white background from topology diagrams in dark mode */ +html[data-theme=dark] .bd-content img { + background-color: transparent !important; +} + +/* Restore normal brightness for images in dark mode */ +html[data-theme=dark] .bd-content img:not(.only-dark,.dark-light) { + filter: brightness(1) contrast(1) !important; +} + +/* Add neutral grey background for images in light mode */ +html:not([data-theme=dark]) .bd-content img { + background-color: #777 !important; +} + diff --git a/docs/_static/network/355-4MW-PPT-reference-network-design.pdf b/docs/_static/network/355-4MW-PPT-reference-network-design.pdf deleted file mode 100644 index f396517..0000000 Binary files a/docs/_static/network/355-4MW-PPT-reference-network-design.pdf and /dev/null differ diff --git a/docs/_static/network/3XX-2K-reference-network-design.pdf b/docs/_static/network/3XX-2K-reference-network-design.pdf deleted file mode 100644 index 555743a..0000000 Binary files a/docs/_static/network/3XX-2K-reference-network-design.pdf and /dev/null differ diff --git a/docs/_static/network/3XX-4K-reference-network-design.pdf b/docs/_static/network/3XX-4K-reference-network-design.pdf deleted file mode 100644 index c589463..0000000 Binary files a/docs/_static/network/3XX-4K-reference-network-design.pdf and /dev/null differ diff --git a/docs/_static/network/3XX-6K-reference-network-design.pdf b/docs/_static/network/3XX-6K-reference-network-design.pdf deleted file mode 100644 index be6c126..0000000 Binary files a/docs/_static/network/3XX-6K-reference-network-design.pdf and /dev/null differ diff --git a/docs/_static/network/3XX-8K-reference-network-design.pdf b/docs/_static/network/3XX-8K-reference-network-design.pdf deleted file mode 100644 index 97bccbf..0000000 Binary files a/docs/_static/network/3XX-8K-reference-network-design.pdf and /dev/null differ diff --git a/docs/index.rst b/docs/index.rst index d10b619..cd07104 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,18 +6,14 @@ Cluster network performance validation for AMD Instinct accelerators ******************************************************************** -When running HPC and AI applications in a cluster network environment, -performance is only as fast as the slowest individual node in the network. To -achieve optimal performance, each server must be configured for maximum data -transfer rates and bandwidth utilization based on the available hardware. It is -crucial to validate both host and device performance in single-node and -multi-node environments using the appropriate benchmarking tools. - -Refer to the relevant networking guides for step-by-step instructions on -validating network configurations in single-node and multi-node environments. -These guides cover system settings, device configurations, networking tools, and -performance tests to ensure AMD Instinct™-powered GPU clusters achieve -optimal speed and bandwidth during operation. +When running HPC and AI applications in a cluster network environment, performance is only as fast as the slowest +individual node in the network. To achieve optimal performance, each server must be configured for maximum data transfer +rates and bandwidth utilization based on the available hardware. It is crucial to validate both host and device +performance in single-node and multi-node environments using the appropriate benchmarking tools. + +Refer to the relevant networking guides for step-by-step instructions on validating network configurations in +single-node and multi-node environments. These guides cover system settings, device configurations, networking tools, +and performance tests to ensure AMD Instinct™-powered GPU clusters achieve optimal speed and bandwidth during operation. .. grid:: 2 :gutter: 3 @@ -32,15 +28,13 @@ optimal speed and bandwidth during operation. .. grid-item-card:: Reference - * :doc:`Hardware support ` - * :doc:`Cluster design ` + * :doc:`Hardware support ` + .. note:: - AMD Instinct systems vary in form and configuration, and cluster design - adds additional layers of complexity. The guidelines in this - documentation are written at a high level for broad applicability across - diverse environments. While certain scenarios may include specific hardware - examples, your setup will likely differ in terms of GPUs and CPUs per server, - firmware versions, and network interconnects. Adjustments might be necessary - to align with your particular configuration. + AMD Instinct systems vary in form and configuration, and cluster design adds additional layers of complexity. The + guidelines in this documentation are written at a high level for broad applicability across diverse environments. + While certain scenarios may include specific hardware examples, your setup will likely differ in terms of GPUs and + CPUs per server, firmware versions, and network interconnects. Adjustments might be necessary to align with your + particular configuration. diff --git a/docs/reference/cluster-design.rst b/docs/reference/cluster-design.rst index c92c356..fb00656 100644 --- a/docs/reference/cluster-design.rst +++ b/docs/reference/cluster-design.rst @@ -6,18 +6,5 @@ Cluster architecture and network design ************************************************************************************************************************ -.. grid:: 2 - :gutter: 2 - - .. grid-item-card:: Reference Cluster Design Architecture MI300X/MI325 - - * `128-1028 GPU Reference Cluster Design <../_static/cluster/128-1024-gpu-reference-cluster-design.pdf>`_ - * `1024-8192 GPU Reference Cluster Design <../_static/cluster/1024-8192-gpu-reference-cluster-design.pdf>`_ - - .. grid-item-card:: Reference Network Design Architecture 3XX - - * `3XX-2K Reference Network Design <../_static/network/3XX-2K-reference-network-design.pdf>`_ - * `3XX-4K Reference Network Design <../_static/network/3XX-4K-reference-network-design.pdf>`_ - * `3XX-6K Reference Network Design <../_static/network/3XX-6K-reference-network-design.pdf>`_ - * `3XX-8K Reference Network Design <../_static/network/3XX-8K-reference-network-design.pdf>`_ - * `355-4MW Reference Network Design <../_static/network/355-4MW-PPT-reference-network-design.pdf>`_ +Cluster architecture and network design materials have been collated and moved to a dedicated page. Please see the `AMD +Instinct MI3XX Reference Design `_. \ No newline at end of file diff --git a/docs/sphinx/_toc.yml b/docs/sphinx/_toc.yml index 51bfc4f..052ef65 100644 --- a/docs/sphinx/_toc.yml +++ b/docs/sphinx/_toc.yml @@ -17,7 +17,6 @@ subtrees: title: RoCE network configuration - file: how-to/troubleshooting title: Network troubleshooting - - caption: Reference entries: - file: reference/hardware-support diff --git a/docs/sphinx/_toc.yml.in b/docs/sphinx/_toc.yml.in index 51bfc4f..052ef65 100644 --- a/docs/sphinx/_toc.yml.in +++ b/docs/sphinx/_toc.yml.in @@ -17,7 +17,6 @@ subtrees: title: RoCE network configuration - file: how-to/troubleshooting title: Network troubleshooting - - caption: Reference entries: - file: reference/hardware-support diff --git a/docs/sphinx/requirements.in b/docs/sphinx/requirements.in index 5d981c8..d964434 100644 --- a/docs/sphinx/requirements.in +++ b/docs/sphinx/requirements.in @@ -1 +1 @@ -rocm-docs-core==1.35.0 \ No newline at end of file +rocm-docs-core==1.35.0 diff --git a/reference-architecture/MI3XX/.readthedocs.yaml b/reference-architecture/MI3XX/.readthedocs.yaml new file mode 100644 index 0000000..731cdab --- /dev/null +++ b/reference-architecture/MI3XX/.readthedocs.yaml @@ -0,0 +1,31 @@ +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +version: 2 + +build: + os: ubuntu-22.04 + tools: + python: "3.10" + jobs: + post_checkout: + # Monorepo guard: cancel the build unless this change touched reference-architecture/MI3XX/ + - git fetch origin develop --depth 1 || true + - | + if [ "$READTHEDOCS_VERSION_TYPE" = "external" ]; then + BASE=origin/develop # PR build: compare against the develop base + else + BASE=HEAD^ # branch/tag build (latest): compare against previous commit + fi + if git diff --quiet "$BASE" HEAD -- reference-architecture/MI3XX/; then + exit 183 + fi +python: + install: + # Shared across all docsets; dependabot tracks this single file (.github/dependabot.yml) + - requirements: docs/sphinx/requirements.txt + +sphinx: + configuration: reference-architecture/MI3XX/conf.py + +formats: [htmlzip] diff --git a/reference-architecture/MI3XX/_static/css/custom.css b/reference-architecture/MI3XX/_static/css/custom.css new file mode 100644 index 0000000..e7d3b4a --- /dev/null +++ b/reference-architecture/MI3XX/_static/css/custom.css @@ -0,0 +1,45 @@ +/* Network troubleshooting page */ + +/* Custom width for rccl errors table */ +table.rccl-errors { + table-layout: fixed !important; + width: 100% !important; +} +table.rccl-errors th:nth-child(1), +table.rccl-errors td:nth-child(1) { + width: 40% !important; +} +table.rccl-errors th:nth-child(2), +table.rccl-errors td:nth-child(2) { + width: 60% !important; +} + +/* Custom width for rdma errors table */ +table.rdma-errors { + table-layout: fixed !important; + width: 100% !important; +} +table.rdma-errors th:nth-child(1), +table.rdma-errors td:nth-child(1) { + width: 40% !important; +} +table.rdma-errors th:nth-child(2), +table.rdma-errors td:nth-child(2) { + width: 60% !important; +} + +/* Remove white background from topology diagrams in dark mode */ +html[data-theme=dark] .bd-content img { + background-color: transparent !important; +} + +/* Restore normal brightness for images in dark mode */ +html[data-theme=dark] .bd-content img:not(.only-dark,.dark-light) { + filter: brightness(1) contrast(1) !important; +} + +/* Add neutral grey background for images in light mode */ +html:not([data-theme=dark]) .bd-content img { + background-color: #777 !important; +} + diff --git a/reference-architecture/MI3XX/conf.py b/reference-architecture/MI3XX/conf.py new file mode 100644 index 0000000..2bf69d3 --- /dev/null +++ b/reference-architecture/MI3XX/conf.py @@ -0,0 +1,258 @@ +"""Configuration file for the Sphinx documentation builder.""" +import os +import re +from pathlib import Path + +html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "instinct.docs.amd.com") +html_context = {} +if os.environ.get("READTHEDOCS", "") == "True": + html_context["READTHEDOCS"] = True + +project = "AMD Instinct Hub" +html_title = "AMD Instinct MI3XX Reference Design" +author = "Advanced Micro Devices, Inc." +copyright = "Copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved." +version = "1.0" +release = version +setting_all_article_info = False + +external_toc_path = "./sphinx/_toc.yml" + +external_projects_current_project = "MI3XX-reference" + +html_theme = "rocm_docs_theme" +html_theme_options = { + "flavor": "instinct", + "show_toc_level": 1, + "navbar_align": "content", + "link_main_doc": True, + "use_download_button": True, +} +extensions = ["rocm_docs"] + +html_static_path = ['_static'] + +html_extra_path = ["llms.txt"] + +EXCLUDED_DIRS = { + "_build", + "_templates", + "_static", + ".git", + ".venv", +} + +MARKUP_PREFIXES = ( + ":::", + "```{", + "```", + ":img-top:", + ":class", + ":link:", + ":link-type:", + ":shadow:", + ":columns:", + ":padding:", + ":gutter:", + ":open:", + ":name:", + ":header-rows:", + ":alt:", + "+++", + "-->", + "{bdg-", +) + +# Matches lines like "align: center", "alt:", "name: foo" (directive options +# not starting with a colon, common in MyST figure/table fences) +_BARE_DIRECTIVE_RE = re.compile(r"^[a-z][a-z_-]*:\s*\S*$") + +# Matches MyST/RST anchor labels like "(some-label)=" +_ANCHOR_LABEL_RE = re.compile(r"^\(\w[\w-]*\)=$") + +# Matches RST section underlines (e.g. "====", "----", "~~~~") +_RST_UNDERLINE_RE = re.compile(r"^[=\-~^\"\'#*+]{3,}$") + +# Matches RST code block directives (e.g. ".. code-block:: cpp", ".. code:: sh") +_RST_CODE_BLOCK_RE = re.compile(r"^\.\.\s+(code-block|code|sourcecode)::") + +# Matches markdown table separator rows (e.g. "|---|---|", "| :--- | ---: |"). +_MD_TABLE_SEP_RE = re.compile(r"^\|[\s|:\-]+\|$") + +# Matches RST directives whose indented body should be discarded (e.g. raw HTML). +_RST_SKIP_BLOCK_RE = re.compile(r"^\.\.\s+raw::") + +# Matches HTML tags (e.g. "
", "

", " block + in_html_open_tag = False # inside a multi-line HTML opening tag + kept = [] + for line in lines: + stripped = line.strip() + # Backtick fences (MyST/Markdown) + if stripped.startswith("```"): + in_backtick_fence = not in_backtick_fence + kept.append(line) + continue + if in_backtick_fence: + kept.append(line) + continue + # HTML comment block (): discard all content until --> + if in_html_comment: + if "-->" in stripped: + in_html_comment = False + continue + # RST skip block (e.g. .. raw::): discard all indented content + if in_rst_skip_block: + if not stripped or line[0] in (" ", "\t"): + continue + in_rst_skip_block = False + # RST code block: exit when a non-blank, non-indented line appears + if in_rst_code_block: + if not stripped or line[0] in (" ", "\t"): + kept.append(line) + continue + in_rst_code_block = False + # RST raw block: enter and discard both the directive and its body + if _RST_SKIP_BLOCK_RE.match(stripped): + in_rst_skip_block = True + continue + # RST code block: enter on directive line (directive itself is dropped) + if _RST_CODE_BLOCK_RE.match(stripped): + in_rst_code_block = True + continue + # HTML comment open (): discard opener and enter state + if stripped.startswith("" not in stripped: + in_html_comment = True + continue + # Multi-line HTML opening tag: skip continuation lines until > + if in_html_open_tag: + if ">" in stripped: + in_html_open_tag = False + continue + # Detect HTML opening tags that wrap across lines (no > on this line) + if _HTML_TAG_RE.match(stripped) and ">" not in stripped: + in_html_open_tag = True + continue + if not stripped: + kept.append(line) + elif is_prose_line(line): + # Strip trailing HTML close tags (e.g. "See the guide.

") + cleaned = _TRAILING_HTML_CLOSE_RE.sub("", line).rstrip() + cleaned_stripped = cleaned.strip() + if not cleaned_stripped: + # Entire line was HTML close tags — keep original (shouldn't + # normally reach here since _is_prose_line filters HTML). + kept.append(line) + elif re.search(r"\w", cleaned_stripped): + # Line has real word content after stripping close tags. + kept.append(cleaned) + # else: only punctuation remains (e.g. bare ".") — discard. + cleaned = "\n".join(kept) + + combined.append(f"\n\n---\n\n# {relative}\n") + combined.append(cleaned.strip()) + + output_file.write_text( + "\n".join(combined) + "\n", + encoding="utf-8", + ) + + +def setup(app): + app.add_css_file('css/custom.css') + app.connect("build-finished", generate_combined_markdown) diff --git a/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/128-1024-gpu-tree-design.png b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/128-1024-gpu-tree-design.png new file mode 100644 index 0000000..015be97 Binary files /dev/null and b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/128-1024-gpu-tree-design.png differ diff --git a/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/128-1152-gpu-rail-design.png b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/128-1152-gpu-rail-design.png new file mode 100644 index 0000000..9af54b4 Binary files /dev/null and b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/128-1152-gpu-rail-design.png differ diff --git a/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/128-gpu-single-sw-design.png b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/128-gpu-single-sw-design.png new file mode 100644 index 0000000..2090eca Binary files /dev/null and b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/128-gpu-single-sw-design.png differ diff --git a/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/129-256-gpu-tree-design.png b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/129-256-gpu-tree-design.png new file mode 100644 index 0000000..7ede5d9 Binary files /dev/null and b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/129-256-gpu-tree-design.png differ diff --git a/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/129-288-gpu-rail-design.png b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/129-288-gpu-rail-design.png new file mode 100644 index 0000000..a815fa4 Binary files /dev/null and b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/129-288-gpu-rail-design.png differ diff --git a/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/257-512-gpu-tree-design.png b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/257-512-gpu-tree-design.png new file mode 100644 index 0000000..8da30a6 Binary files /dev/null and b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/257-512-gpu-tree-design.png differ diff --git a/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/289-576-gpu-rail-design.png b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/289-576-gpu-rail-design.png new file mode 100644 index 0000000..6a3a93f Binary files /dev/null and b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/289-576-gpu-rail-design.png differ diff --git a/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/513-768-gpu-tree-design.png b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/513-768-gpu-tree-design.png new file mode 100644 index 0000000..746affe Binary files /dev/null and b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/513-768-gpu-tree-design.png differ diff --git a/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/577-864-gpu-rail-design.png b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/577-864-gpu-rail-design.png new file mode 100644 index 0000000..8da4eee Binary files /dev/null and b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/577-864-gpu-rail-design.png differ diff --git a/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/8-128-gpu-single-sw-design.png b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/8-128-gpu-single-sw-design.png new file mode 100644 index 0000000..eaea5bd Binary files /dev/null and b/reference-architecture/MI3XX/data/1k-gpu-topology-design-examples/8-128-gpu-single-sw-design.png differ diff --git a/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2048-2304GPU-rail-design.png b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2048-2304GPU-rail-design.png new file mode 100644 index 0000000..127383a Binary files /dev/null and b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2048-2304GPU-rail-design.png differ diff --git a/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2048-2304GPU-rail-scalable-unit.png b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2048-2304GPU-rail-scalable-unit.png new file mode 100644 index 0000000..c5ed7ec Binary files /dev/null and b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2048-2304GPU-rail-scalable-unit.png differ diff --git a/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2048GPU-tree-design.png b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2048GPU-tree-design.png new file mode 100644 index 0000000..8b9adaa Binary files /dev/null and b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2048GPU-tree-design.png differ diff --git a/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2048GPU-tree-scalable-unit.png b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2048GPU-tree-scalable-unit.png new file mode 100644 index 0000000..5c5f09a Binary files /dev/null and b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2048GPU-tree-scalable-unit.png differ diff --git a/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2072GPU-tree-design.png b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2072GPU-tree-design.png new file mode 100644 index 0000000..923744e Binary files /dev/null and b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2072GPU-tree-design.png differ diff --git a/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2072GPU-tree-scalable-unit.png b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2072GPU-tree-scalable-unit.png new file mode 100644 index 0000000..58b2571 Binary files /dev/null and b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2072GPU-tree-scalable-unit.png differ diff --git a/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2080GPU-rail-design.png b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2080GPU-rail-design.png new file mode 100644 index 0000000..cc12b45 Binary files /dev/null and b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2080GPU-rail-design.png differ diff --git a/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2080GPU-rail-scalable-unit.png b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2080GPU-rail-scalable-unit.png new file mode 100644 index 0000000..39d516f Binary files /dev/null and b/reference-architecture/MI3XX/data/2k-gpu-topology-design-examples/network-diagram-2080GPU-rail-scalable-unit.png differ diff --git a/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4096-4608GPU-rail-design.png b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4096-4608GPU-rail-design.png new file mode 100644 index 0000000..6dcb144 Binary files /dev/null and b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4096-4608GPU-rail-design.png differ diff --git a/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4096-4608GPU-rail-scalable-unit.png b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4096-4608GPU-rail-scalable-unit.png new file mode 100644 index 0000000..684daad Binary files /dev/null and b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4096-4608GPU-rail-scalable-unit.png differ diff --git a/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4096GPU-tree-design.png b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4096GPU-tree-design.png new file mode 100644 index 0000000..703816c Binary files /dev/null and b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4096GPU-tree-design.png differ diff --git a/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4096GPU-tree-scalable-unit.png b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4096GPU-tree-scalable-unit.png new file mode 100644 index 0000000..26998e2 Binary files /dev/null and b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4096GPU-tree-scalable-unit.png differ diff --git a/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4104GPU-rail-design.png b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4104GPU-rail-design.png new file mode 100644 index 0000000..64807c6 Binary files /dev/null and b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4104GPU-rail-design.png differ diff --git a/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4104GPU-rail-scalable-unit.png b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4104GPU-rail-scalable-unit.png new file mode 100644 index 0000000..286c630 Binary files /dev/null and b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4104GPU-rail-scalable-unit.png differ diff --git a/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4144GPU-tree-design.png b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4144GPU-tree-design.png new file mode 100644 index 0000000..caac2e5 Binary files /dev/null and b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4144GPU-tree-design.png differ diff --git a/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4144GPU-tree-scalable-unit.png b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4144GPU-tree-scalable-unit.png new file mode 100644 index 0000000..b16de2d Binary files /dev/null and b/reference-architecture/MI3XX/data/4k-gpu-toplogy-design-examples/network-diagram-4144GPU-tree-scalable-unit.png differ diff --git a/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6016GPU-tree-design.png b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6016GPU-tree-design.png new file mode 100644 index 0000000..bed51a0 Binary files /dev/null and b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6016GPU-tree-design.png differ diff --git a/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6016GPU-tree-scalable-unit.png b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6016GPU-tree-scalable-unit.png new file mode 100644 index 0000000..f387991 Binary files /dev/null and b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6016GPU-tree-scalable-unit.png differ diff --git a/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6032GPU-rail-design.png b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6032GPU-rail-design.png new file mode 100644 index 0000000..f793c77 Binary files /dev/null and b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6032GPU-rail-design.png differ diff --git a/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6032GPU-rail-scalable-unit.png b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6032GPU-rail-scalable-unit.png new file mode 100644 index 0000000..fe09ea7 Binary files /dev/null and b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6032GPU-rail-scalable-unit.png differ diff --git a/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6048GPU-tree-design.png b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6048GPU-tree-design.png new file mode 100644 index 0000000..4ac8d9e Binary files /dev/null and b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6048GPU-tree-design.png differ diff --git a/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6048GPU-tree-scalable-unit.png b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6048GPU-tree-scalable-unit.png new file mode 100644 index 0000000..a5114e6 Binary files /dev/null and b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6048GPU-tree-scalable-unit.png differ diff --git a/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6144-6912GPU-rail-design.png b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6144-6912GPU-rail-design.png new file mode 100644 index 0000000..3c16e88 Binary files /dev/null and b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6144-6912GPU-rail-design.png differ diff --git a/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6144-6912GPU-rail-scalable-unit.png b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6144-6912GPU-rail-scalable-unit.png new file mode 100644 index 0000000..30730e3 Binary files /dev/null and b/reference-architecture/MI3XX/data/6k-gpu-toplogy-design-examples/network-diagram-6144-6912GPU-rail-scalable-unit.png differ diff --git a/reference-architecture/MI3XX/data/8k-gpu-toplogy-design-examples/network-diagram-8192-9216GPU-rail-design.png b/reference-architecture/MI3XX/data/8k-gpu-toplogy-design-examples/network-diagram-8192-9216GPU-rail-design.png new file mode 100644 index 0000000..232f14b Binary files /dev/null and b/reference-architecture/MI3XX/data/8k-gpu-toplogy-design-examples/network-diagram-8192-9216GPU-rail-design.png differ diff --git a/reference-architecture/MI3XX/data/8k-gpu-toplogy-design-examples/network-diagram-8192-9216GPU-rail-scalable-unit.png b/reference-architecture/MI3XX/data/8k-gpu-toplogy-design-examples/network-diagram-8192-9216GPU-rail-scalable-unit.png new file mode 100644 index 0000000..bd22e33 Binary files /dev/null and b/reference-architecture/MI3XX/data/8k-gpu-toplogy-design-examples/network-diagram-8192-9216GPU-rail-scalable-unit.png differ diff --git a/reference-architecture/MI3XX/data/8k-gpu-toplogy-design-examples/network-diagram-8192GPU-tree-design.png b/reference-architecture/MI3XX/data/8k-gpu-toplogy-design-examples/network-diagram-8192GPU-tree-design.png new file mode 100644 index 0000000..f14d402 Binary files /dev/null and b/reference-architecture/MI3XX/data/8k-gpu-toplogy-design-examples/network-diagram-8192GPU-tree-design.png differ diff --git a/reference-architecture/MI3XX/data/8k-gpu-toplogy-design-examples/network-diagram-8192GPU-tree-scalable-unit.png b/reference-architecture/MI3XX/data/8k-gpu-toplogy-design-examples/network-diagram-8192GPU-tree-scalable-unit.png new file mode 100644 index 0000000..b98e651 Binary files /dev/null and b/reference-architecture/MI3XX/data/8k-gpu-toplogy-design-examples/network-diagram-8192GPU-tree-scalable-unit.png differ diff --git a/reference-architecture/MI3XX/data/basic-network-topology-design-examples/2-tier-network-backend-scaling.png b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/2-tier-network-backend-scaling.png new file mode 100644 index 0000000..14bd7e9 Binary files /dev/null and b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/2-tier-network-backend-scaling.png differ diff --git a/reference-architecture/MI3XX/data/basic-network-topology-design-examples/2-tier-rail-network.png b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/2-tier-rail-network.png new file mode 100644 index 0000000..146331e Binary files /dev/null and b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/2-tier-rail-network.png differ diff --git a/reference-architecture/MI3XX/data/basic-network-topology-design-examples/2-tier-tree-network.png b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/2-tier-tree-network.png new file mode 100644 index 0000000..a599e49 Binary files /dev/null and b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/2-tier-tree-network.png differ diff --git a/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-fully-scheduled-rail-network.png b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-fully-scheduled-rail-network.png new file mode 100644 index 0000000..d26aa1b Binary files /dev/null and b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-fully-scheduled-rail-network.png differ diff --git a/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-hybrid-rail-network.png b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-hybrid-rail-network.png new file mode 100644 index 0000000..d26aa1b Binary files /dev/null and b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-hybrid-rail-network.png differ diff --git a/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-network-backend-deploy-rail.png b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-network-backend-deploy-rail.png new file mode 100644 index 0000000..33ef204 Binary files /dev/null and b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-network-backend-deploy-rail.png differ diff --git a/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-network-backend-scaling.png b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-network-backend-scaling.png new file mode 100644 index 0000000..ea89e7b Binary files /dev/null and b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-network-backend-scaling.png differ diff --git a/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-rail-optimized-network.png b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-rail-optimized-network.png new file mode 100644 index 0000000..38c18f2 Binary files /dev/null and b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-rail-optimized-network.png differ diff --git a/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-tree-network.png b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-tree-network.png new file mode 100644 index 0000000..79686c6 Binary files /dev/null and b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/3-tier-tree-network.png differ diff --git a/reference-architecture/MI3XX/data/basic-network-topology-design-examples/cross-rank-traffic-tree.png b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/cross-rank-traffic-tree.png new file mode 100644 index 0000000..25ac70e Binary files /dev/null and b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/cross-rank-traffic-tree.png differ diff --git a/reference-architecture/MI3XX/data/basic-network-topology-design-examples/rail-network-traversals.png b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/rail-network-traversals.png new file mode 100644 index 0000000..c94e208 Binary files /dev/null and b/reference-architecture/MI3XX/data/basic-network-topology-design-examples/rail-network-traversals.png differ diff --git a/reference-architecture/MI3XX/index.rst b/reference-architecture/MI3XX/index.rst new file mode 100644 index 0000000..08f5888 --- /dev/null +++ b/reference-architecture/MI3XX/index.rst @@ -0,0 +1,5 @@ +:orphan: + +.. raw:: html + + diff --git a/reference-architecture/MI3XX/legal-information.rst b/reference-architecture/MI3XX/legal-information.rst new file mode 100644 index 0000000..1d2ebc3 --- /dev/null +++ b/reference-architecture/MI3XX/legal-information.rst @@ -0,0 +1,40 @@ +Legal information +======================================================================================================================== + +DISCLAIMER + +The information contained herein is for informational purposes only, and is subject to change without notice. +While every precaution has been taken in the preparation of this document, it may contain technical inaccuracies, +omissions and typographical errors, and AMD is under no obligation to update or otherwise correct this information. +Advanced Micro Devices, Inc. makes no representations or warranties with respect to the accuracy or completeness of the +contents of this document, and assumes no liability of any kind, including the implied warranties of noninfringement, +merchantability or fitness for particular purposes, with respect to the operation or use of AMD hardware, software or +other products described herein. No license, including implied or arising by estoppel, to any intellectual property +rights is granted by this document. Terms and limitations applicable to the purchase or use of AMD's products are as +set forth in a signed agreement between the parties or in AMD's Standard Terms and Conditions of Sale. GD-18 + +COMPLIANCE WITH LAWS + +Customer shall adhere to all applicable export laws and regulations including, without limitation, those +administered by the U.S. Department of Commerce - Bureau of Industry and Security (U.S. Export Administration +Regulations 15 CFR 730 et seq.) and those administered by the U.S. Department of State in accordance with the U.S. +International Traffic in Arms Regulations (ITAR) set forth in Subchapter M, Title 22, Code of Federal Regulations, Parts +120 through 130 (22 CFR 120-130), as the same may be amended from time to time, and shall not export, re-export, resell, +transfer, or disclose, directly or indirectly, any Products or technical data, or the direct product of any Products or +technical data, to any proscribed person, entity, or country, or foreign national thereof, unless properly authorized by +the U.S. government and/or any other applicable or relevant government or regulatory body, including the export +authorities of all respective countries. For the avoidance of doubt, Customer shall not use Products in, or re-export +Products to Belarus, Russia and the Donetsk (DNR) or Luhansk (LNR) regions of Ukraine, regardless of the applicable +export laws and regulations. Customer shall impose upon its customers terms at least as restrictive as those contained +in this Clause 14 with respect to any sale, distribution or export of Products. + +© 2025 Advanced Micro Devices, Inc. All +rights reserved. AMD, the AMD Arrow logo, AMD Instinct, AMD together we advance\_, Infinity Fabric, ROCm, and +combinations thereof are trademarks of Advanced Micro Devices, Inc. Amazon S3, Arista, Arista OSFP, APC, Broadcom, +Ciena, Cisco, CloudVision, DataDirect Networks, Dell, DriveNets, EOS, FS.com, Hammerspace, Hewlett-Packard Enterprise, IOS, +Juniper, JUNOS, Lenovo, Linux, MTP, Netshelter, Nokia, Proliant, Pure Storage, Schneider Electric, SONiC, Super Micro +Computer Inc, Tomahawk, Ubuntu, Vast Data, Weka, and other product names used in this publication are for identification +purposes only and may be trademarks of their respective owners. Certain AMD technologies may require third-party +enablement or activation. Supported features may vary by operating system. Please confirm with the system manufacturer +for specific features. No technology or product can be completely secure. + diff --git a/reference-architecture/MI3XX/overview.rst b/reference-architecture/MI3XX/overview.rst new file mode 100644 index 0000000..9ba35dd --- /dev/null +++ b/reference-architecture/MI3XX/overview.rst @@ -0,0 +1,599 @@ +.. meta:: + :description: Reference materials for cluster and associated network builds + :keywords: network validation, cluster, cluster design, cluster architecture, cluster network + +************************************************************************************************************************ +AMD Instinct MI3XX Reference Design +************************************************************************************************************************ + +This document provides a common reference for designing GPU cluster networks using AMD Instinct MI300X, MI325X, MI350X, +and MI355X series accelerators, supporting up to 8192 GPUs. It covers fundamental cluster design principles, network +topologies, scalable architectures, and bill of materials for large-scale deployments. Also included are practical +examples, diagrams, and recommendations for both fat tree and rail network designs, as well as guidance on scaling, +hardware selection, and best practices for high-performance AI/ML workloads. The audience for this content encompasses +architects, engineers, and IT professionals. + +Common cluster design principles +======================================================================================================================== + +Fat tree network topologies +------------------------------------------------------------------------------------------------------------------------ + +The canonical fat tree topology is a network concept where a switch's connection to upstream peers has at least parity +bandwidth with the total aggregate bandwidth of its downstream connections. This causes links between switches to become +"fatter" as they get closer to the core. + +The "fat tree" topology for AI/ML clusters instead refers to how a host is connected to its upstream switches; in this +case all host NICs terminate on the same switch. It can also be considered 1-rail network. The network itself is +generally a 3-stage or 5-stage folded Clos network due to the fixed radix of network switches. + +Rail network topologies +------------------------------------------------------------------------------------------------------------------------ + +Rail networks leverage the same folded Clos network as tree networks, but host connections are instead aggregated onto +switches based on NIC rank. These shared ranks are referred to as rails and allow the network to provide preferential +latency for connections which share the same rail. The downside to this design is any traffic which needs to cross +rails/ranks must traverse either the network spine layer, or Infinity Fabric (PXN). + +Comparison between fat tree and rail networks +------------------------------------------------------------------------------------------------------------------------ + +Rail networks can provide better latency for traffic within the same rail, enabling larger single hop ring domains. +However, traffic that needs to cross rails can experience higher latency, which can be a bottleneck in large clusters +with high cross-rail traffic. + +.. image:: ./data/basic-network-topology-design-examples/rail-network-traversals.png + :alt: Example of benefits and limitations of rail network traversals + +Fat tree networks handle cross-rank traffic better, but may have higher latency for traffic that could have been +contained within a single rail in a rail network. + +.. image:: ./data/basic-network-topology-design-examples/cross-rank-traffic-tree.png + :alt: Example of benefits and limitations of fat tree network traversals + +The choice between the two often depends on the specific workload and communication patterns of the applications being +run on the cluster. + +Basic network topologies +======================================================================================================================== + +The following sections describe basic layouts for rail, tree, and hybrid network topologies that can be used as building +blocks for larger cluster designs. These layouts are not exhaustive, but provide a starting point for understanding the +trade-offs between different network architectures. + +2-tier rail network +------------------------------------------------------------------------------------------------------------------------ + +The 2-tier rail network design enables large, scalable unit sizes suitable for large jobs or replica sizes, offering +efficiency for workloads that utilize ring-based collectives, though it also results in higher infrastructure costs due +to the need for additional networking hardware. + +.. image:: ./data/basic-network-topology-design-examples/2-tier-rail-network.png + :alt: 2-tier rail network diagram + +2-tier tree network +------------------------------------------------------------------------------------------------------------------------ + +The 2-tier tree network design is efficient for small workloads or replicas and can easily scale by adding capacity with +proper planning. It also has the potential to reduce overall infrastructure costs, while its design helps limit the +blast radius compared to rail networks. + +.. image:: ./data/basic-network-topology-design-examples/2-tier-tree-network.png + :alt: 2-tier tree network diagram + +3-tier rail TH5/J3 network +------------------------------------------------------------------------------------------------------------------------ + +In the 3-tier rail TH5/J3 network design, spine switches are replaced with a two-tier Jericho3-AI/Ramon3 fabric to +enable a larger maximum cluster size, where deeper buffers and scheduled fabric help alleviate congestion in large +clusters with only a small latency trade-off. + +3-tier tree TH5/J3 network +------------------------------------------------------------------------------------------------------------------------ + +The 3-tier tree TH5/J3 network design provides all the same benefits from switching to a scheduled spine fabric as with +rail, but retains the primary characteristics of tree networks. + +3-tier rail optimized network +------------------------------------------------------------------------------------------------------------------------ + +The 3-tier rail optimized network design allows for massive scalable unit sizes and delivers the best ring-based +collective performance at scale, though this comes with the trade-off of weaker any-to-any communication performance. + +.. image:: ./data/basic-network-topology-design-examples/3-tier-rail-optimized-network.png + :alt: 3-tier rail optimized network diagram + +3-tier tree network +------------------------------------------------------------------------------------------------------------------------ + +The 3-tier tree network design allows for massive cluster sizes and delivers excellent any-to-any performance at scale, +making it well-suited for large deployments that need strong, predictable connectivity. This architecture is +particularly effective for campus-style environments, where broad distribution and high performance are both required. + +.. image:: ./data/basic-network-topology-design-examples/3-tier-tree-network.png + :alt: 3-tier tree optimized network diagram + +3-tier hybrid rail network +------------------------------------------------------------------------------------------------------------------------ + +The 3-tier hybrid rail network design allows for massive cluster sizes with large scalable units, favoring ring-based +collectives while still maintaining solid any-to-any performance for large jobs. These characteristics also make it +well-suited for campus-style deployments that balance scalability with broad connectivity requirements. + +.. image:: ./data/basic-network-topology-design-examples/3-tier-hybrid-rail-network.png + :alt: 3-tier hybrid rail network diagram + +3-tier fully scheduled rail network +------------------------------------------------------------------------------------------------------------------------ + +The 3-Tier fully scheduled rail network designuses medium-sized scalable units and delivers excellent congestion +performance thanks to deep buffers and scheduled fabric, though technical limitations restrict the recommended cluster +size to roughly 32,000 GPUs. + +.. image:: ./data/basic-network-topology-design-examples/3-tier-fully-scheduled-rail-network.png + :alt: 3-tier fully scheduled rail network diagram + +Scaling networks +======================================================================================================================== + +As cluster size increases, the network must be scaled to accommodate the additional bandwidth and connectivity +requirements. For a 2-tier tree network, spine switches do not need to be added until a second scalable unit is deployed +as all rail/rank traffic occurs at the unit-level. In a 2-tier rail network, spine switches are needed at deployment to +connect rails at any scalable unit number. + +.. image:: ./data/basic-network-topology-design-examples/2-tier-network-backend-scaling.png + :alt: Example of network backend scaling for 2-tier network design + +In a 3-tier network, a tree design does not require a super spine until a super-scalable unit is deployed. + +.. image:: ./data/basic-network-topology-design-examples/3-tier-network-backend-scaling.png + :alt: Example of network backend scaling for 3-tier network design + +This holds true for hybrid rail as well, where the super spine is only needed at super-scalable unit deployments, but a +fully scheduled rail network requires a super spine from the initial deployment. + +.. image:: ./data/basic-network-topology-design-examples/3-tier-network-backend-deploy-rail.png + :alt: Example of network backend scaling for 3-tier network design + +Network subscription +======================================================================================================================== + +Subscription is the relationship between what is provided by the upstream network and what is required by the downstream +network in demand side. + +It is typically represented as a ratio: + +.. math:: + + Downstream Demand : Upstream Capacity + +In a 1:1 subscribed network the downstream capacity is equal to the upstream capacity, while in 1:1.16 subscribed +network there is .16 more upstream capacity. + +This can also be represented as a percentage: + +.. math:: + + Subscription Rate = \frac{Downstream Demand}{Upstream Capacity} + +An 80% subscription ratio could be referred to as "20% undersubscribed", or a 120% subscription ratio could be referred +to as "20% oversubscribed". + +Hardware and software components +======================================================================================================================== + +128 to 1024 GPU generic BOM +------------------------------------------------------------------------------------------------------------------------ + +The following table provides a generic bill of materials (BOM) for cluster and network designs ranging from 128 to 1024 +GPUs. The actual components and quantities may vary based on specific design choices, vendor selection, and scalability +requirements. + +**Cluster** + ++------------------+-------------------------+ +| Cluster Size | 128 to 1024 GPU | ++==================+=========================+ +| Platforms | Dell XE9680 | +| | Lenovo SR685a V3 | +| | SMCI AS-8125GS | ++------------------+-------------------------+ +| OS | Ubuntu 22.04 (or above) | ++------------------+-------------------------+ +| Linux kernel | 5.15 - 6.80 | ++------------------+-------------------------+ +| ROCm | 6.33 (Or above) | ++------------------+-------------------------+ + ++------------------+-------------------------+ +| Storage Type | | ++==================+=========================+ +| Local storage | 1.6 TB (or greater) | ++------------------+-------------------------+ +| Utility storage | Pure, Vast, RYO | ++------------------+-------------------------+ +| Bulk storage | Vast, DDN, WekaIO | ++------------------+-------------------------+ +| Scratch storage | Vast, DDN, WekaIO, | +| | Hammerspace | ++------------------+-------------------------+ +| Archive/object | S3 compataible | +| storage | | ++------------------+-------------------------+ + +**Network** + ++---------------------------+-----------------------------------------------------+ +| Backside Network Topology | 2 Tier Rail Optimized / Fat Tree | ++===========================+=====================================================+ +| NIC | Pollara 400, BCM957608 (Thor2) | ++---------------------------+-----------------------------------------------------+ +|| Switch || Arista, Dell, Juniper, Cisco, Nokia | +|| || (TH 4/5, Jericho/Ramon) | ++---------------------------+-----------------------------------------------------+ +| Network OS | SONiC, Junos, EOS, IOS | ++---------------------------+-----------------------------------------------------+ +| Subscription ratio | 1:1.16=16% Undersubscribed (AMD recommended) | ++---------------------------+-----------------------------------------------------+ +| Optics | Vendor ACL/HCL transceivers or direct attach copper | ++---------------------------+-----------------------------------------------------+ +| Fabric | RoCEv2 Ethernet | ++---------------------------+-----------------------------------------------------+ + ++-----------------------------------------+----------------------------------------------+ +| Frontside Network Segement | Adapter Recommended | ++=========================================+==============================================+ +| All-in one network | Ethernet 100 GbE 2-port QSFP28 adapter | ++-----------------------------------------+----------------------------------------------+ +| Storage network (optional) | Ethernet 100 GbE 2-port QSFP28 adapter | ++-----------------------------------------+----------------------------------------------+ +| Virtualization network (optional) | Ethernet 100 GbE 2-port QSFP28 adapter | ++-----------------------------------------+----------------------------------------------+ +| Host in-band | Ethernet 10/25GbE 4-Port SFP28 adapter | ++-----------------------------------------+----------------------------------------------+ +| BMC OOB Mgt | 1G Copper | ++-----------------------------------------+----------------------------------------------+ + + +1024 to 8192 GPU generic BOM +------------------------------------------------------------------------------------------------------------------------ + +The following table provides a generic bill of materials for cluster and network designs ranging from 1024 to 8192 GPUs. +The actual components and quantities may vary based on specific design choices, vendor selection, and scalability +requirements. + +**Cluster** + ++------------------+-------------------------+ +| Cluster Size | 1024 to 8192 GPU | ++==================+=========================+ +| Platforms | Dell XE9680 | +| | Lenovo SR685a V3 | +| | SMCI AS-8125GS | ++------------------+-------------------------+ +| OS | Ubuntu 22.04 (or above) | ++------------------+-------------------------+ +| Linux kernel | 5.15 - 6.80 | ++------------------+-------------------------+ +| ROCm | 6.33 (Or above) | ++------------------+-------------------------+ + ++------------------+-------------------------+ +| Storage Type | | ++==================+=========================+ +| Local storage | 1.6 TB (or greater) | ++------------------+-------------------------+ +| Utility storage | Pure, Vast, RYO | ++------------------+-------------------------+ +| Bulk storage | Vast, DDN, WekaIO | ++------------------+-------------------------+ +| Scratch storage | Vast, DDN, WekaIO, | +| | Hammerspace | ++------------------+-------------------------+ +| Archive/object | S3 compataible | +| storage | | ++------------------+-------------------------+ + +**Network** + ++---------------------------+----------------------------------------------+ +| Backside Network Topology | 2 Tier Rail Optimized / Fat Tree | ++===========================+==============================================+ +| NIC | Pollara 400, BCM957608 (Thor2) | ++---------------------------+----------------------------------------------+ +| Switch | Arista, Dell, Juniper, Cisco, Nokia | +| | (TH 4/5, Scheduled Fabrics) | ++---------------------------+----------------------------------------------+ +| Network OS | SONiC, Junos, EOS, IOS, DriveNets | ++---------------------------+----------------------------------------------+ +| Subscription ratio | 1:1.16=16% Undersubscribed (AMD recommended) | ++---------------------------+----------------------------------------------+ +| Optics | Vendor ACL/HCL | ++---------------------------+----------------------------------------------+ +| Fabric | RoCEv2 Ethernet | ++---------------------------+----------------------------------------------+ + ++-----------------------------------------+----------------------------------------------+ +| Frontside Network Segement | Adapter Recommended | ++=========================================+==============================================+ +| All-in one network | Ethernet 100 GbE 2-port QSFP28 adapter | ++-----------------------------------------+----------------------------------------------+ +| Storage network (optional) | Ethernet 100 GbE 2-port QSFP28 adapter | ++-----------------------------------------+----------------------------------------------+ +| Virtualization network (optional) | Ethernet 100 GbE 2-port QSFP28 adapter | ++-----------------------------------------+----------------------------------------------+ +| Host in-band | Ethernet 10/25GbE 4-Port SFP28 adapter | ++-----------------------------------------+----------------------------------------------+ +| BMC OOB Mgt | 1G Copper | ++-----------------------------------------+----------------------------------------------+ + +Power requirements +======================================================================================================================== + +MI355X +------------------------------------------------------------------------------------------------------------------------ + +These are design assumptions for a 4MW cluster with 2K MI355X GPUs, including options for 51.2T or scheduled fabrics +switches (Arista, Dell, Juniper, Cisco, Nokia). These assumptions are based on typical power consumption values for the +specified hardware components, and actual power usage may vary based on specific workloads, configurations, and +environmental conditions. + +.. note:: + These are estimates only; Please consult with hardware vendor model data sheets for more accurate power + specifications. + ++------------------------------------------------+----------------------------------------------------+ +| **System design** | ++------------------------------------------------+----------------------------------------------------+ +| Quantity | 256 MI355X DLC - 2K GPUs | ++------------------------------------------------+----------------------------------------------------+ +| Average Power per system | ≈ 14kW | ++------------------------------------------------+----------------------------------------------------+ +| 256 Systems | ≈ 3.584 Megawatts | ++------------------------------------------------+----------------------------------------------------+ +| **51.2T switch design** | ++------------------------------------------------+----------------------------------------------------+ +| Quantity | ≈ 61 switches - 51.2T switch (Dell, Cisco, Arista) | ++------------------------------------------------+----------------------------------------------------+ +| Estimated typical/load power per switch | 540w/1125w ≈ 32.94kW/68.63kW | ++------------------------------------------------+----------------------------------------------------+ +| **Scheduled fabrics design** | ++------------------------------------------------+----------------------------------------------------+ +| Quantity | ≈ 10 x 7720R4-128PE & 64 x 7700R4C | ++------------------------------------------------+----------------------------------------------------+ +| Estimated typical/load power 7720R4-128PE | 1032w/3848w ≈ 10.32kW/38.48kW | ++------------------------------------------------+----------------------------------------------------+ +| Estimated typical/load power 7720R4C-38PE | 593w/1840w ≈ 37.96kW/117.76kW | ++------------------------------------------------+----------------------------------------------------+ +| Scheduled fabrics estimated power typical/load | ≈ 48.28kW/156.24kW | ++------------------------------------------------+----------------------------------------------------+ +| **Storage/Management network design** | ++------------------------------------------------+----------------------------------------------------+ +| Please consult storage and OEM vendors for design and power specifications. | ++------------------------------------------------+----------------------------------------------------+ + +Network design examples +======================================================================================================================== + +Designs included are based on either Jericho or Ramon switch types (Arista, Ciena, Nokia) or 51.2T switch types (Arista, +Cisco, Dell, Juniper). Vendors and switch models vary for port count and features; please consult your desired vendor's +port count directly to confirm. + +The diagrams presented in this section are designed around a scalable unit or POD, which can determine overall network +end to end latency and AI use cases. Certain ML/AI workloads may require a change of scalable unit size. Please consult +with AMD Architecture as required. + +128 GPU topology design examples 51.2T +------------------------------------------------------------------------------------------------------------------------ + +**Single switch design - 8-128 GPU (1-16 nodes)** + +.. image:: ./data/1k-gpu-topology-design-examples/8-128-gpu-single-sw-design.png + :alt: 8-128 GPU single switch design diagram + +256 - 864 GPU topology design examples scheduled fabrics +------------------------------------------------------------------------------------------------------------------------ + +**Tree design - 129-256 GPU (17-32 nodes)** + +.. image:: ./data/1k-gpu-topology-design-examples/129-256-gpu-tree-design.png + :alt: 129-256 GPU tree design diagram + +**Rail design - 129-288 GPU (17-36 nodes)** + +.. image:: ./data/1k-gpu-topology-design-examples/129-288-gpu-rail-design.png + :alt: 129-288 GPU rail design diagram + +**Tree design - 257-512 GPU (33-64 nodes)** + +.. image:: ./data/1k-gpu-topology-design-examples/257-512-gpu-tree-design.png + :alt: 257-512 GPU tree design diagram + +**Rail design - 289-576 GPU (37-72 nodes)** + +.. image:: ./data/1k-gpu-topology-design-examples/289-576-gpu-rail-design.png + :alt: 289-576 GPU rail design diagram + +**Tree design - 513-768 GPU (65-96 nodes)** + +.. image:: ./data/1k-gpu-topology-design-examples/513-768-gpu-tree-design.png + :alt: 513-768 GPU tree design diagram + +**Rail design - 577-864 GPU (73-108 nodes)** + +.. image:: ./data/1k-gpu-topology-design-examples/577-864-gpu-rail-design.png + :alt: 577-864 GPU rail design diagram + +1K GPU topology design examples scheduled fabrics +------------------------------------------------------------------------------------------------------------------------ + +**Tree design - 128-1024 GPU (16-128 nodes)** + +.. image:: ./data/1k-gpu-topology-design-examples/128-1024-gpu-tree-design.png + :alt: 128-1024 GPU tree design diagram + +**Rail design - 128-1152 GPU (16-144 nodes)** + +.. image:: ./data/1k-gpu-topology-design-examples/128-1152-gpu-rail-design.png + :alt: 128-1152 GPU rail design diagram + +2K GPU topology design examples scheduled fabrics +------------------------------------------------------------------------------------------------------------------------ + +**Tree design - 2048 GPU (256 Nodes)** + +.. image:: ./data/2k-gpu-topology-design-examples/network-diagram-2048GPU-tree-design.png + :alt: Network diagram - 2048 GPU (256 Nodes), Tree design + +**Tree scalable unit - 2048 GPU (256 Nodes)** + +.. image:: ./data/2k-gpu-topology-design-examples/network-diagram-2048GPU-tree-scalable-unit.png + :alt: Network diagram - 2048 GPU (256 Nodes), Tree scalable unit + +**Rail design - 2048-2304 GPU (256-288 Nodes)** + +.. image:: ./data/2k-gpu-topology-design-examples/network-diagram-2048-2304GPU-rail-design.png + :alt: Network diagram - 2048-2304 GPU (256-288 Nodes), Rail design + +**Rail scalable unit - 2048-2304 GPU (256-288 Nodes)** + +.. image:: ./data/2k-gpu-topology-design-examples/network-diagram-2048-2304GPU-rail-scalable-unit.png + :alt: Network diagram - 2048-2304 GPU (256-288 Nodes), Rail scalable unit + +2K GPU topology design examples 51.2T +------------------------------------------------------------------------------------------------------------------------ + +**Tree design - 2072 GPU (259 Nodes)** + +.. image:: ./data/2k-gpu-topology-design-examples/network-diagram-2072GPU-tree-design.png + :alt: Network diagram - 2072 GPU (259 Nodes), Tree design + +**Tree scalable unit - 2072 GPU (259 Nodes)** + +.. image:: ./data/2k-gpu-topology-design-examples/network-diagram-2072GPU-tree-scalable-unit.png + :alt: Network diagram - 2072 GPU (259 Nodes), Tree scalable unit + +**Rail design - 2080 GPU (260 Nodes)** + +.. image:: ./data/2k-gpu-topology-design-examples/network-diagram-2080GPU-rail-design.png + :alt: Network diagram - 2080 GPU (260 Nodes), Rail design + +**Rail scalable unit - 2080 GPU (260 Nodes)** + +.. image:: ./data/2k-gpu-topology-design-examples/network-diagram-2080GPU-rail-scalable-unit.png + :alt: Network diagram - 2080 GPU (260 Nodes), Rail scalable unit + +4K GPU topology design examples scheduled fabrics +------------------------------------------------------------------------------------------------------------------------ + +**Tree design - 4096 GPU (512 Nodes)** + +.. image:: ./data/4k-gpu-toplogy-design-examples/network-diagram-4096GPU-tree-design.png + :alt: Network diagram - 4096 GPU (512 Nodes), Tree design + +**Tree scalable unit - 4096 GPU (512 Nodes)** + +.. image:: ./data/4k-gpu-toplogy-design-examples/network-diagram-4096GPU-tree-scalable-unit.png + :alt: Network diagram - 4096 GPU (512 Nodes), Tree scalable unit + +**Rail design - 4096-4608 GPU (512-576 Nodes)** + +.. image:: ./data/4k-gpu-toplogy-design-examples/network-diagram-4096-4608GPU-rail-design.png + :alt: Network diagram - 4096-4608 GPU (512-576 Nodes), Rail design + +**Rail scalable unit - 4096-4608 GPU (512-576 Nodes)** + +.. image:: ./data/4k-gpu-toplogy-design-examples/network-diagram-4096-4608GPU-rail-scalable-unit.png + :alt: Network diagram - 4096-4608 GPU (512-576 Nodes), Rail scalable unit + +4K GPU topology design examples 51.2T +------------------------------------------------------------------------------------------------------------------------ + +**Tree design - 4144 GPU (518 Nodes)** + +.. image:: ./data/4k-gpu-toplogy-design-examples/network-diagram-4144GPU-tree-design.png + :alt: Network diagram - 4144 GPU (518 Nodes), Tree design + +**Tree scalable unit - 4144 GPU (518 Nodes)** + +.. image:: ./data/4k-gpu-toplogy-design-examples/network-diagram-4144GPU-tree-scalable-unit.png + :alt: Network diagram - 4144 GPU (518 Nodes), Tree scalable unit + +**Rail design - 4104 GPU (513 Nodes)** + +.. image:: ./data/4k-gpu-toplogy-design-examples/network-diagram-4104GPU-rail-design.png + :alt: Network diagram - 4104 GPU (518 Nodes), Rail design + +**Rail scalable unit - 4104 GPU (513 Nodes)** + +.. image:: ./data/4k-gpu-toplogy-design-examples/network-diagram-4104GPU-rail-scalable-unit.png + :alt: Network diagram - 4104 GPU (518 Nodes), Rail scalable unit + +6K GPU topology design examples scheduled fabrics +------------------------------------------------------------------------------------------------------------------------ + +**Tree design - 6016 GPU (752 Nodes)** + +.. image:: ./data/6k-gpu-toplogy-design-examples/network-diagram-6016GPU-tree-design.png + :alt: Network diagram - 6016 GPU (752 Nodes), Tree design + +**Tree scalable unit - 6016 GPU (752 Nodes)** + +.. image:: ./data/6k-gpu-toplogy-design-examples/network-diagram-6016GPU-tree-scalable-unit.png + :alt: Network diagram - 6016 GPU (752 Nodes), Tree scalable unit + +**Rail design - 6144-6912 GPU (768-864 Nodes)** + +.. image:: ./data/6k-gpu-toplogy-design-examples/network-diagram-6144-6912GPU-rail-design.png + :alt: Network diagram - 6144-6912 GPU (768-864 Nodes), Rail design + +**Rail scalable unit - 6144-6912 GPU (768-864 Nodes)** + +.. image:: ./data/6k-gpu-toplogy-design-examples/network-diagram-6144-6912GPU-rail-scalable-unit.png + :alt: Network diagram - 6144-6912 GPU (768-864 Nodes), Rail scalable unit + +6K GPU topology design examples 51.2T +------------------------------------------------------------------------------------------------------------------------ + +**Tree design - 6048 GPU (756 Nodes)** + +.. image:: ./data/6k-gpu-toplogy-design-examples/network-diagram-6048GPU-tree-design.png + :alt: Network diagram - 6048 GPU (756 Nodes), Tree design + +**Tree scalable unit - 6048 GPU (756 Nodes)** + +.. image:: ./data/6k-gpu-toplogy-design-examples/network-diagram-6048GPU-tree-scalable-unit.png + :alt: Network diagram - 6048 GPU (756 Nodes), Tree scalable unit + +**Rail design - 6032 GPU (754 Nodes)** + +.. image:: ./data/6k-gpu-toplogy-design-examples/network-diagram-6032GPU-rail-design.png + :alt: Network diagram - 6032 GPU (754 Nodes), Rail design + +**Rail scalable unit - 6032 GPU (754 Nodes)** + +.. image:: ./data/6k-gpu-toplogy-design-examples/network-diagram-6032GPU-rail-scalable-unit.png + :alt: Network diagram - 6032 GPU (754 Nodes), Rail scalable unit + +8K GPU topology design examples scheduled fabrics +------------------------------------------------------------------------------------------------------------------------ + +**Tree design - 8192 GPU (1024 Nodes)** + +.. image:: ./data/8k-gpu-toplogy-design-examples/network-diagram-8192GPU-tree-design.png + :alt: Network diagram - 8192 GPU (1024 Nodes), Tree design + +**Tree scalable unit - 8192 GPU (1024 Nodes)** + +.. image:: ./data/8k-gpu-toplogy-design-examples/network-diagram-8192GPU-tree-scalable-unit.png + :alt: Network diagram - 8192 GPU (1024 Nodes), Tree scalable unit + +**Rail design - 8192-9216 GPU (1024-1152 Nodes)** + +.. image:: ./data/8k-gpu-toplogy-design-examples/network-diagram-8192-9216GPU-rail-design.png + :alt: Network diagram - 8192-9216 GPU (1024-1152 Nodes), Rail design + +**Rail scalable unit - 8192-9216 GPU (1024-1152 Nodes)** + +.. image:: ./data/8k-gpu-toplogy-design-examples/network-diagram-8192-9216GPU-rail-scalable-unit.png + :alt: Network diagram - 8192-9216 GPU (1024-1152 Nodes), Rail scalable unit \ No newline at end of file diff --git a/reference-architecture/MI3XX/sphinx/_toc.yml.in b/reference-architecture/MI3XX/sphinx/_toc.yml.in new file mode 100644 index 0000000..a915ac8 --- /dev/null +++ b/reference-architecture/MI3XX/sphinx/_toc.yml.in @@ -0,0 +1,9 @@ +# mi3xx-reference/sphinx/_toc.yml +defaults: + numbered: False + maxdepth: 6 +root: index +entries: + - file: overview + title: Overview + - file: legal-information \ No newline at end of file