xref: /dpdk/doc/guides/linux_gsg/amd_platform.rst (revision 76cef1af8bdaeaf67a5c4ca5df3f221df994dc46)
1.. SPDX-License-Identifier: BSD-3-Clause
2   Copyright(c) 2023 Advanced Micro Devices, Inc. All rights reserved.
3
4How to get best performance on AMD platform
5===========================================
6
7This document provides a detailed, step-by-step guide
8on configuring AMD EPYC System-on-Chip (SoC) for optimal performance
9in DPDK applications across different SoC families.
10
11The overall performance is influenced by factors such as BIOS settings,
12NUMA per socket configuration, memory per NUMA allocation,
13and proximity to IO devices.
14
15These are covered in various sections of tuning guides shared below.
16
17
18Tuning Guides for AMD EPYC SoC
19------------------------------
20
21#. `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>`_
22
23#. `GENOA <https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/58017-amd-epyc-9004-tg-data-plane-dpdk.pdf>`_
24
25#. `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>`_
26
27
28General Requirements
29--------------------
30
31Memory
32~~~~~~
33
34Refer to the `Memory Configuration` section for specific details related to the System-on-Chip (SoC).
35
36.. note::
37
38   As a general guideline, it is recommended to populate
39   at least one memory DIMM in each memory channel.
40   The optimal memory size for each DIMM is at least 8, 16, or 32 GB,
41   utilizing ECC modules.
42
43
44BIOS
45----
46
47Refer to the `BIOS Performance` section in tuning guide for recommended settings.
48
49
50Linux GRUB
51----------
52
53Refer to the `Linux OS & Kernel` in tuning guide for recommended settings.
54
55
56NIC and Accelerator
57-------------------
58
59AMD EPYC supports PCIe Generation of 1|2|3|4|5 depending upon SoC families.
60For best performance ensure the right slots are used which provides adequate bandwidth.
61
62Use ``lspci`` to check the speed of a PCI slot::
63
64   lspci -s 41:00.0 -vv | grep LnkSta
65
66   LnkSta: Speed 16GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- ...
67   LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+ ...
68
69
70Compiler
71--------
72
73Refer to the `Compiler Flags` in tuning guide for recommended version and `-march` flags.
74