Skip to content

Commit d1a8034

Browse files
committed
update instantiate
1 parent a57a15f commit d1a8034

1 file changed

Lines changed: 18 additions & 18 deletions

File tree

src/maxtext/common/goodput.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import jax
2424
from enum import Enum
2525
from maxtext.utils import max_logging
26+
from maxtext.utils import pathwaysutils
2627
from maxtext.common.gcloud_stub import goodput_modules
2728

2829
goodput, monitoring, _GOODPUT_STUB = goodput_modules()
@@ -66,31 +67,30 @@ def maybe_monitor_goodput(config):
6667
enable_gcp_goodput_metrics=config.enable_gcp_goodput_metrics,
6768
enable_gcp_step_deviation_metrics=config.enable_gcp_step_deviation_metrics,
6869
)
69-
use_elastic = False
70-
if getattr(config, "elastic_enabled", False):
70+
monitor_class = monitoring.GoodputMonitor
71+
use_elastic = getattr(config, 'elastic_enabled', False) and pathwaysutils.is_pathways_backend_used()
72+
if use_elastic:
7173
try:
72-
import pathwaysutils
73-
use_elastic = pathwaysutils.is_pathways_backend_used()
74+
from ml_goodput_measurement import monitoring_elastic
75+
monitor_class = monitoring_elastic.ElasticGoodputMonitor
7476
except ImportError:
7577
pass
7678

77-
if use_elastic and hasattr(monitoring, "ElasticGoodputMonitor"):
78-
monitor_class = monitoring.ElasticGoodputMonitor
79-
else:
80-
monitor_class = monitoring.GoodputMonitor
81-
82-
goodput_monitor = monitor_class(
79+
kwargs = dict(
8380
job_name=config.run_name,
8481
logger_name=f"goodput_{config.run_name}",
8582
tensorboard_dir=config.tensorboard_dir,
8683
upload_interval=config.goodput_upload_interval_seconds,
8784
monitoring_enabled=True,
88-
pathway_enabled=config.enable_pathways_goodput,
8985
include_badput_breakdown=True,
9086
include_step_deviation=config.monitor_step_time_deviation,
9187
step_deviation_interval_seconds=config.step_deviation_interval_seconds,
9288
gcp_options=gcp_options,
9389
)
90+
if monitor_class == monitoring.GoodputMonitor:
91+
kwargs["pathway_enabled"] = config.enable_pathways_goodput
92+
93+
goodput_monitor = monitor_class(**kwargs)
9494
goodput_monitor.start_goodput_uploader()
9595
max_logging.log("Started Goodput upload to Tensorboard & GCM in the background!")
9696
yield
@@ -138,16 +138,16 @@ def create_goodput_recorder(config):
138138
logger_name = f"goodput_{config.run_name}"
139139

140140
# Detect if we should use the elastic-aware recorder
141-
use_elastic = False
142-
if getattr(config, "elastic_enabled", False):
141+
use_elastic = getattr(config, 'elastic_enabled', False) and pathwaysutils.is_pathways_backend_used()
142+
recorder = None
143+
if use_elastic:
143144
try:
144-
import pathwaysutils
145-
use_elastic = pathwaysutils.is_pathways_backend_used()
145+
from ml_goodput_measurement import goodput_elastic
146+
recorder = goodput_elastic.ElasticGoodputRecorder(config.run_name, logger_name, jax.process_index() == 0)
146147
except ImportError:
147148
pass
148-
if use_elastic and hasattr(goodput, "ElasticGoodputRecorder"):
149-
recorder = goodput.ElasticGoodputRecorder(config.run_name, logger_name, jax.process_index() == 0)
150-
else:
149+
150+
if recorder is None:
151151
recorder = goodput.GoodputRecorder(config.run_name, logger_name, jax.process_index() == 0)
152152
return recorder
153153
return None

0 commit comments

Comments
 (0)