def METHOD_NAME(tmp_path, use_data_parallel):
    config = get_empty_config()
    config["compression"] = [
        {
            "algorithm": "magnitude_sparsity",
            "params": {"schedule": "multistep", "multistep_sparsity_levels": [0.3, 0.5], "weight_importance": "abs"},
        },
        {"algorithm": "quantization"},
    ]
    register_bn_adaptation_init_args(config)
    sparse_model, _ = create_compressed_model_and_algo_for_test(MagnitudeTestModel(), config)
    if use_data_parallel:
        if not torch.cuda.is_available():
            pytest.skip("Skipping CUDA test cases for CPU only setups")
        sparse_model.cuda()
        sparse_model = torch.nn.DataParallel(sparse_model)
    with torch.no_grad():
        sparse_model(torch.ones([1, 1, 10, 10]))
    config = get_empty_config()
    config["compression"] = [{"algorithm": "const_sparsity"}, {"algorithm": "quantization"}]
    register_bn_adaptation_init_args(config)
    const_sparse_model, _ = create_compressed_model_and_algo_for_test(MagnitudeTestModel(), config)
    load_state(const_sparse_model, sparse_model.state_dict())
    op = const_sparse_model.conv1.pre_ops["0"]
    PTTensorListComparator.check_equal(ref_mask_1, op.operand.binary_mask)
    op = const_sparse_model.conv2.pre_ops["0"]
    PTTensorListComparator.check_equal(ref_mask_2, op.operand.binary_mask)