[WIP] FEA Support Veclib/Accelerate #166
Build #20240209.9 had test failures
Details
- Failed: 34 (2.50%)
- Passed: 806 (59.22%)
- Other: 521 (38.28%)
- Total: 1,361
Annotations
Check failure on line 1427 in Build log
azure-pipelines / joblib.threadpoolctl
Build log #L1427
Bash exited with code '1'.
Check failure on line 366 in Build log
azure-pipelines / joblib.threadpoolctl
Build log #L366
Bash exited with code '1'.
Check failure on line 302 in Build log
azure-pipelines / joblib.threadpoolctl
Build log #L302
Cmd.exe exited with code '1'.
Check failure on line 407 in Build log
azure-pipelines / joblib.threadpoolctl
Build log #L407
Bash exited with code '1'.
Check failure on line 1 in test_controller_info_actualized
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]
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]
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]
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