Skip to content

Commit ed0db06

Browse files
authored
#507: Deprecate LBAF-Viz and replace with calls to vt-tv (#508)
* #507: add deprecate error to lbsVisualizer * #507: add test for deprecation warning * #507: remove all references to visualization in unit test config files * #507: add newline * #507: remove viz params from all config files * #507: add config file test for lbaf viz deprecation * #507: remove config file test; clean up viz deprecation * #507: restore config test for viz deprecation
1 parent f88d2de commit ed0db06

File tree

47 files changed

+87
-386
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+87
-386
lines changed

config/challenging-toy-fewer-tasks.yaml

-11
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,3 @@ algorithm:
3333
# Specify output
3434
output_dir: ../output
3535
output_file_stem: output_file
36-
visualization:
37-
x_ranks: 4
38-
y_ranks: 4
39-
z_ranks: 1
40-
object_jitter: 0.5
41-
#rank_qoi: homed_blocks_ratio
42-
rank_qoi: max_memory_usage
43-
object_qoi: shared_block_id
44-
save_meshes: false
45-
output_visualization_dir: ../output
46-
output_visualization_file_stem: output_file

config/challenging-toy-hundreds-tasks.yaml

-10
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,3 @@ algorithm:
3535
# Specify output
3636
output_dir: ../output
3737
output_file_stem: output_file
38-
visualization:
39-
x_ranks: 8
40-
y_ranks: 8
41-
z_ranks: 1
42-
object_jitter: 0.5
43-
rank_qoi: load
44-
save_meshes: false
45-
force_continuous_object_qoi: true
46-
output_visualization_dir: ../output
47-
output_visualization_file_stem: output_file

config/conf.yaml

+11-11
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,14 @@ write_JSON:
3535
suffix: json
3636
communications: true
3737
offline_LB_compatible: false
38-
visualization:
39-
x_ranks: 2
40-
y_ranks: 2
41-
z_ranks: 1
42-
object_jitter: 0.5
43-
rank_qoi: work
44-
object_qoi: load
45-
save_meshes: true
46-
force_continuous_object_qoi: true
47-
output_visualization_dir: ../output
48-
output_visualization_file_stem: output_file
38+
# visualization:
39+
# x_ranks: 2
40+
# y_ranks: 2
41+
# z_ranks: 1
42+
# object_jitter: 0.5
43+
# rank_qoi: work
44+
# object_qoi: load
45+
# save_meshes: true
46+
# force_continuous_object_qoi: true
47+
# output_visualization_dir: ../output
48+
# output_visualization_file_stem: output_file

config/every20phases.yaml

-9
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,3 @@ algorithm:
3838
# Specify output
3939
output_dir: ../output
4040
output_file_stem: output_file
41-
visualization:
42-
x_ranks: 8
43-
y_ranks: 4
44-
z_ranks: 1
45-
object_jitter: 0.5
46-
rank_qoi: work
47-
force_continuous_object_qoi: true
48-
output_visualization_dir: ../output
49-
output_visualization_file_stem: output_file

config/step.yaml

-11
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,3 @@ algorithm:
3030
# Specify output
3131
output_dir: ../output
3232
output_file_stem: output_file
33-
visualization:
34-
x_ranks: 8
35-
y_ranks: 4
36-
z_ranks: 1
37-
object_jitter: 0.5
38-
rank_qoi: work
39-
object_qoi: load
40-
save_meshes: true
41-
force_continuous_object_qoi: true
42-
output_visualization_dir: ../output
43-
output_visualization_file_stem: output_file

config/user-defined-memory-toy-problem.yaml

-11
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,3 @@ write_JSON:
3737
suffix: json
3838
communications: true
3939
offline_LB_compatible: true
40-
visualization:
41-
x_ranks: 2
42-
y_ranks: 2
43-
z_ranks: 1
44-
object_jitter: 0.5
45-
rank_qoi: load
46-
object_qoi: load
47-
save_meshes: true
48-
force_continuous_object_qoi: true
49-
output_visualization_dir: ../output
50-
output_visualization_file_stem: output_file

