Skip to content
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

#555: Release v 1.5.0 #557

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

#555: Release v 1.5.0 #557

wants to merge 36 commits into from

Conversation

cwschilly
Copy link
Contributor

Fixes #555

cwschilly and others added 30 commits November 8, 2023 16:41
* #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]>
* #523: update JSON validator test with new args

* #523: add tests for new args

* #523: use different data for validating comm links
* #527: output `home` and `migratable` to the communication node

* #527: replace entity field `id` by `seq_id` in output json entity nodes

* #527: rename entity `id` to `seq_id` in synthetic data files

* #527: rename entity `id` to `seq_id` in ccm example data files

* #527: add error in console for non-migrated data sets about new seq_id entity field missing

* #527: update generator entity keys to add communication from and to keys

* #527: rename remaining entity `id` to `seq_id` in synthetic data files

* #527: add helper script to compress or decompress data files

* #527: rename entity `id` to `seq_id` in nolb-8color-16nodes-11firstphases example compressed data files

* #527: convert id to seq_id field in reader for temp development purpose

* #527: enable and add warning on communications invalid object reference in writer

* #527: fix invalid dict key name

* #527: fix missing logic case causing an error during a test

* #527: update validator loader url to get latest one

* #527: update expected error in test_json_data_files_validator_wrong_file_schema against incoming vt new schema

* #527: fix unit test failing on machines with vttv installed

* #527: fix invalid old field name in unit test

* #527: remove unit test duplicate

* #527: add missing unused field objgroup_id to object class

* #527: write communication node even if from or to object is missing

* #527: fix vt writer unit tests to support entity seq_id field

* #527: remove extra blank line

* #527: fix a unit test due to schema update

* #527: rename a file in unit tests

* #527: set acceptance tests max_objects_per_transfer to 1 for imbalance to be zero

* #527: update datasets to rename `id` to `seq_id` in entities and communications from & to

* #527: rename and finalized dataset copy script for possible future reuse

* #527: clean Data reader class and add some typing use

* #527: fix path when running a unit test locally

* #527: remove temporary base url for vt scripts because of vt 2343 merged

* #527: update comments in copy_dataset script

* #527: copy entity unused fields to the communication from and to nodes

* #527: add option to set the task `collection_id` field in json generator

* #527: fix new task specification normalization for json generator

* #527: update json generator unit tests files

* #527: add python 3.12 test environment

* #527: add missing dependency for python 3.12

* #527: remove python 3.12 tests

* #527: fix test configuration file

* #527: fix remaining errors in tests for json data files maker

* #527: fix python 3.10 error

* #527: remove trailing white space

* #527: fix output bad data in writer

* #527: update nolb-8color-16nodes-every50phases dataset

* #527: update nolb-8color-16nodes-data dataset

* #527: update script comment

* #527: try ignore trialing whitespace error in binary file

* #527: restore datasets

* #527: restore a ci file

* #527: enable both `id` and `seq_id` in object class

* #527: fix call of object id in reader and in phase

* #527: fix invalid names

* #527: fix datawriter error

* #527: fix id getter calls

* #527: fix a unit test error

* #527: use `seq_id` instead of `id` for small ids in 3 data sets

* #527: fix reader and writer to deal with id and seq id

* #527: update writer test to keep entity id and seq_id data

* #527: update test datasets to use `seq_id` instead of `id`

* #527: update lbaf data set in unit tests to use `seq_id`instead of `id`

* #527: update synthetic blocks dataset to use entity `seq_id` instead of `id`

* #527: update synthetic lb datasets to use entity `seq_id` instead of `id`

* #527: update yaml specification file for synthetic blocks

* #527: update test JSON data file validator dataset to use entity `seq_id` instead of `id`

* #527: update testsynthetic lb data set with wrong schema to use entity `seq_id` instead of `id`

* #527: regenerate synthetic blocks files with the lb data files maker

* #527: update demo example to CCM example in lb data files maker

* #527: add ccm example specification yaml file

* #527: fix writer dict key order for consistency with vt

* #527: fix json writer communication target migratable value and make pahse ranks a set

* #527: update ccm example dataset by using the LB data files maker

* #527: regenerate synthetic blocks dataset to fix some falsy migratable value in communication targets

* #527: regenerate synthetic lb data and add spec file for the data files maker

* #527: update a doc string

* #527: update an error message

* #527: set `collection_id` on some dataset entities

* #527: make collection_id required and default to 7 for migratable objects

* #527: update copy_dataset utility script to ignore non json files

* #527: clean code in a test file

* #527: make collection_id an attribute of object class

* #527: fix missing data in writer output

* #527: add comment on top of synthetic blocks specification file

* #527: remove commented lines in copy_dataset script

* #527: update documentation in object class

* #527: clarify some comment in test_vt_writer file

* #527: fix import error in unit tests

* #527: replace `shared_block_id` by `shared_id` everywhere

* #527: fix specification save error in data files maker interactive mode

* #527: fix unit test error

* #527: fix logic error in a unit test

* #527: upgrade upload action to version 4

* #527: fix id displayed by the Object __repr__ method

* #527: fix typo
* #537: update JSON to work with new schema

* #537: collapse all modified JSON into a single line
* #529: test deploy docs pipeline on this branch

* #529: guard vtk import in try/except block

* #529: improve error handling for missing vtk module

* #529: deploy docs on pushes to master or develop

* #529: fix typo
* #535: update and clean up readme

* #535: update docs

* #535: small fix

* #535: make requested changes

* #535: clarify tox instructions
… CCM-MILP (#545)

* #544: add a new algorithm to implement the permutations prescribed by CCM MILP

* #544: removed debug lines

* #544: whitespace cleanup

* #544: improved algorithm to avoid repeats
* #539: add typing_extensions to requirements

* #539: fix typo

* #539: Update page name

* #539: fix page name again

* #539: return target branch to master and develop
* #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
@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?

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.

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.

4 participants