Skip to content

#555: Release v 1.6.0 #557

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 54 commits into
base: master
Choose a base branch
from
Open

#555: Release v 1.6.0 #557

wants to merge 54 commits into from

Conversation

cwschilly
Copy link
Contributor

@cwschilly cwschilly commented Sep 30, 2024

Fixes #555

This PR was originally meant to update main for 1.5.0, but it has been updated now to include the changes for 1.6.0 as well.

@cwschilly
Copy link
Contributor Author

cwschilly commented Sep 30, 2024

@ppebay @lifflander @nlslatt

Is it okay to rebase -i this branch in order to the fix the commit name that's failing CI (here)?

Or should I rebase develop first, and then this branch?

Or just leave it how it is?

@cwschilly cwschilly self-assigned this Sep 30, 2024
Copy link
Contributor

@ppebay ppebay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deferring to @lifflander regarding the approved way to handle the incorrect commit name.

@ppebay
Copy link
Contributor

ppebay commented Feb 7, 2025

@cwschilly do you know why this PR is still open?

@cwschilly
Copy link
Contributor Author

@ppebay We were waiting for confirmation on how to handle the incorrect commit name (see above comments)

@ppebay
Copy link
Contributor

ppebay commented Feb 7, 2025

I think interactively rebasing is alright. I suggest that except of @lifflander disagrees in short order, that you do it @cwschilly

@cwschilly cwschilly changed the title #555: Release v 1.5.0 #555: Release v 1.6.0 May 13, 2025
cwschilly and others added 20 commits May 13, 2025 08:11
* #475: use relative path for imported dir, remove overwrite from package

