From e5e5eb191583790f8c7f0e8a9bcee227820b9ae0 Mon Sep 17 00:00:00 2001 From: Mark Heffernan Date: Fri, 13 Sep 2024 15:32:42 -0700 Subject: [PATCH] Move delay model related utilities from xls/tools to xls/estimators/delay_model. PiperOrigin-RevId: 674456040 --- xls/build_rules/xls_rules.bzl | 2 +- xls/estimators/BUILD | 51 +++++++++++++++++ .../estimator_model_stats.py | 0 .../estimator_model_stats_test.py | 16 +++--- .../estimator_model_visualizer.py | 0 ...sample_points_from_estimator_model_test.py | 2 +- .../run_op_characterization.py | 0 .../asap7_delay_data_points.textproto | 0 .../testdata/asap7_delay_model_stats.csv | 0 .../sky130_delay_data_points.textproto | 0 .../testdata/sky130_delay_model_stats.csv | 0 .../testdata/unit_delay_data_points.textproto | 0 .../testdata/unit_delay_model_stats.csv | 0 xls/tools/BUILD | 56 ------------------- 14 files changed, 61 insertions(+), 66 deletions(-) rename xls/{tools => estimators}/estimator_model_stats.py (100%) rename xls/{tools => estimators}/estimator_model_stats_test.py (84%) rename xls/{tools => estimators}/estimator_model_visualizer.py (100%) rename xls/{tools => estimators}/run_op_characterization.py (100%) rename xls/{tools => estimators}/testdata/asap7_delay_data_points.textproto (100%) rename xls/{tools => estimators}/testdata/asap7_delay_model_stats.csv (100%) rename xls/{tools => estimators}/testdata/sky130_delay_data_points.textproto (100%) rename xls/{tools => estimators}/testdata/sky130_delay_model_stats.csv (100%) rename xls/{tools => estimators}/testdata/unit_delay_data_points.textproto (100%) rename xls/{tools => estimators}/testdata/unit_delay_model_stats.csv (100%) diff --git a/xls/build_rules/xls_rules.bzl b/xls/build_rules/xls_rules.bzl index 247e905c48..5015df2875 100644 --- a/xls/build_rules/xls_rules.bzl +++ b/xls/build_rules/xls_rules.bzl @@ -457,7 +457,7 @@ currently produced should be considered INCOMPLETE.""", cfg = "target", ), "_run_op_characterization": attr.label( - default = Label("//xls/tools:run_op_characterization"), + default = Label("//xls/estimators:run_op_characterization"), executable = True, cfg = "target", ), diff --git a/xls/estimators/BUILD b/xls/estimators/BUILD index 8ee65957ae..5ee7c44e63 100644 --- a/xls/estimators/BUILD +++ b/xls/estimators/BUILD @@ -171,3 +171,54 @@ py_test( "@com_google_absl_py//absl/testing:absltest", ], ) + +py_binary( + name = "estimator_model_stats", + srcs = ["estimator_model_stats.py"], + python_version = "PY3", + srcs_version = "PY3", + deps = [ + requirement("numpy"), + "//xls/estimators:estimator_model", + "//xls/estimators:estimator_model_py_pb2", + "@com_google_absl_py//absl:app", + "@com_google_absl_py//absl/flags", + "@com_google_absl_py//absl/logging", + "@com_google_protobuf//:protobuf_python", + ], +) + +py_test( + name = "estimator_model_stats_test", + srcs = ["estimator_model_stats_test.py"], + data = [ + "testdata/asap7_delay_data_points.textproto", + "testdata/asap7_delay_model_stats.csv", + "testdata/sky130_delay_data_points.textproto", + "testdata/sky130_delay_model_stats.csv", + "testdata/unit_delay_data_points.textproto", + "testdata/unit_delay_model_stats.csv", + ":estimator_model_stats", + ], + python_version = "PY3", + srcs_version = "PY3", + tags = ["nomsan"], # scipy seems not to be msan-clean. + deps = [ + "//xls/common:runfiles", + "//xls/common:test_base", + "@com_google_absl_py//absl/testing:absltest", + ], +) + +py_binary( + name = "run_op_characterization", + srcs = ["run_op_characterization.py"], + python_version = "PY3", + srcs_version = "PY3", + deps = [ + requirement("portpicker"), + "@com_google_absl_py//absl:app", + "@com_google_absl_py//absl/flags", + "@com_google_absl_py//absl/logging", + ], +) diff --git a/xls/tools/estimator_model_stats.py b/xls/estimators/estimator_model_stats.py similarity index 100% rename from xls/tools/estimator_model_stats.py rename to xls/estimators/estimator_model_stats.py diff --git a/xls/tools/estimator_model_stats_test.py b/xls/estimators/estimator_model_stats_test.py similarity index 84% rename from xls/tools/estimator_model_stats_test.py rename to xls/estimators/estimator_model_stats_test.py index 2e5a10ea26..a678c719df 100644 --- a/xls/tools/estimator_model_stats_test.py +++ b/xls/estimators/estimator_model_stats_test.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Tests for xls/tools/estimator_model_stats.py.""" +"""Tests for xls/estimators/estimator_model_stats.py.""" import filecmp import subprocess @@ -21,25 +21,25 @@ from xls.common import runfiles _ESTIMATOR_MODEL_STATS_PATH = runfiles.get_path( - 'xls/tools/estimator_model_stats' + 'xls/estimators/estimator_model_stats' ) _ASAP7_DELAY_DATA_POINTS_PATH = runfiles.get_path( - 'xls/tools/testdata/asap7_delay_data_points.textproto' + 'xls/estimators/testdata/asap7_delay_data_points.textproto' ) _ASAP7_DELAY_MODEL_STATS_PATH = runfiles.get_path( - 'xls/tools/testdata/asap7_delay_model_stats.csv' + 'xls/estimators/testdata/asap7_delay_model_stats.csv' ) _SKY130_DELAY_DATA_POINTS_PATH = runfiles.get_path( - 'xls/tools/testdata/sky130_delay_data_points.textproto' + 'xls/estimators/testdata/sky130_delay_data_points.textproto' ) _SKY130_DELAY_MODEL_STATS_PATH = runfiles.get_path( - 'xls/tools/testdata/sky130_delay_model_stats.csv' + 'xls/estimators/testdata/sky130_delay_model_stats.csv' ) _UNIT_DELAY_DATA_POINTS_PATH = runfiles.get_path( - 'xls/tools/testdata/unit_delay_data_points.textproto' + 'xls/estimators/testdata/unit_delay_data_points.textproto' ) _UNIT_DELAY_MODEL_STATS_PATH = runfiles.get_path( - 'xls/tools/testdata/unit_delay_model_stats.csv' + 'xls/estimators/testdata/unit_delay_model_stats.csv' ) diff --git a/xls/tools/estimator_model_visualizer.py b/xls/estimators/estimator_model_visualizer.py similarity index 100% rename from xls/tools/estimator_model_visualizer.py rename to xls/estimators/estimator_model_visualizer.py diff --git a/xls/estimators/extract_sample_points_from_estimator_model_test.py b/xls/estimators/extract_sample_points_from_estimator_model_test.py index 36142d4ac7..361f343e9c 100644 --- a/xls/estimators/extract_sample_points_from_estimator_model_test.py +++ b/xls/estimators/extract_sample_points_from_estimator_model_test.py @@ -12,7 +12,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -"""Tests for xls.tools.extract_samples_from_estimator_model.""" +"""Tests for xls.estimators.extract_samples_from_estimator_model.""" import subprocess diff --git a/xls/tools/run_op_characterization.py b/xls/estimators/run_op_characterization.py similarity index 100% rename from xls/tools/run_op_characterization.py rename to xls/estimators/run_op_characterization.py diff --git a/xls/tools/testdata/asap7_delay_data_points.textproto b/xls/estimators/testdata/asap7_delay_data_points.textproto similarity index 100% rename from xls/tools/testdata/asap7_delay_data_points.textproto rename to xls/estimators/testdata/asap7_delay_data_points.textproto diff --git a/xls/tools/testdata/asap7_delay_model_stats.csv b/xls/estimators/testdata/asap7_delay_model_stats.csv similarity index 100% rename from xls/tools/testdata/asap7_delay_model_stats.csv rename to xls/estimators/testdata/asap7_delay_model_stats.csv diff --git a/xls/tools/testdata/sky130_delay_data_points.textproto b/xls/estimators/testdata/sky130_delay_data_points.textproto similarity index 100% rename from xls/tools/testdata/sky130_delay_data_points.textproto rename to xls/estimators/testdata/sky130_delay_data_points.textproto diff --git a/xls/tools/testdata/sky130_delay_model_stats.csv b/xls/estimators/testdata/sky130_delay_model_stats.csv similarity index 100% rename from xls/tools/testdata/sky130_delay_model_stats.csv rename to xls/estimators/testdata/sky130_delay_model_stats.csv diff --git a/xls/tools/testdata/unit_delay_data_points.textproto b/xls/estimators/testdata/unit_delay_data_points.textproto similarity index 100% rename from xls/tools/testdata/unit_delay_data_points.textproto rename to xls/estimators/testdata/unit_delay_data_points.textproto diff --git a/xls/tools/testdata/unit_delay_model_stats.csv b/xls/estimators/testdata/unit_delay_model_stats.csv similarity index 100% rename from xls/tools/testdata/unit_delay_model_stats.csv rename to xls/estimators/testdata/unit_delay_model_stats.csv diff --git a/xls/tools/BUILD b/xls/tools/BUILD index c47ff4cf99..0cbbd57353 100644 --- a/xls/tools/BUILD +++ b/xls/tools/BUILD @@ -856,19 +856,6 @@ py_test( ], ) -py_binary( - name = "run_op_characterization", - srcs = ["run_op_characterization.py"], - python_version = "PY3", - srcs_version = "PY3", - deps = [ - requirement("portpicker"), - "@com_google_absl_py//absl:app", - "@com_google_absl_py//absl/flags", - "@com_google_absl_py//absl/logging", - ], -) - proto_library( name = "design_stats_proto", srcs = ["design_stats.proto"], @@ -912,46 +899,3 @@ py_test( "@com_google_absl_py//absl/testing:absltest", ], ) - -py_binary( - name = "estimator_model_stats", - srcs = ["estimator_model_stats.py"], - python_version = "PY3", - srcs_version = "PY3", - deps = [ - requirement("numpy"), - "//xls/estimators:estimator_model", - "//xls/estimators:estimator_model_py_pb2", - "@com_google_absl_py//absl:app", - "@com_google_absl_py//absl/flags", - "@com_google_absl_py//absl/logging", - "@com_google_protobuf//:protobuf_python", - ], -) - -py_test( - name = "estimator_model_stats_test", - srcs = ["estimator_model_stats_test.py"], - data = [ - "testdata/asap7_delay_data_points.textproto", - "testdata/asap7_delay_model_stats.csv", - "testdata/sky130_delay_data_points.textproto", - "testdata/sky130_delay_model_stats.csv", - "testdata/unit_delay_data_points.textproto", - "testdata/unit_delay_model_stats.csv", - ":estimator_model_stats", - ], - python_version = "PY3", - srcs_version = "PY3", - tags = ["nomsan"], # scipy seems not to be msan-clean. - deps = [ - "//xls/common:runfiles", - "//xls/common:test_base", - "@com_google_absl_py//absl/testing:absltest", - ], -) - -py_binary( - name = "make_release", - srcs = ["make_release.py"], -)