Got `Superseded`
is there a new version shared for `AMD tuning guide`?
Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding. Add AMD EPYC SoC tuning guide as new setcion of linux getting started guide. Signed-off-by: Vipin Varghese <vipin.varghese@amd.com> --- doc/guides/linux_gsg/amd_platform.rst | 63 +++++++++++++++++++++++++++ doc/guides/linux_gsg/index.rst | 1 + 2 files changed, 64 insertions(+) create mode 100644 doc/guides/linux_gsg/amd_platform.rst diff --git a/doc/guides/linux_gsg/amd_platform.rst b/doc/guides/linux_gsg/amd_platform.rst new file mode 100644 index 0000000000..cdb535e9c0 --- /dev/null +++ b/doc/guides/linux_gsg/amd_platform.rst @@ -0,0 +1,63 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2023 Advanced Micro Devices, Inc. All rights reserved. + +How to get best performance on AMD platform +=========================================== + +This document shares step-by-step guide for configuring AMD EPYC SoC across various families for getting best performance for DPDK applications. +Various factors like BIOS, Numa Per Socket, Memory per Numa, near-far from IO device affects the overall performance. + +These are covered in various sections of tuning guides shared below. + + +Tuning Guide for AMD EPYC SoC +----------------------------- + +#. `MILAN <https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/data-plane-development-kit-tuning-guide-amd-epyc7003-series-processors.pdf>`_ + +#. `GENOA <https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/58017-amd-epyc-9004-tg-data-plane-dpdk.pdf>`_ + +#. `BERGAMO|SIENNA <https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/58310_amd-epyc-8004-tg-data-plane-dpdk.pdf>`_ + + +General Requirements +-------------------- + +Memory +~~~~~~ + +Refer `Memory Configuration` section for SoC specific details. + +Note: general thumb rule is to ensure that each memory channel has at least one memory DIMM populated. The ideal memory size for each is at least 8|16|32 GB ECC modules. + + +BIOS +---- + +Refer `BIOS Performance` section in tuning guide for recommended settings. + + +Linux Grub +---------- + +Refer `Linux OS & Kernel` in tuning guide for recommended settings. + + +NIC and Accelerator +------------------- + +AMD EPYC supports PCIe Generation of 1|2|3|4|5 depending upon SoC families. For best performance ensure the right slots are used which provides adequate bandwidth. + +Use ``lspci`` to check the speed of a PCI slot :: + + lspci -s 41:00.0 -vv | grep LnkSta + + LnkSta: Speed 16GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- ... + LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+ ... + + +Compiler +------- + +Refer `Compiler Flags` for recommended version and `-march` flags. + diff --git a/doc/guides/linux_gsg/index.rst b/doc/guides/linux_gsg/index.rst index c3e67bf9ec..ecdaf35eec 100644 --- a/doc/guides/linux_gsg/index.rst +++ b/doc/guides/linux_gsg/index.rst @@ -21,3 +21,4 @@ Getting Started Guide for Linux linux_eal_parameters enable_func nic_perf_intel_platform + amd_platform -- 2.34.1