src/lbaf/Applications/LBAF_app.py

-7
Original file line numberDiff line numberDiff line change
@@ -573,13 +573,6 @@ def run(self):
573573
"Grid size: {self.__parameters.grid_size} < {n_ranks}")
574574
raise SystemExit(1)
575575

576-
# Look for prescribed QOI bounds
577-
qoi_request = [
578-
self.__parameters.rank_qoi,
579-
self.__parameters.work_model.get("parameters", {}).get("upper_bounds", {}).get(self.__parameters.rank_qoi),
580-
self.__parameters.object_qoi
581-
]
582-
583576
# Call vttv visualization
584577
if using_vttv:
585578
self.__logger.info("Calling vt-tv")

src/lbaf/IO/lbsVisualizer.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@
1313

1414

1515
class Visualizer:
16-
"""A class to visualize LBAF results via mesh files and VTK views."""
16+
"""A class to visualize LBAF results via mesh files and VTK views.
17+
18+
lbsVisualizer has been deprecated in favor of vt-tv. This module will be removed
19+
in a future release."""
1720

1821
def __init__(
1922
self,
@@ -40,6 +43,9 @@ def __init__(
4043
statistics: a dictionary of per-phase global statistics
4144
resolution: grid_resolution value."""
4245

46+
# Throw deprecation error immediately
47+
raise DeprecationWarning("LBAF's Visualizer has been deprecated and will be removed in a future release. Visualizations should be generated with DARMA/vt-tv.")
48+
4349
# Assign logger to instance variable
4450
self.__logger = logger
4551

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import os
2+
import logging
3+
import unittest
4+
import subprocess
5+
from src.lbaf.IO.lbsVisualizer import Visualizer
6+
7+
class TestVizDeprecation(unittest.TestCase):
8+
"""Test for lbsVisualizer's deprecation."""
9+
10+
def test_lbs_visualizer_deprecation(self):
11+
try:
12+
visualizer = Visualizer(
13+
logger=logging.getLogger(),
14+
qoi_request=["this", "that", "the other thing"],
15+
continuous_object_qoi=False,
16+
phases=["phase 1", "phase 2"],
17+
grid_size=[0,0,1,1])
18+
except DeprecationWarning as e:
19+
assert str(e) == "LBAF's Visualizer has been deprecated and will be removed in a future release. Visualizations should be generated with DARMA/vt-tv."
20+
21+
def test_lbs_visualizer_config(self):
22+
config_file = os.path.join(os.path.dirname(os.path.dirname(__file__)), "config", "conf_wrong_visualization.yml")
23+
pipes = subprocess.Popen(["python", "src/lbaf", "-c", config_file], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
24+
std_err = pipes.communicate()[1].decode("utf-8")
25+
assert "Visualization enabled but vttv not found. No visualization will be generated." in std_err
26+
27+
if __name__ == "__main__":
28+
unittest.main()

tests/unit/IO/test_vt_writer.py

-4
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,6 @@ def test_vt_writer_required_fields_output(self):
140140
output_file_name = f"{output_file_prefix}.{i}.json"
141141
output_file = os.path.join(output_dir, output_file_name)
142142

143-
print(f"[{__loader__.name}] Compare input file ({input_file_name}) and output file ({output_file_name})...")
144-
145143
# validate that output file exists at rank i
146144
self.assertTrue(
147145
os.path.isfile(output_file),
@@ -218,8 +216,6 @@ def test_vt_writer_communications_output(self):
218216
output_file_name = f"{output_file_prefix}.{r_id}.json"
219217
output_file = os.path.join(output_dir, output_file_name)
220218

221-
# print(f"[{__loader__.name}] Compare input file ({input_file_name}) and output file ({output_file_name})...")
222-
223219
# validate that output file exists at rank i
224220
self.assertTrue(
225221
os.path.isfile(output_file),

tests/unit/config/conf_correct_001.yml

-10
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,3 @@ algorithm:
2929
# Specify output
3030
output_dir: ../../output
3131
output_file_stem: output_file
32-
visualization:
33-
x_ranks: 2
34-
y_ranks: 2
35-
z_ranks: 1
36-
object_jitter: 0.5
37-
rank_qoi: None
38-
object_qoi: None
39-
force_continuous_object_qoi: true
40-
output_visualization_dir: ../../output
41-
output_visualization_file_stem: output_file

tests/unit/config/conf_correct_002.yml

-10
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,3 @@ algorithm:
4040
# Specify output
4141
output_dir: ../../../output
4242
output_file_stem: output_file
43-
visualization:
44-
x_ranks: 2
45-
y_ranks: 2
46-
z_ranks: 1
47-
object_jitter: 0.5
48-
rank_qoi: None
49-
object_qoi: None
50-
force_continuous_object_qoi: true
51-
output_visualization_dir: ../../../output
52-
output_visualization_file_stem: output_file

tests/unit/config/conf_correct_003.yml

-10
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,3 @@ algorithm:
3131
logging_level: debug
3232
output_dir: ../../../output
3333
output_file_stem: output_file
34-
visualization:
35-
x_ranks: 2
36-
y_ranks: 2
37-
z_ranks: 1
38-
object_jitter: 0.5
39-
rank_qoi: None
40-
object_qoi: None
41-
force_continuous_object_qoi: true
42-
output_visualization_dir: ../../../output
43-
output_visualization_file_stem: output_file

tests/unit/config/conf_correct_brute_force.yml

-10
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,3 @@ algorithm:
2222
logging_level: debug
2323
output_dir: ../../../output
2424
output_file_stem: output_file
25-
visualization:
26-
x_ranks: 2
27-
y_ranks: 2
28-
z_ranks: 1
29-
object_jitter: 0.5
30-
rank_qoi: work
31-
object_qoi: load
32-
force_continuous_object_qoi: true
33-
output_visualization_dir: ../../../output
34-
output_visualization_file_stem: output_file

tests/unit/config/conf_correct_clustering.yml

-10
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,3 @@ algorithm:
3131
# Specify output
3232
output_dir: ../output
3333
output_file_stem: output_file
34-
visualization:
35-
x_ranks: 2
36-
y_ranks: 2
37-
z_ranks: 1
38-
object_jitter: 0.5
39-
rank_qoi: load
40-
object_qoi: load
41-
force_continuous_object_qoi: true
42-
output_visualization_dir: ../output
43-
output_visualization_file_stem: output_file

tests/unit/config/conf_correct_clustering_set_tol.yml

-10
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,3 @@ algorithm:
3232
# Specify output
3333
output_dir: ../output
3434
output_file_stem: output_file
35-
visualization:
36-
x_ranks: 2
37-
y_ranks: 2
38-
z_ranks: 1
39-
object_jitter: 0.5
40-
rank_qoi: load
41-
object_qoi: load
42-
force_continuous_object_qoi: true
43-
output_visualization_dir: ../output
44-
output_visualization_file_stem: output_file

tests/unit/config/conf_correct_clustering_target_imb.yml

-10
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,3 @@ algorithm:
3131
# Specify output
3232
output_dir: ../output
3333
output_file_stem: output_file
34-
visualization:
35-
x_ranks: 2
36-
y_ranks: 2
37-
z_ranks: 1
38-
object_jitter: 0.5
39-
rank_qoi: load
40-
object_qoi: load
41-
force_continuous_object_qoi: true
42-
output_visualization_dir: ../output
43-
output_visualization_file_stem: output_file

tests/unit/config/conf_correct_from_data_min_config.yml

-10
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,3 @@ algorithm:
1919

2020
# Specify output
2121
output_file_stem: output_file
22-
visualization:
23-
x_ranks: 2
24-
y_ranks: 2
25-
z_ranks: 1
26-
object_jitter: 0.5
27-
rank_qoi: work
28-
object_qoi: work
29-
force_continuous_object_qoi: true
30-
output_visualization_dir: ../output
31-
output_visualization_file_stem: output_file

tests/unit/config/conf_correct_from_samplers_no_ll.yml

-10
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,3 @@ algorithm:
4040
# Specify output
4141
output_dir: ../../../output
4242
output_file_stem: output_file
43-
visualization:
44-
x_ranks: 2
45-
y_ranks: 2
46-
z_ranks: 1
47-
object_jitter: 0.5
48-
rank_qoi: None
49-
object_qoi: None
50-
force_continuous_object_qoi: true
51-
output_visualization_dir: ../../../output
52-
output_visualization_file_stem: output_file

tests/unit/config/conf_correct_phase_ids_str_001.yml

-10
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,3 @@ algorithm:
2828
# Specify output
2929
output_dir: ../../../output
3030
output_file_stem: output_file
31-
visualization:
32-
x_ranks: 2
33-
y_ranks: 2
34-
z_ranks: 1
35-
object_jitter: 0.5
36-
rank_qoi: None
37-
object_qoi: None
38-
force_continuous_object_qoi: true
39-
output_visualization_dir: ../../../output
40-
output_visualization_file_stem: output_file

tests/unit/config/conf_wrong_algorithm_invalid_001.yml

-10
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,3 @@ algorithm:
2121

2222
# Specify output
2323
output_file_stem: output_file
24-
visualization:
25-
x_ranks: 2
26-
y_ranks: 2
27-
z_ranks: 1
28-
object_jitter: 0.5
29-
rank_qoi: work
30-
object_qoi: work
31-
force_continuous_object_qoi: true
32-
output_visualization_dir: ../output
33-
output_visualization_file_stem: output_file

tests/unit/config/conf_wrong_algorithm_invalid_002.yml

-10
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,3 @@ algorithm:
2727
# Specify output
2828
output_dir: ../../../output
2929
output_file_stem: output_file
30-
visualization:
31-
x_ranks: 2
32-
y_ranks: 2
33-
z_ranks: 1
34-
object_jitter: 0.5
35-
rank_qoi: None
36-
object_qoi: None
37-
force_continuous_object_qoi: true
38-
output_visualization_dir: ../../../output
39-
output_visualization_file_stem: output_file

tests/unit/config/conf_wrong_clustering_set_tol_mag.yml

-10
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,3 @@ algorithm:
3131
# Specify output
3232
output_dir: ../output
3333
output_file_stem: output_file
34-
visualization:
35-
x_ranks: 2
36-
y_ranks: 2
37-
z_ranks: 1
38-
object_jitter: 0.5
39-
rank_qoi: load
40-
object_qoi: load
41-
force_continuous_object_qoi: true
42-
output_visualization_dir: ../output
43-
output_visualization_file_stem: output_file

tests/unit/config/conf_wrong_clustering_set_tol_type.yml

-10
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,3 @@ algorithm:
3131
# Specify output
3232
output_dir: ../output
3333
output_file_stem: output_file
34-
visualization:
35-
x_ranks: 2
36-
y_ranks: 2
37-
z_ranks: 1
38-
object_jitter: 0.5
39-
rank_qoi: load
40-
object_qoi: load
41-
force_continuous_object_qoi: true
42-
output_visualization_dir: ../output
43-
output_visualization_file_stem: output_file

tests/unit/config/conf_wrong_data_and_sampling.yml

-10
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,3 @@ algorithm:
4343
# Specify output
4444
output_dir: ../../../output
4545
output_file_stem: output_file
46-
visualization:
47-
x_ranks: 2
48-
y_ranks: 2
49-
z_ranks: 1
50-
object_jitter: 0.5
51-
rank_qoi: None
52-
object_qoi: None
53-
force_continuous_object_qoi: true
54-
output_visualization_dir: ../../../output
55-
output_visualization_file_stem: output_file

0 commit comments

Comments
 (0)