* #475: fix other case of absolute file path
…the end (#479)

* #474: report stats on homed_blocks_ratio and number_of_uprooted_blocks when lbaf terminates

* #474: print detailed stats if shared memory information available

* #474: clarify variable name
* #484: updates to code following vt implementation

* #484: consistency with 16 subclusters max

* #484: introduced max_subclusters parameters to better emulate vt temperedLB

* #484: instrumented subclustering skipping for comparisons to vt temperedlb

* #484: fix failing test

* #484: removed debug lines (to bypass exception throwing)

* #484: add unit tests and uncomment debugging lines

* #484: fix bad indentation

* #484: add max_subclusters param

* #484: add debugging statements to test GH CI

* #484: remove debugging statements

---------

Co-authored-by: Caleb Schilly <[email protected]>
* #461: introduce unit test for BruteForceAlgorithm

* #461: create lbsRuntime test

* #461: add newlines

* #461: create lbsTransferStrategyBase tests

* #461: rework unit test directory structure

* #461: begin clustering_transfer_strategy unit test

* #461: create test for lbsClusteringTransferStrategy

* #461: begin recursive transfer strategy unit tests

* #461: refactor transfer strategy test following changes

* #461: add work model tests

* #461: remove problematic and unncessary test

* #461: improve clustering strategy test with new test case

* #461: write out subclustering problem to json

* #461: clean up recursive transfer strategy test

* #461: add nondeterministic clustering test

* #461: add test for lbsBlock

* #461: add test for centralized prefix optimizer algorithm

* #461: code clean up

* #461: deprecate increasing connectivity and finalize tests

* #461: clarify instructions for generating subclustering json
* #482: write out unused params, subphases, and beginnings of communications

* #482: use mp manager to use dicts and lists correctly

* #482: add if statements and fix failing tests

* #482: add unit test for communications data

* #482: clean up

* #482: add flexibilty for multiple phases

* #482: add output folder for communications test

* #482: finalize code, fix failing tests

* #482: add new test data and work on supporting multiple phases

* #482: fix multi-phase test, deprecate -1 option

* #482: remove print statements and imbalance.txt

* #482: fix failing test

* #482: add extra if statement to guard against inconsistent inputs

* #482: remove unused function
…ks have stopped swapping (#488)

* #486: fully separated swapping from subclustering and made other improvements

* #486: fixed whitespace cleanup

* #486: fixed a bug related to average load and removed intermediate variable

* #486: completed optional separation of swapping and subclustering governed by an optional parameter

* #486: fix subclustering test to reflect changes

* #486: add unit test for new separate_subclustering param

* #486: add missing config file

---------

Co-authored-by: Caleb Schilly <[email protected]>
…ent (#499)

* #497: add test that runs lbaf sans communication

* #497: create new config with no visualization

* #497: remove unnecessary data files
* #498: loosen type requirements in lbsObject

* #498: allow ints for rank size

* #498: add missing import

* #498: handle bool case

* #498: add unit test for rank size
* #504: this code and inputs implement the FWMP problem shown in SC'24 paper

* #504: whitespace cleanup

* #504: CMakeCache committed by error

* #504: fix schema_error.txt file to add attributes field to testing

* #504: Improved program to actually perform checks and report on them (and errors if found)

* #504: added test of Table I of paper as well (block to rank assignments)

* #504: whitespace cleanup

* #504: fixed some printout issues

* #504: verified the new logic to test and count all constraints individually

---------

Co-authored-by: Caleb Schilly <[email protected]>
* #422: Begin experimenting with VTDataWriter to pass data to vt-tv

* #422: Add configuration parameters for vttv call and continue data payload serialization

* #422: Clean up call to vt-tv

* #422: try serializing data

* #16: fix missing communications

* #422: add max_volume as an object qoi; fix reader

* #422: try putting vttv import in a try/except block for ci

* #422: add warning for when viz is enabled but vttv not found

---------

Co-authored-by: Caleb Schilly <[email protected]>
* #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
…han 3.9 (#516)

* #509: expand supported python versions to include 3.10 and 3.11

* #509: add more versions to tox.ini

* #509: more fixes to run on 3.10 and 3.11

* #509: try updating pylint version

* #509: fix new pylint errors
… blocks (#519)

* #506: upgrade vscode editor settings

* #506: fix pylintrc file waring codes mispelling

* #506: create skeleton for new utility to generate JSON output from cli

* #506: add user prompt for tasks to add

* #506: start implementing new Phase populate_from_specification method

* #506: start implementing new specification for a Dataset and some refactoring

* #506: rework Phase specification dictionaries

* #506: implement populate_from_specification missing code

* #506: improve JSONDatasetMaker class

* #506: add vscode task to debug or run the dataset maker

* #506: create communicators and add communications to the popultaed phase

* #506: fix double quotes

* #506: change output directory for data and config file generated by the JSONDatasetMaker

* #506: refactor - improve code quality - add dump and load from file functions for specifications

* #506: code formatting

* #506: update doc strings

* #506: fix ci warnings

* #506: improve util script arguments handling and display and add more comments

* #506: fix ci warnings

* #506: remove trailing space

* #506: fix messages

* #506: improve PhaseSpecification file format with intriduction of  PhaseSpecificationNormalizer class

* #506: fix trailing whitespace

* #506: some refactoring

* #506: wip interactive inputs

* #506: adding the CCM example data without blocks for visualization purposes

* #506: the configuration file to run the CCM example illustration problem for this case

* #506: feat to add objects unitary in interactive mode

* #506: remove undesired communications set from the rank specification

* #506: fix bad output stem in ccm example config file

* #506: code formatting and update sample config build

* #506: fix communications in phase

* #506: rename ccm_example_data directory to ccm_example

* #506: reorganize interactive commands in script

* #506: remove trailing whitespace

* #506: fix Object class types and get_shared_block_id error if no shared block

* #506: refactor and add comments

* #506: rename console script for consistency

* #506: update bad quotes

* #506: fixed entity ID

* #506: fix error if task_footprint_bytes or task_working_bytes not defined in user defined data

* #506: improve specification validation add add optional multiple_sharing support

* #506: modified CCM example to simple "phase step" (no LB) and call vt-tv

* #506: update user defined home dict key for shared block

* #506: update checks of specification in populate_from_specification logic and add warning for orphan shared blocks

* #506: add unit tests for data files maker

* #506: remove trailing whitespace

* #506: fix specific problem in case of a shared block for tasks on different ranks

* #506: add support of home specification for shared blocks user defined data

* #506: remove completely links between ranks and shared blocks in populate_from_specification

* #506: rename test class

* #506: update typing because CI error

* #506: remove unused import

* #506: try fix typing for ci

* #506: remove typing causing CI error

* #506: fix obsolete documentation

* #506: fix wrong import position ausing error if lbaf package not installed

* #506: update docs related to arguments descriptions and to the maker script

* #506: checking in the generated datasets that correspond to CCM with blocks as well

* #506: update doc comments and formatting

* #506: improve comments

* #506: fix trailing space

* #506: update error log message and comment

* #506: remove sample run configuration generation from script

* #506: fix 2 problems in interactive mode

* #506: update home to home_rank in phase specification

* #506: fix unit tests

* #506: add additional interactive input validation

* #506: refactor and fix errors and improve rank input in interactve mode

* #506: catch any error in interactive mode loop

* #506: fix trailing comma generating unexpected tuple

* #506: fix remaining extra comma generating tuple

* #506: fix conversion error between int and string in interactive mode for tasks lists inputs

* #506: fix typo adn update error message

* #506: fix extra util input issue in interactive mode

* #506: input fixes

* #506: add new unit test with specified element keys

* #506: WIP remove element and refactoring

* #506: enable remove rank or task in interactive mode

* #506: fix syntax

* #506: fixes

* #506: promote local variable spec to class variable in maker and implement 2 remaining remove* functions

* #506: fix bad method call on error

* #506: fix trailing whitespace

* #506: fix another trailing whitespace in unit tests

* #506: fix ccm example json files wrong key

* #506: fix old variable

* #506: fix another variable name

* #506: fix typo

* #506: fix typo

---------

Co-authored-by: Philippe P. Pébaÿ <[email protected]>
* #521: description, constructing script, and dataset files

* #521: Configuration file to run the synthetic+blocks case through PhaseStepper and render it

* #521: modified example and specification

* #521: new test case

* #521: excluse pngs from trailing whitespace check

* #521: fix png whitespace error

* #521: pull in LBDatafile_schema.py with JSON_data_files_validator.py

* #521: finalized example and configuration with baseline load-only setting that must reach 0 imbalance

* #521: generalize whitespace check to ignore all pngs

* #521: remove unused imports

---------

Co-authored-by: Caleb Schilly <[email protected]>
cwschilly and others added 26 commits May 13, 2025 08:11
* #532: update version number everywhere

* #532: add license to all files

* #532: update license copyright years
* #547: add tests for permutation algorithm

* #547: remove accidental addition

* #547: add capability to call lbaf.run directly

* #547: remove unused imports
* #543: remove lbsVisualizer and lbsGridStreamer

* #543: remove MoveCountsViewer and fix errors in documentation of dependencies
* #487: add filters to subclustering based on load before and after

* #487: fix failing test, set default thresholds to 0.0

* #487: make subclustering filters configurable

* #487: fix pylint warnings

* #487: fix formatting of max_load
* #542: resolve warnings in lbsJSONDataFilesMaker, lbsArgumentParser, lbsVTDataExtractor, and lbsRank

* #542: resolve warnings in lbsObject and lbsPhase

* #542: resolve warnings in lbsInformAndTransferAlgorithm and lbsPhaseSpecification

* #542: resolve warnings in CriterionBase, RecursiveTransferStrategy, and TransferStrategyBase

* #542: resolve warnings for BruteForceAlgorithm, ClusteringTransferStrategy, PhaseStepperAlgorithm, and TransferStrategyBase

* #542: resovle warnings in AlgorithmBase and CentralizedPrefixOptimizerAlgorithm

* #542: resolve warnings in LBAF_app and MoveCountsViewer

* #542: resolve warnings in GridStreamer, VTDataReader, and VTDataWriter

* #542: resolve warnings for ConfigurationUpgrader, ConfigurationValidator, and Statistics

* #542: resolve warnings in PrescribedPermutationAlgorithm
* #551: build documentation on any branch; only deploy on develop or main

* #551: reorder input modules

* #551: try including root modules

* #551: interrogate docs build process

* #551: specify parent modules

* #551: remove debug prints
* #553: try resolving warnings

* #553: fix naming inconsistency

* #553: restore branch targetting
…ication case (#541)

* #533: initial commit; add new tests for synthetic blocks dataset

* #533: update with more changes

* #533: update tests to use W_max instead of of load imbalance

* #533: set BFO to false; increase n_iterations

* #533: update logic to avoid writing configuration files

* #533: loosen constraints on W_max in tests
* #566: added infrastructure for parameters for lb iterations

* #566: corrected incorrect handling of Bool/int

* #566: eliminated "distributions" that are no longer needed

* #566: no notion of QOI needed here any longer

* #566: removed distributions

* #566: fix test to reflect removal of stats/distr

* #566: fixed failure of centralized test

* #566: fixed bug in computation of Hamming distance to optimum

* #566: clarified doc

* #566: eliminated now unused notion of QOIs

* #566: reduced computation of stats to what is needed: max load and total work

* #566: make stat update message debug only

* #566: removed QOIs from test harness

* #566: removed forgotten QOIs
* #566: use lower case in function makes as per PEP

* #566: fixed imports from PR569 in cases when lbaf package not installed

* #566: fixed incorrect comment

* #566: Python style: do not use LB but lb

* #566: fixed instances of LB in files

* #566: LB iterations persist as sub-indexed phases

* #566: old style typing needed for 3.8 to pass

* #566: fixed tests for new syntax

* #566: fixed more test errors

* #566: restored defaut conf.yaml

* #566: progress checkpoint to exercise CI -- iterations passed to writer

* #566: whitespace cleanup

* #566: fixed typo

* #566: completed implementation

* #566: fixed bug that prevented supporting online compatibility

* #566: fixed whitespace cleanup

* #566: Ensure proper retention in correct phase of lb iterations in offline mode

* #566: resolve pylint errors

* #566: proper initialization

* #566: factor out identical rank copying and fixed duplicate code

* #566: no typing inside implementations

* #566: reorganized code and fixed lb iterations comm

* #566: whitespace cleanup

* #566: fix communications variable name

* #566: fixed missing communications

* #566: removed debug statements

* #566: style

* #566: removed forgotten test routine bypass

* #566: fixed bug

* #566: whitespace cleanup and other improvements

---------

Co-authored-by: Caleb Schilly <[email protected]>
Co-authored-by: Pierre Pebay <[email protected]>
…lookup table (#574)

* #571: replacing with deep copies but also modifying handling of blocks

* #571: attempt to debug CI

* #571: removed spurious debug print statements
* #558: output: add output to JSON for vt-tv for dervied stats

* #562: iterate through rank qoi; make get_QOIs return pre-processed name

* #562: fix failing test

* #562: writer: use object qoi getter instead of hard-coded qois

* #562: add decorator for entity properties

* #562: fix pylint warnings; clean up obj qoi getter

* #562: clarify name of obj qoi getter function

---------

Co-authored-by: Caleb Schilly <[email protected]>
* #575: qois: fix rank qois

* #575: very small change

---------

Co-authored-by: Philippe P. Pébaÿ <[email protected]>
…nges (#580)

* #573: verified that no bug is actually present but made stylistic changes nonetheless

* #573: whitespace cleanup
* #582: Add JSON task lister util script

* #582: Update JSON task lister as package console command

* #582: Fix logger calls with f strings

* #582: JSONTaskLister: Improve self-documentation and add proper member initialization
…clustering (#585)

* #584: added option to preserve subclusters

* #584: fixed CI problem

* #584: addressed PLP review comment

* #584: fixed CI issues

* #584: add max number of subclusters to example to demonstrate its usage
… changes (#581)

* #558: base of reconstructed PR post conflict resolution and integration of changes

* #558: whitespace cleanup

* #558: fixed incomplete type

* #558: progress checkpoint where nodes and node level memory values are correct

* #558: whitespace cleanup

* #558: fix CI failures

* #558: add unit test for lbsNode

* #558: small syntax improvement

* #558: add space

* #558: parentheses needed in test when walrus operator is used

* #558: improved and enriched statistics printouts

* #558: added node getter and reporting node max memory usage properly too now

* #558: better initialization

* #558: additional and better testing

* #558: completed implementation fixing remaining shared blocks bug

* #558: removed now unused set_shared_blocks from tests

* #558: fix CI issues

* #558: WS cleanup

* #558: fix unit test failures

* #558: fix formatting and delete unnecessary block

* #558: use copy for rank objects instead of deepcopy; other small fixes

* #558: create new ranks set directly as member variable

* #558: use configuration 1 for load-only test case

---------

Co-authored-by: Caleb Schilly <[email protected]>
* #594: a version that runs without global alpha but produces incorrect results

* #594: fixed trailing WS

* #594: removed alphas from global level

* #594: modified CI to check for missing beta not alpha

* #594: eliminated alpha from CI but this breaks the comm-only cases

* #594: updated doc to relect loss of global alpha

* #594: some reorg

* #594: reorganization of doc

* #594: continued update of documentation

* #594: added infrastructure for alpha values on per-rank basis

* #594: these are not executables

* #594: pretty print synthetic acceptance case for ease of understanding that CI test

* #594: modified acceptance test to use alpha0 dataset when needed

* #594: WS cleanup

* #594: added file for alpha 0 rank 3

* #594: updated Model and IO to support local alphas

* #594: removed forgotten debug statements

* #594: added the test case for communications-only to config examples

* #594: handle cases when metadata is None

* #594: major cleanup to remove outdated synthetic_lb_data case from CI

* #594: now use up-to-date data

* #594: continued clean up of older tests

* #594: further cleanup of CI

* #594: ensure that alpha=0 case is also tested for permutations

* #594: fixed CI bug
…omputation of max arrangement work statistics (#597)

* #596: cleaned up call from brute force option that was hardly ever used now that we have MILP

* #596: reworked CI framework to accommodate for removed brute force option

* #596: fix outdated doc

* #596: fixed still incorrect tests in framework

* #596: fixed one more CI defect

* #550: push change that had been stashed to resolve issue but never included in any PR

* #596: forgot to remove brute force optimization key in validator that was wreaking havoc

* #596: also modified the phase stepper (which does not do LB)
@cwschilly cwschilly force-pushed the 555-release-v-150 branch from eef1a7d to 740745c Compare May 13, 2025 15:12
@cwschilly
Copy link
Contributor Author

cwschilly commented May 13, 2025

@lifflander @ppebay I rebased this branch (555-release-v-150) to resolve the naming issue. This PR is ready for reviews again

@cwschilly cwschilly requested a review from ppebay May 13, 2025 15:12
Copy link
Contributor

@ppebay ppebay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but requires SNL review as it's a release @lifflander @nlslatt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants