This pull request adds Mi300 support from our mi300 branch into the 2.x redesign. I've tested these changes on all of the Mi300 varients that we'll be supporting.
Since we're withholding plotext module, some CLI elements are stuck in table view (i.e. l2 cache per channel, mem chart, etc.). Pending the availability of the updated module, we may pivot to other existing Python utilities.
Roofline analysis in Mi300 has been temporarily disabled. We still need to verify this feature via independent tests.
Special thanks to @feizheng10 for his contributions in this PR.
Overview
This pull request adds Mi300 support from our
mi300
branch into the2.x
redesign. I've tested these changes on all of the Mi300 varients that we'll be supporting.From now on, our "source of truth" for supported SoC's is the
__supported_archs
property of the mainOmniperf()
class. This value is passed to all sub-classes that need this arch -> GPU name mapping. https://github.com/AMDResearch/omniperf/blob/131429087b1fe7ec6997c554c7e2f9069d8a057b/src/omniperf_base.py#L50-L57Major Changes
MachineSpecs()
properties with improved naming conventions and additional fields for Mi300 support (i.e., compute_partion and memory_partition) https://github.com/AMDResearch/omniperf/blob/131429087b1fe7ec6997c554c7e2f9069d8a057b/src/utils/specs.py#L38-L65--specs-correction
. At any time, peek current machine specs via--specs
cli_style
property which can define infographic style for CLI analysis view--list-metrics
implementation to highlight both individual metrics in addition to sections that can be toggled, i.e.Notes
mi300
branch. This will not be merged upstream until the PyPi module is updated. Current ETA is ~ March https://github.com/piccolomo/plotext/issues/196#issuecomment-1890988471Special thanks to @feizheng10 for his contributions in this PR.