Hi Ganesh, 

If the aim is to merge these functions (show_config/runtime) eventually, why 
not merge them now and avoid introducing another function into the root 
namespace?

Stéfan

On Sat, Aug 6, 2022, at 20:55, Ganesh Kathiresan wrote:
> Hi Team,
> 
> We are planning on adding a new function called `np.show_runtime` to display 
> the runtime information of the machine in addition to `np.show_config` which 
> displays the build-related information.
> Relevant PR: ENH: Use threadpoolctl in show_runtime (a new function) #21468 
> <https://github.com/numpy/numpy/pull/21468>
> 
> Reasons for new function:
> 1. Will be helpful in root-causing issuing with information from the 
> acceleration frameworks.
> 2. Build time information alone is not always helpful [1]
> 
> Sample Output of new function
> >>> np.show_runtime()
> [{'simd_extensions': {'baseline': ['SSE', 'SSE2', 'SSE3'],
>                       'found': ['SSSE3',
>                                 'SSE41',
>                                 'POPCNT',
>                                 'SSE42',
>                                 'AVX',
>                                 'F16C',
>                                 'FMA3',
>                                 'AVX2'],
>                       'not_found': ['AVX512F',
>                                     'AVX512CD',
>                                     'AVX512_KNL',
>                                     'AVX512_KNM',
>                                     'AVX512_SKX',
>                                     'AVX512_CLX',
>                                     'AVX512_CNL',
>                                     'AVX512_ICL']}},
>  {'architecture': 'Zen',
>   'filepath': 
> '/usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so',
>   'internal_api': 'openblas',
>   'num_threads': 12,
>   'prefix': 'libopenblas',
>   'threading_layer': 'pthreads',
>   'user_api': 'blas',
>   'version': '0.3.20'}]
> Under the hood
> `np.show_runtime` will use `threadpoolctl` [2] to get the runtime information 
> of the frameworks. In addition to this, we will also display useful SIMD 
> extensions that are supported.
> 
> Future Scope
> 1. When we move towards meson, we can leverage the additional information and 
> revamp `np.show_config` to utilize it.
> 2. If needed, we can gradually merge `show_runtime` and `show_config` to 
> display information in sections and various other formats.
> 
> Please do let us know if you have any suggestions on improving this function 
> or concerns about the information provided by the new function.
> 
> Thanks,
> Ganesh
> 
> [1] show_config displays useless info when installed through conda-forge 
> channel <https://github.com/numpy/numpy/issues/14492> (#14492)
> [2] threadpoolctl <https://pypi.org/project/threadpoolctl/>
_______________________________________________
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com

Reply via email to