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

[WIP] FEA Support Veclib/Accelerate #166

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

Tweak

ee6978f
Select commit
Loading
Failed to load commit list.
Open

[WIP] FEA Support Veclib/Accelerate #166

Tweak
ee6978f
Select commit
Loading
Failed to load commit list.
Azure Pipelines / joblib.threadpoolctl failed Feb 9, 2024 in 33m 45s

Build #20240209.9 had test failures

Details

Tests

  • Failed: 34 (2.50%)
  • Passed: 806 (59.22%)
  • Other: 521 (38.28%)
  • Total: 1,361

Annotations

Check failure on line 1427 in Build log

See this annotation in the file changed.

@azure-pipelines azure-pipelines / joblib.threadpoolctl

Build log #L1427

Bash exited with code '1'.

Check failure on line 366 in Build log

See this annotation in the file changed.

@azure-pipelines azure-pipelines / joblib.threadpoolctl

Build log #L366

Bash exited with code '1'.

Check failure on line 302 in Build log

See this annotation in the file changed.

@azure-pipelines azure-pipelines / joblib.threadpoolctl

Build log #L302

Cmd.exe exited with code '1'.

Check failure on line 407 in Build log

See this annotation in the file changed.

@azure-pipelines azure-pipelines / joblib.threadpoolctl

Build log #L407

Bash exited with code '1'.

Check failure on line 1 in test_controller_info_actualized

See this annotation in the file changed.

@azure-pipelines azure-pipelines / joblib.threadpoolctl

test_controller_info_actualized

assert False
 +  where False = all(<generator object test_controller_info_actualized.<locals>.<genexpr> at 0x10d9bbc60>)
Raw output
def test_controller_info_actualized():
        # Check that the num_threads attribute reflects the actual state of the threadpools
        controller = ThreadpoolController()
        original_info = controller.info()
    
        with threadpool_limits(limits=1):
>           assert all(
                lib_controller.num_threads == 1
                for lib_controller in controller.lib_controllers
            )
E           assert False
E            +  where False = all(<generator object test_controller_info_actualized.<locals>.<genexpr> at 0x10d9bbc60>)

controller = <threadpoolctl.ThreadpoolController object at 0x10d9be9f0>
original_info = [{'filepath': '/usr/local/miniconda/envs/testvenv/lib/libvecLibFort-ng.dylib', 'internal_api': 'accelerate', 'num_thre.../local/miniconda/envs/testvenv/lib/libomp.dylib', 'internal_api': 'openmp', 'num_threads': 3, 'prefix': 'libomp', ...}]

tests/test_threadpoolctl.py:86: AssertionError

Check failure on line 1 in test_threadpool_limits_by_prefix[1-libveclib]

See this annotation in the file changed.

@azure-pipelines azure-pipelines / joblib.threadpoolctl

test_threadpool_limits_by_prefix[1-libveclib]

TypeError: '<' not supported between instances of 'int' and 'str'
Raw output
prefix = 'libveclib', limit = 1

    @pytest.mark.parametrize("prefix", _ALL_PREFIXES)
    @pytest.mark.parametrize("limit", [1, 3])
    def test_threadpool_limits_by_prefix(prefix, limit):
        # Check that the maximum number of threads can be set by prefix
        controller = ThreadpoolController()
        original_info = controller.info()
    
        controller_matching_prefix = controller.select(prefix=prefix)
        if not controller_matching_prefix:
            pytest.skip(f"Requires {prefix} runtime")
    
        with threadpool_limits(limits={prefix: limit}):
            for lib_controller in controller_matching_prefix.lib_controllers:
                if is_old_openblas(lib_controller):
                    continue
                # threadpool_limits only sets an upper bound on the number of
                # threads.
>               assert 0 < lib_controller.num_threads <= limit
E               TypeError: '<' not supported between instances of 'int' and 'str'

controller = <threadpoolctl.ThreadpoolController object at 0x10da23110>
controller_matching_prefix = <threadpoolctl.ThreadpoolController object at 0x10da233b0>
lib_controller = <threadpoolctl.AccelerateController object at 0x10da22db0>
limit      = 1
original_info = [{'filepath': '/usr/local/miniconda/envs/testvenv/lib/libvecLibFort-ng.dylib', 'internal_api': 'accelerate', 'num_thre.../local/miniconda/envs/testvenv/lib/libomp.dylib', 'internal_api': 'openmp', 'num_threads': 3, 'prefix': 'libomp', ...}]
prefix     = 'libveclib'

