mirror of
https://github.com/huggingface/accelerate.git
synced 2025-10-20 18:13:46 +08:00
* init * style * is_hpu_available * fix * import habana_frameworks.torch.distributed.hccl * style * test * initialize dist proc group * revert * set backend to hccl only if hccl initialization sets a local rank * force backend hccl and multi_hpu type when sure of distributed launch * style * pass accelerator tests * pas big modeling tests with bigger atol/rtol for accelerators * fix hpu device count and skip tests requiring hpu:x * hpu autocast * hpu rng_state * hpu launch * hpu special device placement * hpu launch * rng state * distributed data loop tests * enforce non contiguity after device memory allocation * pass fsdp tests * enforce pt_hpu_lazy_mode=0 when fsdp testing * pass cli tests * pass and document grad sync tests * pass kwargs handler and autocast tests * memory utils * found source of int64 errors * skip some modeling utils tests * enable int64 * skip optimizer tests * pass checkpointing tests * pass accelerator tests with safetensors main * more hpu stuff * style * remove PT_HPU_LAZY_MODE and PT_ENABLE_INT64_SUPPORT as they should be in the testing environment * start testing on gaudi2 * support fp16 on gaudi2 * add testing order * custom hpu fsdp env dict * fix torch trace malloc * test ddp half precision comm hooks * fix * fix * remove lower bound for hpu * use 0.72 as lower bound * lower lower bound * order deepspeed tests * fix * deepspeed_use_hpu * assert non lazy mode with offloaded optimizer * make patching torch with habana frameworks the default * less of require_non_hpu * skip test_multi_device_merge_fsdp_weights for now as it halts * skip another flaky test * format * use habana_visible_modules * patch torch hpu device count * avoid setting HABANA_VISIBLE_MODULES * don't play with habana visible devices/modules * only with hpu * fixes and skips * skip * fix device ids and add some todos * skip offloading with generate() * fix * reduced atol/rtol for hpu * fix * tag deepspeed tests that should run first * enable a test path that was skipped * revert a test that was customized for gaudi1 * some patching to enable HABANA_VISIBLE_MODULES * fix zero3 test * misc * test DTensor TP * remove gaudi1 * test * style * comment * pass pad_across_processes * require_fp16 * pass memory utils test * test_ddp_comm_hook * skip half precision comm hooks on hpu * fix * is_fp16_available * fp16 * tp as part of integration tests * fix * write_basic_config * safetensors * local sgd and masked_fill_fwd_i64 * fix num_processes in test_load_states_by_steps * fp8 support * test * fix * add a workflow * Update src/accelerate/accelerator.py * review comments * ci * style * comments * test * habana_frameworks.torch * patch device count * fix * fix * require_fp8 * fix * fix * gaudi 1 * remove unnecessary * fixed maskd fill error in transformers * style * balanced_memory pass on hpu * remove for now * run first * Apply suggestions from code review * style after merge * Update src/accelerate/accelerator.py Co-authored-by: Zach Mueller <muellerzr@gmail.com> * Update src/accelerate/utils/transformer_engine.py Co-authored-by: Zach Mueller <muellerzr@gmail.com> * empty cache review comments * test_scirpt.py error messages * AccelerateTestCase for accelerator state cleanup * test * add gaudi1 workflow * fp8 avilability * fix * reduce batch size * concurrency * check cuda as well * nits and comments * mark fsdp tests that require_fp16 * style * mark deepspeed fp16 tests * update image * fix * updated * better msgs * skip pippy * test * test on 2 device * support up to 1% relative error in test_accelerate * skip hpu fp16 * allow for 1 byte differene * revert torch_device change * style * skip memory release since it's flaky * add accelerator state cleanup to fixture * fix * atol * fix * more rtol * equal grad test * revert * pass pippy on gaudi2 and skip on gaudi1 * enable sd 1.5 test with require fp16 * added warning on memory release * don't log warning in memory release as it requires PartialState to be initialized * Apply suggestions from code review --------- Co-authored-by: Zach Mueller <muellerzr@gmail.com>
94 lines
3.6 KiB
Makefile
94 lines
3.6 KiB
Makefile
.PHONY: quality style test docs utils
|
|
|
|
check_dirs := .
|
|
|
|
# Check that source code meets quality standards
|
|
|
|
extra_quality_checks:
|
|
python utils/check_copies.py
|
|
python utils/check_dummies.py
|
|
python utils/check_repo.py
|
|
doc-builder style src/accelerate docs/source --max_len 119
|
|
|
|
# this target runs checks on all files
|
|
quality:
|
|
ruff check $(check_dirs)
|
|
ruff format --check $(check_dirs)
|
|
doc-builder style src/accelerate docs/source --max_len 119 --check_only
|
|
|
|
# Format source code automatically and check is there are any problems left that need manual fixing
|
|
style:
|
|
ruff check $(check_dirs) --fix
|
|
ruff format $(check_dirs)
|
|
doc-builder style src/accelerate docs/source --max_len 119
|
|
|
|
# Run tests for the library
|
|
test_big_modeling:
|
|
python -m pytest -s -v ./tests/test_big_modeling.py ./tests/test_modeling_utils.py $(if $(IS_GITHUB_CI),--report-log "$(PYTORCH_VERSION)_big_modeling.log",)
|
|
|
|
test_core:
|
|
python -m pytest -s -v ./tests/ --ignore=./tests/test_examples.py --ignore=./tests/deepspeed --ignore=./tests/test_big_modeling.py \
|
|
--ignore=./tests/fsdp --ignore=./tests/tp --ignore=./tests/test_cli.py $(if $(IS_GITHUB_CI),--report-log "$(PYTORCH_VERSION)_core.log",)
|
|
|
|
test_cli:
|
|
python -m pytest -s -v ./tests/test_cli.py $(if $(IS_GITHUB_CI),--report-log "$(PYTORCH_VERSION)_cli.log",)
|
|
|
|
test_deepspeed:
|
|
python -m pytest -s -v ./tests/deepspeed $(if $(IS_GITHUB_CI),--report-log "$(PYTORCH_VERSION)_deepspeed.log",)
|
|
|
|
test_fsdp:
|
|
python -m pytest -s -v ./tests/fsdp $(if $(IS_GITHUB_CI),--report-log "$(PYTORCH_VERSION)_fsdp.log",)
|
|
|
|
test_tp:
|
|
python -m pytest -s -v ./tests/tp $(if $(IS_GITHUB_CI),--report-log "$(PYTORCH_VERSION)_tp.log",)
|
|
|
|
# Since the new version of pytest will *change* how things are collected, we need `deepspeed` to
|
|
# run after test_core and test_cli
|
|
test:
|
|
$(MAKE) test_core
|
|
$(MAKE) test_cli
|
|
$(MAKE) test_big_modeling
|
|
$(MAKE) test_deepspeed
|
|
$(MAKE) test_fsdp
|
|
$(MAKE) test_tp
|
|
|
|
test_examples:
|
|
python -m pytest -s -v ./tests/test_examples.py $(if $(IS_GITHUB_CI),--report-log "$(PYTORCH_VERSION)_examples.log",)
|
|
|
|
# Broken down example tests for the CI runners
|
|
test_integrations:
|
|
python -m pytest -s -v ./tests/deepspeed ./tests/fsdp ./tests/tp $(if $(IS_GITHUB_CI),--report-log "$(PYTORCH_VERSION)_integrations.log",)
|
|
|
|
test_example_differences:
|
|
python -m pytest -s -v ./tests/test_examples.py::ExampleDifferenceTests $(if $(IS_GITHUB_CI),--report-log "$(PYTORCH_VERSION)_example_diff.log",)
|
|
|
|
test_checkpoint_epoch:
|
|
python -m pytest -s -v ./tests/test_examples.py::FeatureExamplesTests -k "by_epoch" $(if $(IS_GITHUB_CI),--report-log "$(PYTORCH_VERSION)_checkpoint_epoch.log",)
|
|
|
|
test_checkpoint_step:
|
|
python -m pytest -s -v ./tests/test_examples.py::FeatureExamplesTests -k "by_step" $(if $(IS_GITHUB_CI),--report-log "$(PYTORCH_VERSION)_checkpoint_step.log",)
|
|
|
|
# Same as test but used to install only the base dependencies
|
|
test_prod:
|
|
$(MAKE) test_core
|
|
|
|
test_rest:
|
|
python -m pytest -s -v ./tests/test_examples.py::FeatureExamplesTests -k "not by_step and not by_epoch" $(if $(IS_GITHUB_CI),--report-log "$(PYTORCH_VERSION)_rest.log",)
|
|
|
|
# For developers to prepare a release
|
|
prepare_release:
|
|
rm -rf dist build
|
|
python setup.py bdist_wheel sdist
|
|
|
|
# Make sure this is ran in a fresh venv of some form
|
|
install_test_release:
|
|
pip uninstall accelerate -y
|
|
pip install -i https://testpypi.python.org/pypi --extra-index-url https://pypi.org/simple accelerate
|
|
|
|
# Run as `make target=testpypi upload_release`
|
|
upload_release:
|
|
@if [ "$(target)" != "testpypi" ] && [ "$(target)" != "pypi" ]; then \
|
|
echo "Error: target must be either 'testpypi' or 'pypi'"; \
|
|
exit 1; \
|
|
fi
|
|
twine upload dist/* -r $(target)
|