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