# EPYC™ System Management Interface (E-SMI) In-band Library NEW! E-SMI library beta 5.0 is now available The EPYC™ System Management Interface In-band Library, or E-SMI library, is a C library for Linux that provides a user space interface to monitor and control the CPU's power, energy, performance and other system management features. # Changes Notes ## Highlights of release v5.0 * Added support for F1A M50-5F. * --setcorebl to provide failure summary by comparing against Fmin/Fmax. * --showxgmibw to take linkname and bwtype in any case(upper/lower/mix). * Add Socket Information to Print Summary. * DIMM Power Display in Watts. * Logger: Update Logger Header to have right delimiter between String and Numbers. * Convert DIMM Refresh Rate to user Friendly Names. Note: All the features of this release work well only with hsmp driver tag 3.0 (https://github.com/amd/amd_hsmp) and above. ## Highlights of release v4.3 * Adding JSON/CSV format prints for get options. * Adding logger(CSV) support for get options. * Adding loopcount, loopdelay, initialdelay support for continuous monitoring of data for get options. ## Highlights of release v4.2 * amd_hsmp.h is added as part of E-smi library. * E-smi installation path is updated. * Bug and warnings fixed. ## Highlights of release v4.1.2 * Bug fix release ## Highlights of release v4.1.1 * Clang compiler is supported. * Some of the bugs are fixed. * tool option is added to read the HSMP driver version. ## Highlights of release v4.0.0 * AMD Family 0x1A and model 0x00-0x1f processors are supported in this release. * Any of the hsmp/amd_energy/msr_safe/msr driver can be used to monitor energy. ## Highlights of release v3.0.0 * AMD MI300 processors are supported in this release. * Library is modified to support platform specific check in each message in an organised way. * tool options are modified to show valid input values ## Highlights of minor release v2.1 * Library is updated to align with changes in the processor spec ## Highlights of release v2.0 * Supports new HSMP protocol version 5 messages, defined for Family 19h Model 10h - SP5 * New APIs are added for platform features * esmi_tool is update with platform specific features ## Highlights of release v1.5 * Supports ioctl based implementation of hsmp driver with support for follwoing new APIs * Set XGMI link width for 2P connected systems * Set LCLK dpm level for NBIO id * APB Disable and Enable messages ## Highlights of minor release v1.2 * Support to compile ESMI In-band library as static * Support for new system management features in tool and library, such as * Get SMU Firmware version * Get PROCHOT status * Get clocks * CPU clock frequency limit * Data Fabric Clock(fclk), * DRAM Memory Clock(mclk) and * Provide maximum DDR bandwidth(theoritical) & DDR bandwidth utilization * Add more options and improve tool's console output for readability ## Highlights of minor release v1.1 * Support for creating RPM and DEB packages * Auxiliary APIs to provide system topology * An API to read all the Energy counters on the CPU at once. * Single command to create doxygen based PDF document * Updated e_smi_tool supporting all the above information * Cosmetic changes to the tool ## Highlights of major release v1.0 * Power * Current Power Consumed * Power Limit * Max Power Limit * Performance * Boostlimit * Energy * Energy Consumed * e_smi_tool, user application supporting all the above information. # Specifications ## Processors: Target released for AMD EPYC™ processor Family 19h, model 0h-1Fh, 30h-3Fh, 90h-9Fh, A0h-AFh and Family 0x1A model 0h-1Fh. ## Operating Systems AMD ESMI In-band library is tested on following distributions * Ubuntu 18.04, 20.04 * SUSE SLES 15 and * RHEL 8.1 # Dependency This new e-smi release works well with [amd_hsmp](https://github.com/amd/amd_hsmp.git) driver version 2.4. Not all features will work with version < 2.4. Setting cpu rail iso frequency policy, df c-state enabling, xGMI pstate range setting etc will only work with 2.4 version of amd_hsmp driver. # Resources and Technical Support ## Resources * Documentation: https://github.com/amd/esmi_ib_library/blob/master/ESMI_Manual.pdf * Source code: https://github.com/amd/esmi_ib_library ## Support Thank you for using AMD ESMI In-band Library. Please use [ESMI In-band Support](https://github.com/amd/esmi_ib_library/issues) for bug reports, support and feature requests. ## Known Issues * In creating package if "make install" is used previously with "sudo", need to create package with sudo permission, "sudo make package", else permission denied error is popped.