Source code for habitat.analysis.wave_scaling.unified

from habitat.analysis.metrics import Metric
from habitat.analysis.wave_scaling.resimplified import (
    resimplified_wave_scaling,
)
from habitat.analysis.wave_scaling.roofline import roofline_wave_scaling


[docs]def unified_wave_scaling( kernel, origin_device, dest_device, metadata_manager, ): try: # Try reading metrics. These calls will raise exceptions if the metrics # do not exist. _ = kernel.get_metric(Metric.SinglePrecisionFLOPEfficiency) _ = kernel.get_metric(Metric.DRAMReadBytes) _ = kernel.get_metric(Metric.DRAMWriteBytes) return roofline_wave_scaling( kernel, origin_device, dest_device, metadata_manager, ) except AttributeError: pass # Use resimplified wave scaling when metrics are unavailable return resimplified_wave_scaling( kernel, origin_device, dest_device, metadata_manager,
)