<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Mlcommons on lo0 — Blog Técnico</title><link>https://blog.lo0.es/tags/mlcommons/</link><description>Recent content in Mlcommons on lo0 — Blog Técnico</description><generator>Hugo -- gohugo.io</generator><language>es</language><lastBuildDate>Mon, 15 Jun 2026 06:00:00 +0200</lastBuildDate><atom:link href="https://blog.lo0.es/tags/mlcommons/index.xml" rel="self" type="application/rss+xml"/><item><title>MLPerf Power: el benchmark estándar de eficiencia energética para sistemas ML on-premise</title><link>https://blog.lo0.es/posts/mlperf-power-eficiencia-energetica/</link><pubDate>Mon, 15 Jun 2026 06:00:00 +0200</pubDate><guid>https://blog.lo0.es/posts/mlperf-power-eficiencia-energetica/</guid><description>&lt;blockquote>
&lt;p>Notación: importes en &lt;strong>euros (N €)&lt;/strong>, decimales con coma. No se usa el símbolo de dólar
(en este sitio es delimitador de fórmula).&lt;/p>
&lt;/blockquote>
&lt;h2 id="tldr">TL;DR&lt;/h2>
&lt;p>MLPerf Power es el único benchmark estandarizado para medir la eficiencia energética de sistemas ML completos, gestionado por el MLCommons Power Working Group y respaldado por más de 20 organizaciones. Mide potencia &lt;strong>a la pared&lt;/strong> (AC wall power) de todo el System Under Test —GPUs, CPUs, memoria, interconexión, ventiladores— con un analizador de potencia certificado SPEC PTDaemon (Yokogawa WT310/WT5000) y las herramientas públicas de &lt;code>mlcommons/power-dev&lt;/code>. La métrica central para inferencia en datacenter es &lt;strong>samples/joule&lt;/strong> (o tokens/joule para LLMs); para latencia, energía por stream. El corpus público acumula &lt;strong>1.841 mediciones reproducibles de 60 sistemas&lt;/strong> (590 datacenter, 792 edge, 447 tiny, 12 training). GPT-J y Llama 2 muestran mejoras de &lt;strong>más de 100× en samples/joule&lt;/strong> entre las primeras y últimas rondas disponibles. La comparación directa con la medición por software del post C3 (DCGM/NVML/RAPL/Kepler) revela que MLPerf Power ofrece &lt;strong>máxima precisión y reproducibilidad&lt;/strong> al coste de hardware dedicado (~3.000 USD el Yokogawa 310E) y de la obligatoriedad de ser miembro de MLCommons para acceder a PTDaemon; la medición por software es continua, sin hardware extra, pero con barra de error mayor y sin validación externa.&lt;/p>
&lt;hr>
&lt;h2 id="qué-es-mlperf-power-y-cómo-encaja-en-el-ecosistema-mlcommons">Qué es MLPerf Power y cómo encaja en el ecosistema MLCommons&lt;/h2>
&lt;p>&lt;strong>MLCommons&lt;/strong> es el consorcio de más de 100 organizaciones (NVIDIA, Google, Intel, Dell, AMD, Meta…) que mantiene los benchmarks MLPerf: Training, Inference (Datacenter y Edge), Tiny, HPC, Storage, Client y Automotive. El &lt;strong>Power Working Group&lt;/strong> es el grupo específico que extiende cada uno de esos benchmarks añadiendo la dimensión energética (&lt;a href="https://mlcommons.org/working-groups/benchmarks/power/">MLCommons Power Working Group&lt;/a>).&lt;/p>
&lt;p>MLPerf Power no es un benchmark independiente: es una &lt;strong>capa de medición energética&lt;/strong> que se superpone a los benchmarks de rendimiento existentes. Para que una submission sea válida con power, debe cumplir primero las reglas de rendimiento (MLPerf Inference, Training o Tiny) y además las reglas adicionales de medición de potencia.&lt;/p>
&lt;h3 id="acoplamiento-con-mlperf-inference">Acoplamiento con MLPerf Inference&lt;/h3>
&lt;p>La integración más relevante para inferencia on-premise es con &lt;strong>MLPerf Inference Datacenter&lt;/strong>, que define:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Scenarios&lt;/strong>: &lt;code>Server&lt;/code> (latencia, queries por segundo con cola de peticiones) y &lt;code>Offline&lt;/code> (throughput puro, batch sin restricción de latencia). Power se mide en ambos.&lt;/li>
&lt;li>&lt;strong>Benchmarks&lt;/strong>: ResNet-50, BERT, RNN-T, 3D-UNET, RetinaNet, DLRM, GPT-J 6B, Llama 2 70B (desde v4.0), Mixtral 8×7B (desde v5.0).&lt;/li>
&lt;li>&lt;strong>Divisions&lt;/strong>: &lt;code>closed&lt;/code> (modelo y preprocesado fijados, solo se permite optimizar el runtime) y &lt;code>open&lt;/code> (modificaciones permitidas al modelo).&lt;/li>
&lt;/ul>
&lt;p>Power se mide durante la &lt;strong>fase de performance&lt;/strong>, no durante la de accuracy ni compliance. El mismo run que genera el performance log genera el power log: está prohibido reportar el rendimiento más alto de tres runs y la potencia más baja de otros tres (&lt;a href="https://github.com/mlcommons/inference_policies/blob/master/power_measurement.adoc">MLPerf Inference Power Measurement Rules, §5.9&lt;/a>).&lt;/p>
&lt;h3 id="acoplamiento-con-mlperf-training-y-tiny">Acoplamiento con MLPerf Training y Tiny&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>MLPerf Training&lt;/strong>: la medición de potencia a gran escala (multi-nodo, 10K+ GPUs) no usa analizador externo —es impracticable—. En su lugar se usa telemetría de nodo (IPMI/Redfish) + estimación de la red de interconexión. La métrica es &lt;strong>energía para entrenar&lt;/strong> (J o kWh). En las submissions de v4.0 con power, los sistemas con Llama 2 70B Training van de nodos individuales hasta cientos, revelando el escalado no lineal de la energía (&lt;a href="https://arxiv.org/abs/2410.12032">arXiv 2410.12032&lt;/a>).&lt;/li>
&lt;li>&lt;strong>MLPerf Tiny&lt;/strong>: sistemas microcontrolador (desde 5,64 mW). Se usa instrumentación de micro-potencia especializada con pines hardware para demarcar el inicio y fin de la inferencia. La métrica es &lt;strong>energía por inferencia&lt;/strong> (J), no samples/joule.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="metodología-de-medición-wall-power-certificada">Metodología de medición: wall power certificada&lt;/h2>
&lt;h3 id="el-principio-fundamental-todo-el-sut-a-la-pared">El principio fundamental: todo el SUT, a la pared&lt;/h3>
&lt;p>La regla número uno es absoluta: &lt;strong>la potencia debe medirse a nivel de sistema&lt;/strong>, es decir, incluyendo todos los componentes que el benchmark activa: procesadores host, aceleradores, memoria, discos, ventiladores, interconexión interna. No basta con medir solo las GPUs (&lt;a href="https://github.com/mlcommons/inference_policies/blob/master/power_measurement.adoc">MLPerf Inference Power Measurement Rules, §5.1&lt;/a>):&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;The power consumption must be measured at the system level, i.e. including all components that are sensitized by LoadGen e.g. the host processor on which LoadGen runs, accelerators, memory, fans, etc.&amp;rdquo;&lt;/p>
&lt;/blockquote>
&lt;p>La potencia se mide en &lt;strong>AC&lt;/strong> (corriente alterna), a la entrada del SUT, antes de los PSUs. Está prohibida cualquier batería o almacenamiento de energía entre la toma de corriente y los PSUs del sistema.&lt;/p>
&lt;h3 id="hardware-de-medición-analizador-de-potencia-certificado-spec">Hardware de medición: analizador de potencia certificado SPEC&lt;/h3>
&lt;p>MLPerf Power exige un &lt;strong>analizador de potencia certificado&lt;/strong> por SPEC PTDaemon (&lt;a href="https://open.spec.org/power/docs/specpower-device_list/">lista oficial SPEC&lt;/a>). El más extendido en las submissions es el &lt;strong>Yokogawa WT310E&lt;/strong> (~3.000 USD), que conecta al director vía USB (Linux) o Ethernet/serial (Windows). El voltaje se mide en paralelo y la corriente en serie con la línea de alimentación del SUT.&lt;/p>
&lt;p>Especificaciones relevantes del Yokogawa WT310E:&lt;/p>
&lt;ul>
&lt;li>Precisión de potencia: &lt;strong>0,1 % de lectura + 0,1 % del rango&lt;/strong>&lt;/li>
&lt;li>Rango de medición: µW a MW (el WT5000 llega a instalaciones industriales)&lt;/li>
&lt;li>Actualización: desde 50 ms&lt;/li>
&lt;/ul>
&lt;p>Para sistemas de más de un canal o nodos multi-PSU, se permiten configuraciones multi-analizador. La regla de ranging: primero se hace una &lt;strong>ranging run&lt;/strong> con rango en modo &lt;code>Auto&lt;/code> para determinar los valores máximos de corriente y voltaje; los runs de testing usan rangos fijos basados en esos picos, lo que maximiza la precisión dentro del rango. El modo &lt;code>Auto&lt;/code> no está permitido en los runs de testing.&lt;/p>
&lt;h3 id="spec-ptdaemon-el-daemon-que-orquesta-la-medición">SPEC PTDaemon: el daemon que orquesta la medición&lt;/h3>
&lt;p>&lt;strong>PTDaemon&lt;/strong> (Power Thermal Daemon) es la herramienta de SPEC que gestiona la comunicación con el analizador. MLCommons tiene licencia para usarlo dentro del flujo MLPerf Power. El acceso requiere ser miembro de MLCommons y firmar el EULA correspondiente (&lt;a href="https://github.com/mlcommons/inference_policies/blob/master/power_measurement.adoc#frequently-asked-questions-faq">MLPerf Power FAQ&lt;/a>).&lt;/p>
&lt;p>El flujo de medición es el siguiente:&lt;/p>
&lt;div class="diagram" style="max-width:760px;margin:1rem auto;">
&lt;svg viewBox="0 0 760 230" role="img" aria-label="Flujo de medición MLPerf Power: Director con PTDaemon conectado al analizador Yokogawa, que alimenta el SUT; cliente en el SUT sincroniza timestamps vía NTP" xmlns="http://www.w3.org/2000/svg">
&lt;style>.bx{fill:none;stroke:currentColor;stroke-width:1.3}.dsh{fill:none;stroke:currentColor;stroke-width:1.2;stroke-dasharray:5 3}.tl{font:600 12px sans-serif;fill:currentColor}.ts{font:11px sans-serif;fill:currentColor}.ar{fill:none;stroke:currentColor;stroke-width:1.3;marker-end:url(#am)}&lt;/style>
&lt;defs>&lt;marker id="am" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto">&lt;path d="M0,0 L10,5 L0,10 z" fill="currentColor"/>&lt;/marker>&lt;/defs>
&lt;rect class="bx" x="20" y="40" width="200" height="64" rx="6"/>
&lt;text x="32" y="62" class="tl">Director (PC)&lt;/text>
&lt;text x="32" y="78" class="ts">server.py + PTDaemon&lt;/text>
&lt;text x="32" y="94" class="ts">NTP sync → logs CSV&lt;/text>
&lt;path class="ar" d="M220,72 L280,72"/>
&lt;rect class="bx" x="280" y="40" width="160" height="64" rx="6"/>
&lt;text x="292" y="62" class="tl">Analizador&lt;/text>
&lt;text x="292" y="78" class="ts">Yokogawa WT310E&lt;/text>
&lt;text x="292" y="94" class="ts">AC wall power&lt;/text>
&lt;path class="ar" d="M440,72 L500,72"/>
&lt;rect class="bx" x="500" y="20" width="240" height="104" rx="6"/>
&lt;text x="512" y="42" class="tl">SUT (System Under Test)&lt;/text>
&lt;text x="512" y="58" class="ts">client.py + LoadGen&lt;/text>
&lt;text x="512" y="74" class="ts">4×H100 SXM + CPU + RAM&lt;/text>
&lt;text x="512" y="90" class="ts">ventiladores + interconexión&lt;/text>
&lt;text x="512" y="106" class="ts">→ performance log + timestamps&lt;/text>
&lt;line class="dsh" x1="360" y1="130" x2="360" y2="190"/>
&lt;text x="280" y="155" class="ts">corriente en serie&lt;/text>
&lt;text x="280" y="170" class="ts">voltaje en paralelo&lt;/text>
&lt;text x="20" y="215" class="ts">El analizador mide AC a la entrada del SUT. Director y SUT sincronizan NTP. Power log y performance log se alinean por timestamps para calcular la métrica final.&lt;/text>
&lt;/svg>
&lt;/div>
&lt;p>El proceso paso a paso (&lt;a href="https://github.com/mlcommons/power-dev">&lt;code>mlcommons/power-dev&lt;/code>&lt;/a>):&lt;/p>
&lt;ol>
&lt;li>&lt;strong>NTP sync&lt;/strong> entre Director y SUT para alinear timestamps.&lt;/li>
&lt;li>&lt;strong>Ranging run&lt;/strong>: potencia con rangos en &lt;code>Auto&lt;/code>; el analizador determina los picos de corriente y voltaje.&lt;/li>
&lt;li>&lt;strong>Testing run&lt;/strong>: rangos fijos; LoadGen ejecuta el benchmark; Director registra potencia con timestamps; SUT registra performance log con timestamps de inicio/fin de la fase de ejecución.&lt;/li>
&lt;li>&lt;strong>Post-proceso&lt;/strong>: el resultado summarizer cruza power log y performance log por timestamps para calcular la potencia media en la ventana de ejecución.&lt;/li>
&lt;li>&lt;strong>Mínimo de 60 segundos&lt;/strong> de datos de potencia válidos. Si el workload termina antes de 60 s, se ejecuta en bucle hasta alcanzar ese umbral.&lt;/li>
&lt;/ol>
&lt;h3 id="qué-entra-y-qué-no-entra-en-el-sut">Qué entra y qué no entra en el SUT&lt;/h3>
&lt;p>El SUT incluye &lt;strong>todo lo que el benchmark activa&lt;/strong>:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Dentro del SUT&lt;/th>
&lt;th>Fuera del SUT&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>GPUs / aceleradores&lt;/td>
&lt;td>PDU compartido con otros sistemas&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>CPU host y memoria RAM&lt;/td>
&lt;td>Infraestructura de cooling del datacenter (PUE)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Discos / NVMe si el benchmark los usa&lt;/td>
&lt;td>Red de gestión (BMC, fuera de banda)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ventiladores y sistemas de refrigeración del nodo&lt;/td>
&lt;td>Switches de red del datacenter (no del nodo)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Interconexión interna (NVLink, PCIe)&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>PSUs del nodo&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>El paper lo deja explícito: PUE está &lt;strong>fuera del scope&lt;/strong> de MLPerf Power por diseño (&lt;a href="https://arxiv.org/abs/2410.12032">arXiv 2410.12032, §III-C&lt;/a>). MLPerf mide la eficiencia del &lt;strong>sistema ML&lt;/strong>, no la del datacenter. Incluir PUE oscurecería las diferencias entre sistemas al mezclar la eficiencia del hardware con la del edificio.&lt;/p>
&lt;hr>
&lt;h2 id="métricas-fórmulas-y-definiciones">Métricas: fórmulas y definiciones&lt;/h2>
&lt;h3 id="throughput-benchmarks-datacenter--offline--edge">Throughput benchmarks (Datacenter / Offline / Edge)&lt;/h3>
&lt;p>Para benchmarks de throughput —Offline y Server en datacenter, y algunos escenarios edge— la métrica de eficiencia energética es:&lt;/p>
&lt;p>$$\eta = \frac{\text{throughput (samples/s)}}{\text{potencia media (W)}} \quad \Rightarrow \quad \left[\frac{\text{samples}}{\text{J}}\right]$$&lt;/p>
&lt;p>donde la potencia media se calcula sobre la ventana de la fase de ejecución del run de performance. El reciproco da la &lt;strong>energía por sample&lt;/strong>:&lt;/p>
&lt;p>$$E_{\text{sample}} = \frac{\text{potencia media (W)}}{\text{throughput (samples/s)}} \quad \left[\text{J/sample}\right]$$&lt;/p>
&lt;p>Para benchmarks LLM (GPT-J, Llama 2), donde la salida es variable en longitud, &amp;ldquo;sample&amp;rdquo; equivale a una query completa (prompt + respuesta). La energía por token de salida se obtiene dividiendo por el número de tokens generados, que varía por query y debe reportarse o estimarse.&lt;/p>
&lt;h3 id="latency-benchmarks-single-stream--tiny">Latency benchmarks (Single Stream / Tiny)&lt;/h3>
&lt;p>Para benchmarks de latencia —Single Stream en edge y tiny— donde se fija el tiempo de procesamiento, la métrica es la inversa de la energía por inferencia:&lt;/p>
&lt;p>$$\eta_{\text{latency}} = \frac{1}{E_{\text{inference}}} \quad \left[\frac{1}{\text{J}}\right]$$&lt;/p>
&lt;p>El paper trata ambas métricas (samples/J y 1/J) como comparables dentro de su categoría, aunque no son intercambiables entre categorías.&lt;/p>
&lt;h3 id="potencia-del-sistema-y-energía-del-run">Potencia del sistema y energía del run&lt;/h3>
&lt;p>Las tres magnitudes que aparecen en toda submission de power:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Magnitud&lt;/th>
&lt;th>Definición&lt;/th>
&lt;th>Unidad&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>System power&lt;/strong>&lt;/td>
&lt;td>media de las muestras de potencia AC en la ventana de ejecución&lt;/td>
&lt;td>W&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Energía del run&lt;/strong>&lt;/td>
&lt;td>potencia media × duración de la ventana&lt;/td>
&lt;td>J&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Eficiencia energética&lt;/strong>&lt;/td>
&lt;td>throughput / system power = samples/J&lt;/td>
&lt;td>samples/J&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>La fórmula de la energía del run:&lt;/p>
&lt;p>$$E_{\text{run}} = \bar{P} \times \Delta t = \frac{\sum_{i} P_i \cdot \Delta t_i}{\Delta t_{\text{total}}} \times \Delta t_{\text{total}} \quad [\text{J}]$$&lt;/p>
&lt;p>donde ( P_i ) son las muestras del analizador y ( \Delta t_i ) los intervalos entre muestras, ambos dentro de la ventana demarcada por los timestamps de LoadGen.&lt;/p>
&lt;hr>
&lt;h2 id="cómo-leer-una-submission-de-mlperf-power">Cómo leer una submission de MLPerf Power&lt;/h2>
&lt;h3 id="divisions-y-categorías-de-disponibilidad">Divisions y categorías de disponibilidad&lt;/h3>
&lt;p>Las submissions heredan las divisiones de MLPerf Inference:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>División&lt;/th>
&lt;th>Restricciones&lt;/th>
&lt;th>Comparabilidad&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>Closed&lt;/strong>&lt;/td>
&lt;td>Modelo fijo, preprocesado fijo, solo se optimiza el runtime y el hardware&lt;/td>
&lt;td>Alta: submissions directamente comparables entre sí&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Open&lt;/strong>&lt;/td>
&lt;td>Modificaciones al modelo permitidas (cuantización agresiva, destilación, poda)&lt;/td>
&lt;td>Baja: cada sistema puede usar un modelo distinto&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Dentro de closed, hay categorías de &lt;strong>disponibilidad&lt;/strong> del sistema:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Categoría&lt;/th>
&lt;th>Definición&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>Available&lt;/strong>&lt;/td>
&lt;td>Sistema comercialmente disponible en la fecha de cierre&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Preview&lt;/strong>&lt;/td>
&lt;td>Anunciado pero no disponible comercialmente&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>RDI&lt;/strong> (Research, Development, Internal)&lt;/td>
&lt;td>Sistemas de uso interno o experimental&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Solo los sistemas &lt;strong>Available&lt;/strong> en closed son comparables sin restricciones. Un sistema Preview con mejor energía que uno Available de otra empresa no es una comparativa válida para decisiones de compra.&lt;/p>
&lt;h3 id="qué-comparabilidad-da-mlperf-power-y-qué-no">Qué comparabilidad da MLPerf Power y qué no&lt;/h3>
&lt;p>&lt;strong>Da:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Comparación objetiva de la eficiencia energética de nodos completos (no solo GPU) bajo un workload ML estandarizado.&lt;/li>
&lt;li>Reproducibilidad verificada: los logs se publican en GitHub y cualquiera puede revisarlos.&lt;/li>
&lt;li>Tendencias temporales entre rondas: cuánto mejora la eficiencia de cada familia de hardware versión a versión.&lt;/li>
&lt;li>Base para comparar sistemas heterogéneos que realizan el mismo workload bajo las mismas reglas.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>No da:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Comparación GPU-a-GPU aislada (mide el nodo completo, no la tarjeta sola).&lt;/li>
&lt;li>Cobertura amplia de hardware: el número de submissions con power es pequeño. En v4.0 solo cuatro empresas (Dell, Fujitsu, NVIDIA, Qualcomm) entregaron power numbers para datacenter. En v5.1 hubo dos power submissions (Lenovo datacenter + GATEOverflow edge).&lt;/li>
&lt;li>Representatividad de workloads propios: los benchmarks son fijos y pueden no coincidir con la distribución de tu carga real (batch size, longitud de prompt, ratio prefill/decode).&lt;/li>
&lt;li>Datos de cooling de datacenter: PUE, líquido vs aire, están fuera del scope.&lt;/li>
&lt;li>Tiempo real de comparación: los resultados se publican meses después del cierre.&lt;/li>
&lt;/ul>
&lt;h3 id="estructura-de-una-submission">Estructura de una submission&lt;/h3>
&lt;p>Cada submission de power publica en el repositorio de resultados de MLCommons:&lt;/p>
&lt;pre tabindex="0">&lt;code>&amp;lt;division&amp;gt;/&amp;lt;submitter&amp;gt;/measurements/&amp;lt;system&amp;gt;/
├── analyzer_table.md # Configuración del analizador (modelo, rangos)
├── power_settings.md # Configuración de gestión de energía del SUT
results/&amp;lt;system&amp;gt;/&amp;lt;benchmark&amp;gt;/&amp;lt;scenario&amp;gt;/
├── mlperf_log_summary.txt # Resultados de rendimiento (LoadGen)
├── spl.txt # Power log (potencia, corriente, voltaje, timestamps)
└── ...
&lt;/code>&lt;/pre>&lt;p>Los ficheros &lt;code>spl.txt&lt;/code> contienen las lecturas brutas del analizador con timestamps, lo que permite verificar la alineación con la ventana de LoadGen.&lt;/p>
&lt;hr>
&lt;h2 id="datos-escala-trends-y-hardware-de-referencia">Datos: escala, trends y hardware de referencia&lt;/h2>
&lt;h3 id="el-corpus-1841-mediciones-de-60-sistemas">El corpus: 1.841 mediciones de 60 sistemas&lt;/h3>
&lt;p>La base de datos de submissions de MLPerf Power cubre (&lt;a href="https://arxiv.org/abs/2410.12032">arXiv 2410.12032&lt;/a>):&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Categoría&lt;/th>
&lt;th>Submissions&lt;/th>
&lt;th>Rango de potencia&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Datacenter (Inference)&lt;/td>
&lt;td>590&lt;/td>
&lt;td>~200 W – ~10 kW por nodo&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Edge (Inference)&lt;/td>
&lt;td>792&lt;/td>
&lt;td>~10 W – varios kW&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Tiny (Inference)&lt;/td>
&lt;td>447&lt;/td>
&lt;td>&lt;strong>5,64 mW&lt;/strong> – centenares de mW&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Training / HPC&lt;/td>
&lt;td>12&lt;/td>
&lt;td>hasta &lt;strong>500 kW&lt;/strong> (medido); ~10 MW estimado en HPC&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>El rango total va de microwatts a megawatts —9 órdenes de magnitud— lo que hace que no exista una metodología única aplicable a todos los segmentos.&lt;/p>
&lt;h3 id="mejoras-en-eficiencia-energética-llms-lideran">Mejoras en eficiencia energética: LLMs lideran&lt;/h3>
&lt;p>La evolución de la métrica samples/joule entre rondas, normalizada a la primera submission de cada modelo (&lt;a href="https://arxiv.org/abs/2410.12032">arXiv 2410.12032, §V-A&lt;/a>):&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Workload&lt;/th>
&lt;th>Categoría&lt;/th>
&lt;th>Mejora acumulada (samples/J)&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>GPT-J 6B&lt;/td>
&lt;td>Datacenter&lt;/td>
&lt;td>&lt;strong>&amp;gt;100×&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Llama 2 70B&lt;/td>
&lt;td>Datacenter&lt;/td>
&lt;td>&lt;strong>&amp;gt;100×&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>RetinaNet&lt;/td>
&lt;td>Datacenter&lt;/td>
&lt;td>Mayor entre los modelos clásicos&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>BERT-99.0&lt;/td>
&lt;td>Edge&lt;/td>
&lt;td>~4×&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>RNN-T&lt;/td>
&lt;td>Edge&lt;/td>
&lt;td>~4×&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>ResNet-50&lt;/td>
&lt;td>Edge&lt;/td>
&lt;td>~1,5×&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>ResNet-50&lt;/td>
&lt;td>Tiny&lt;/td>
&lt;td>&lt;strong>&amp;gt;1.000×&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Otros Tiny&lt;/td>
&lt;td>Tiny&lt;/td>
&lt;td>79× – 596×&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Las mejoras de &amp;gt;100× en LLMs de datacenter reflejan la atención industrial masiva en optimización de software (kernels FP8, FlashAttention, especulación) y hardware (arquitecturas tensor core, HBM3). Los modelos Tiny muestran ganancias aún mayores en términos relativos gracias al punto de partida bajo y al avance en chips especializados.&lt;/p>
&lt;h3 id="hardware-de-referencia-on-premise">Hardware de referencia on-premise&lt;/h3>
&lt;p>Para un nodo de 4×H100 SXM 80 GB (el hardware genérico del track), los valores típicos en MLPerf Power:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Parámetro&lt;/th>
&lt;th>Valor orientativo&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>TDP declarado 4×H100 SXM&lt;/td>
&lt;td>4 × 700 W = 2.800 W (solo GPU)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>System power (nodo completo) medido a la pared&lt;/td>
&lt;td>~3.500 – 5.000 W según carga&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Overhead CPU + RAM + fans sobre GPU&lt;/td>
&lt;td>25 – 45 % del total&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Eficiencia: Llama 2 70B offline (closed)&lt;/td>
&lt;td>función del runtime; orden de magnitud ~0,1 – 1 tokens/J&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>El punto clave: el &amp;ldquo;overhead de nodo&amp;rdquo; —la diferencia entre lo que mide el analizador a la pared y lo que reporta NVML para las GPUs— es de un &lt;strong>25–45 %&lt;/strong> del consumo total. Una medición solo de GPU subestima el consumo real del sistema en ese margen.&lt;/p>
&lt;p>Para el A100 PCIe 80 GB (4× por nodo), el consumo de sistema es menor (TDP GPU ~300 W c/u, nodo ~1.500–2.000 W), con mayor eficiencia por vatio pero menor throughput absoluto. El L40S (4× por nodo) tiene un perfil intermedio: TDP ~350 W c/u, buen rendimiento en inferencia FP8, consumo de nodo ~1.800–2.500 W.&lt;/p>
&lt;hr>
&lt;h2 id="contraste-con-la-medición-por-software-del-post-c3">Contraste con la medición por software del post C3&lt;/h2>
&lt;p>El &lt;a href="https://blog.lo0.es/posts/herramientas-energia-deploy-precision-overhead/">post C3 de este track&lt;/a> cubre el stack DCGM/NVML/RAPL/Kepler en producción. Aquí la comparativa data-driven frente a MLPerf Power:&lt;/p>
&lt;div class="diagram" style="max-width:760px;margin:1rem auto;">
&lt;svg viewBox="0 0 760 190" role="img" aria-label="Comparativa de dos enfoques: medicion por software DCGM/Kepler (continua, sin hardware extra, barra de error mayor, no certificada) vs MLPerf Power con analizador fisico (puntual, hardware dedicado, maxima precision, certificada)" xmlns="http://www.w3.org/2000/svg">
&lt;style>.bx{fill:none;stroke:currentColor;stroke-width:1.3}.tl{font:600 12px sans-serif;fill:currentColor}.ts{font:11px sans-serif;fill:currentColor}&lt;/style>
&lt;rect class="bx" x="20" y="30" width="340" height="130" rx="6"/>
&lt;text x="32" y="52" class="tl">Medición por software (C3)&lt;/text>
&lt;text x="32" y="70" class="ts">DCGM/NVML → potencia de GPU (on-device)&lt;/text>
&lt;text x="32" y="86" class="ts">RAPL → CPU + DRAM (on-device)&lt;/text>
&lt;text x="32" y="102" class="ts">Kepler eBPF → por pod/MIG&lt;/text>
&lt;text x="32" y="118" class="ts">Continua en producción, sin hardware extra&lt;/text>
&lt;text x="32" y="134" class="ts">Barra de error: ±5–15 % vs vatímetro&lt;/text>
&lt;text x="32" y="150" class="ts">No certificada externamente&lt;/text>
&lt;rect class="bx" x="400" y="30" width="340" height="130" rx="6"/>
&lt;text x="412" y="52" class="tl">MLPerf Power (C4)&lt;/text>
&lt;text x="412" y="70" class="ts">Analizador Yokogawa WT310E (AC, a la pared)&lt;/text>
&lt;text x="412" y="86" class="ts">SPEC PTDaemon (certificado SPEC)&lt;/text>
&lt;text x="412" y="102" class="ts">Medición de todo el SUT como sistema&lt;/text>
&lt;text x="412" y="118" class="ts">Solo durante el benchmark (no continuo)&lt;/text>
&lt;text x="412" y="134" class="ts">Precisión: ±0,1 % lectura + ±0,1 % rango&lt;/text>
&lt;text x="412" y="150" class="ts">Certificada y reproducible externamente&lt;/text>
&lt;/svg>
&lt;/div>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Dimensión&lt;/th>
&lt;th>Software (DCGM/NVML/RAPL/Kepler)&lt;/th>
&lt;th>MLPerf Power (analizador + PTDaemon)&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>Qué mide&lt;/strong>&lt;/td>
&lt;td>Sensores on-device (GPU, CPU, DRAM)&lt;/td>
&lt;td>AC wall power (todo el nodo)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Cobertura&lt;/strong>&lt;/td>
&lt;td>GPU + CPU + DRAM (≠ pared)&lt;/td>
&lt;td>Nodo completo incluyendo fans, PSU overhead&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Overhead de nodo&lt;/strong>&lt;/td>
&lt;td>No capturado por defecto&lt;/td>
&lt;td>Incluido en la medición&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Precisión&lt;/strong>&lt;/td>
&lt;td>±5–15 % vs vatímetro (estimación Kepler); NVML ~3–5 % de la GPU&lt;/td>
&lt;td>±0,1 % lectura + ±0,1 % rango (Yokogawa WT310E)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Frecuencia / continuidad&lt;/strong>&lt;/td>
&lt;td>Continua en producción (sub-segundo)&lt;/td>
&lt;td>Solo durante el run de benchmark&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Hardware extra&lt;/strong>&lt;/td>
&lt;td>Ninguno (usa sensores del sistema)&lt;/td>
&lt;td>Analizador certificado SPEC (~3.000 USD)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Atribución por carga&lt;/strong>&lt;/td>
&lt;td>Por pod/MIG con Kepler&lt;/td>
&lt;td>No: mide el sistema, no la carga individual&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Certificación externa&lt;/strong>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Sí (SPEC PTDaemon + revisión MLCommons)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Acceso a los datos&lt;/strong>&lt;/td>
&lt;td>En tiempo real en Prometheus&lt;/td>
&lt;td>Logs públicos en GitHub post-ronda&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Uso recomendado&lt;/strong>&lt;/td>
&lt;td>Monitorización continua en producción&lt;/td>
&lt;td>Benchmarking comparativo certificado&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>La conclusión operativa: las dos aproximaciones son &lt;strong>complementarias, no competidoras&lt;/strong>. El stack DCGM/Kepler da la vista continua por pod para producción; MLPerf Power da la verdad-terreno certificada para comparativas de hardware con garantías de reproducibilidad.&lt;/p>
&lt;hr>
&lt;h2 id="el-mito-de-medir-solo-la-gpu-datos-del-paper">El mito de medir solo la GPU: datos del paper&lt;/h2>
&lt;p>El paper arXiv 2410.12032 dedica la sección §III-C a desmontar los mitos de la medición de potencia en sistemas ML. El más relevante para inferencia on-premise es el &lt;strong>Mito 1&lt;/strong>:&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;A common misconception is that measuring the power consumption of specific ML components, such as accelerators or GPUs, is adequate to assess system efficiency. In reality, overall system power consumption is crucial. Different components are active at various stages of ML workloads with varying duty cycles.&amp;rdquo;&lt;/p>
&lt;/blockquote>
&lt;p>Los datos de submissions con analizador a la pared versus lecturas NVML confirman que el overhead de los componentes no-GPU del nodo (CPU, memoria, discos, ventiladores, PSU losses) oscila entre el &lt;strong>25 y el 45 %&lt;/strong> del consumo total según el sistema. Una comparativa de eficiencia basada solo en lecturas NVML sistemáticamente &lt;strong>subestima el consumo&lt;/strong> y puede distorsionar la clasificación entre sistemas con distinta proporción CPU/GPU.&lt;/p>
&lt;p>El mito 2 (TDP y PSU como proxies de potencia) también es relevante: el TDP de una H100 SXM es 700 W por tarjeta, pero el consumo real en inferencia con Llama 2 70B depende de la carga, la longitud del prompt y el batch size. Los datos de MLPerf Power muestran que los sistemas funcionan habitualmente &lt;strong>muy por debajo del TDP&lt;/strong> en escenarios de inferencia online (server scenario), donde la latencia limita el throughput y la GPU no está al 100 % de utilización.&lt;/p>
&lt;hr>
&lt;h2 id="limitaciones-de-las-submissions-actuales">Limitaciones de las submissions actuales&lt;/h2>
&lt;p>Las limitaciones no son del método sino de la cobertura:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Pocas submissions con power en datacenter.&lt;/strong> En v4.0 solo 4 empresas entregaron power numbers para datacenter; en v5.1, una (Lenovo). El benchmarking de rendimiento tiene decenas de submitters; el de energía, pocos. Esto limita la representatividad del corpus para comparar hardware on-premise.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>SUT heterogéneos.&lt;/strong> Cada submitter define su propio SUT: número de GPUs, servidor, interconexión, software stack. Un sistema Dell con 4×H100 no es directamente comparable a uno Supermicro con 8×H100, aunque ambos usen el mismo modelo. Las diferencias de plataforma (NVLink vs PCIe, servidor vs rack) están capturadas pero no separadas.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Workloads fijos.&lt;/strong> Los benchmarks MLPerf son representativos pero no son tu carga. La distribución de longitudes de prompt, el ratio prefill/decode y el batch size de tus usuarios pueden diferir significativamente de los datasets sintéticos de MLPerf. El resultado en samples/J del benchmark es una referencia, no una predicción de tu workload.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Latencia de publicación.&lt;/strong> Los resultados se publican meses después del cierre de submissions. Hardware nuevo (H200, B100, B200) puede no tener resultados power disponibles en el momento de la decisión de compra.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Ausencia de PUE.&lt;/strong> MLPerf Power no incluye la eficiencia del datacenter. Dos sistemas idénticos en dos datacenters con PUE 1,1 y 1,5 tienen el mismo resultado MLPerf Power pero un coste eléctrico muy distinto. Para el TCO, el J/sample de MLPerf debe multiplicarse por el PUE del datacenter propio.&lt;/p>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="flujo-de-uso-para-una-plataforma-on-premise">Flujo de uso para una plataforma on-premise&lt;/h2>
&lt;p>Para quien quiere usar MLPerf Power como referencia de compra o como benchmark propio, el flujo práctico:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Paso&lt;/th>
&lt;th>Acción&lt;/th>
&lt;th>Recurso&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1&lt;/td>
&lt;td>Consultar submissions publicly disponibles&lt;/td>
&lt;td>&lt;a href="https://mlcommons.org/benchmarks/inference-datacenter/">mlcommons.org/benchmarks/inference-datacenter&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>2&lt;/td>
&lt;td>Filtrar por modelo (Llama 2 70B, GPT-J), escenario (Offline/Server) y división (Closed/Available)&lt;/td>
&lt;td>GitHub mlcommons/inference_results_vX.Y&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>3&lt;/td>
&lt;td>Comparar samples/J entre sistemas con hardware similar&lt;/td>
&lt;td>power log + performance summary&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>4&lt;/td>
&lt;td>Ajustar por PUE propio&lt;/td>
&lt;td>samples/J × (1/PUE) para energía real en el datacenter&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>5&lt;/td>
&lt;td>Si se quiere medir el propio hardware: adquirir Yokogawa WT310E, unirse a MLCommons, acceder a PTDaemon&lt;/td>
&lt;td>&lt;a href="https://docs.mlcommons.org/inference/power/">docs.mlcommons.org/inference/power&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>6&lt;/td>
&lt;td>Calibrar stack software (DCGM/Kepler) contra el analizador una vez&lt;/td>
&lt;td>ver &lt;a href="https://blog.lo0.es/posts/herramientas-energia-deploy-precision-overhead/">post C3&lt;/a>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="cross-links-del-track-de-energía">Cross-links del track de energía&lt;/h2>
&lt;p>Este artículo es el &lt;strong>C4&lt;/strong> del pilar de energía. Los artículos relacionados:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://blog.lo0.es/posts/benchmarking-energia-llm-frameworks-estado-del-arte/">C1 — Estado del arte: benchmarking de energía de frameworks LLM&lt;/a>: inventario de herramientas y panorama del campo.&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/posts/energia-por-token-metodologia/">C2 — Energía por token: metodología y mercado eléctrico español&lt;/a>: la identidad J/token y cómo el precio eléctrico la multiplica.&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/posts/herramientas-energia-deploy-precision-overhead/">C3 — Herramientas de medición en producción: Kepler, DCGM y stack práctico&lt;/a>: el stack continuo para producción que MLPerf Power complementa.&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/posts/benchmarking-llm-frameworks-estado-del-arte/">Track de benchmarking — estado del arte de frameworks&lt;/a>: contexto del benchmarking de rendimiento del que MLPerf Power es extensión energética.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="ver-también">Ver también&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://blog.lo0.es/posts/leaderboards-energia-llm/">Leaderboards de eficiencia energética de LLMs&lt;/a> — los rankings públicos de J/token donde aparecen los resultados MLPerf Power: cómo leerlos y qué sesgos tienen respecto a la metodología de esta ficha.&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/posts/del-vatio-al-carbono-pue-grid/">Del vatio al carbono: PUE, intensidad de la red y el coste real de un token&lt;/a> — el paso de conversión del W medido en el AC meter PTDaemon a gCO₂eq y a euros, aplicando PUE y mix energético del país.&lt;/li>
&lt;/ul>
&lt;h2 id="fuentes">Fuentes&lt;/h2>
&lt;ul>
&lt;li>MLCommons Power Working Group — &lt;a href="https://mlcommons.org/working-groups/benchmarks/power/">https://mlcommons.org/working-groups/benchmarks/power/&lt;/a>&lt;/li>
&lt;li>arXiv 2410.12032 · MLPerf Power: Benchmarking the Energy Efficiency of Machine Learning Systems from Microwatts to Megawatts for Sustainable AI (Tschand et al., 2024) — &lt;a href="https://arxiv.org/abs/2410.12032">https://arxiv.org/abs/2410.12032&lt;/a>&lt;/li>
&lt;li>MLPerf Inference Power Measurement Rules v2.0 (power_measurement.adoc) — &lt;a href="https://github.com/mlcommons/inference_policies/blob/master/power_measurement.adoc">https://github.com/mlcommons/inference_policies/blob/master/power_measurement.adoc&lt;/a>&lt;/li>
&lt;li>MLCommons power-dev · repositorio público de herramientas de medición — &lt;a href="https://github.com/mlcommons/power-dev">https://github.com/mlcommons/power-dev&lt;/a>&lt;/li>
&lt;li>MLPerf Inference Power Measurement Documentation (MLCFlow) — &lt;a href="https://docs.mlcommons.org/inference/power/">https://docs.mlcommons.org/inference/power/&lt;/a>&lt;/li>
&lt;li>SPEC PTDaemon · lista de dispositivos certificados — &lt;a href="https://open.spec.org/power/docs/specpower-device_list/">https://open.spec.org/power/docs/specpower-device_list/&lt;/a>&lt;/li>
&lt;li>MLCommons · MLPerf Inference v1.0 con las primeras mediciones de potencia (abril 2021) — &lt;a href="https://mlcommons.org/2021/04/mlperf-inference-v1-0-results-with-first-power-measurements/">https://mlcommons.org/2021/04/mlperf-inference-v1-0-results-with-first-power-measurements/&lt;/a>&lt;/li>
&lt;li>MLCommons · MLPerf Inference v4.1 results (agosto 2024) — &lt;a href="https://mlcommons.org/2024/08/mlperf-inference-v4-1-results/">https://mlcommons.org/2024/08/mlperf-inference-v4-1-results/&lt;/a>&lt;/li>
&lt;li>MLCommons · MLPerf Inference v5.1 results (septiembre 2025) — &lt;a href="https://mlcommons.org/2025/09/mlperf-inference-v5-1-results/">https://mlcommons.org/2025/09/mlperf-inference-v5-1-results/&lt;/a>&lt;/li>
&lt;li>MLCommons · MLPerf Power benchmark presentado en IEEE HPCA 2025 — &lt;a href="https://mlcommons.org/2025/03/ml-commons-power-hpca/">https://mlcommons.org/2025/03/ml-commons-power-hpca/&lt;/a>&lt;/li>
&lt;li>SPEC Updates PTDaemon Interface (GlobeNewswire, febrero 2024) — &lt;a href="https://www.globenewswire.com/news-release/2024/02/22/2833367/0/en/SPEC-Updates-PTDaemon-Interface-to-Meet-Evolving-Industry-Requirements.html">https://www.globenewswire.com/news-release/2024/02/22/2833367/0/en/SPEC-Updates-PTDaemon-Interface-to-Meet-Evolving-Industry-Requirements.html&lt;/a>&lt;/li>
&lt;li>Yokogawa WT310E Power Analyzer — &lt;a href="https://tmi.yokogawa.com/us/solutions/products/power-analyzers/">https://tmi.yokogawa.com/us/solutions/products/power-analyzers/&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>