tests/test_threadpoolctl.py:133: TypeError

Check failure on line 1 in test_set_threadpool_limits_by_api[1-None]

See this annotation in the file changed.

@azure-pipelines azure-pipelines / joblib.threadpoolctl

test_set_threadpool_limits_by_api[1-None]

TypeError: '<' not supported between instances of 'int' and 'str'
Raw output
user_api = None, limit = 1

    @pytest.mark.parametrize("user_api", (None, "blas", "openmp"))
    @pytest.mark.parametrize("limit", [1, 3])
    def test_set_threadpool_limits_by_api(user_api, limit):
        # Check that the maximum number of threads can be set by user_api
        controller = ThreadpoolController()
        original_info = controller.info()
    
        if user_api is None:
            controller_matching_api = controller
        else:
            controller_matching_api = controller.select(user_api=user_api)
        if not controller_matching_api:
            user_apis = _ALL_USER_APIS if user_api is None else [user_api]
            pytest.skip(f"Requires a library which api is in {user_apis}")
    
        with threadpool_limits(limits=limit, user_api=user_api):
            for lib_controller in controller_matching_api.lib_controllers:
                if is_old_openblas(lib_controller):
                    continue
                # threadpool_limits only sets an upper bound on the number of
                # threads.
>               assert 0 < lib_controller.num_threads <= limit
E               TypeError: '<' not supported between instances of 'int' and 'str'

controller = <threadpoolctl.ThreadpoolController object at 0x10de08a40>
controller_matching_api = <threadpoolctl.ThreadpoolController object at 0x10de08a40>
lib_controller = <threadpoolctl.AccelerateController object at 0x10de08b30>
limit      = 1
original_info = [{'filepath': '/usr/local/miniconda/envs/testvenv/lib/libvecLibFort-ng.dylib', 'internal_api': 'accelerate', 'num_thre.../local/miniconda/envs/testvenv/lib/libomp.dylib', 'internal_api': 'openmp', 'num_threads': 3, 'prefix': 'libomp', ...}]
user_api   = None

tests/test_threadpoolctl.py:158: TypeError

Check failure on line 1 in test_threadpool_limits_by_prefix[3-libveclib]

See this annotation in the file changed.

@azure-pipelines azure-pipelines / joblib.threadpoolctl

test_threadpool_limits_by_prefix[3-libveclib]

TypeError: '<' not supported between instances of 'int' and 'str'
Raw output
prefix = 'libveclib', limit = 3

    @pytest.mark.parametrize("prefix", _ALL_PREFIXES)
    @pytest.mark.parametrize("limit", [1, 3])
    def test_threadpool_limits_by_prefix(prefix, limit):
        # Check that the maximum number of threads can be set by prefix
        controller = ThreadpoolController()
        original_info = controller.info()
    
        controller_matching_prefix = controller.select(prefix=prefix)
        if not controller_matching_prefix:
            pytest.skip(f"Requires {prefix} runtime")
    
        with threadpool_limits(limits={prefix: limit}):
            for lib_controller in controller_matching_prefix.lib_controllers:
                if is_old_openblas(lib_controller):
                    continue
                # threadpool_limits only sets an upper bound on the number of
                # threads.
>               assert 0 < lib_controller.num_threads <= limit
E               TypeError: '<' not supported between instances of 'int' and 'str'

controller = <threadpoolctl.ThreadpoolController object at 0x10ddd8e60>
controller_matching_prefix = <threadpoolctl.ThreadpoolController object at 0x10da22090>
lib_controller = <threadpoolctl.AccelerateController object at 0x10ddd9760>
limit      = 3
original_info = [{'filepath': '/usr/local/miniconda/envs/testvenv/lib/libvecLibFort-ng.dylib', 'internal_api': 'accelerate', 'num_thre.../local/miniconda/envs/testvenv/lib/libomp.dylib', 'internal_api': 'openmp', 'num_threads': 3, 'prefix': 'libomp', ...}]
prefix     = 'libveclib'

tests/test_threadpoolctl.py:133: TypeError