Thanks to visit codestin.com
Credit goes to github.com

Skip to content

BUG: Possible regression in CPU supported features for aarch64 #22257

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

Closed
stumpylog opened this issue Sep 13, 2022 · 6 comments
Closed

BUG: Possible regression in CPU supported features for aarch64 #22257

stumpylog opened this issue Sep 13, 2022 · 6 comments
Labels
00 - Bug 06 - Regression 57 - Close? Issues which may be closable unless discussion continued

Comments

@stumpylog
Copy link

stumpylog commented Sep 13, 2022

Describe the issue:

While investigating paperless-ngx/paperless-ngx/issues/1364, it was noticed between numpy==1.22.3 and numpy==1.23.1, the supported SIMD extensions reported by numpy.show_config() changed, with 1.23.1 not finding the ASIMDFHM feature.

The device is a ROCK64, with a Cortex A53, Armv8, which I believe should have all th features implied by ASIMDFHM (basing on the list here).

I thought #21749 would fix this, but the issue persists with 1.23.2

Reproduce the code example:

import numpy
numpy.show_config()

Error message:

1.22.3 Config

numpy.show_config()
openblas64__info:
libraries = ['openblas64_', 'openblas64_']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None), ('BLAS_SYMBOL_SUFFIX', '64_'), ('HAVE_BLAS_ILP64', None)]
runtime_library_dirs = ['/usr/local/lib']
blas_ilp64_opt_info:
libraries = ['openblas64_', 'openblas64_']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None), ('BLAS_SYMBOL_SUFFIX', '64_'), ('HAVE_BLAS_ILP64', None)]
runtime_library_dirs = ['/usr/local/lib']
openblas64__lapack_info:
libraries = ['openblas64_', 'openblas64_']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None), ('BLAS_SYMBOL_SUFFIX', '64_'), ('HAVE_BLAS_ILP64', None), ('HAVE_LAPACKE', None)]
runtime_library_dirs = ['/usr/local/lib']
lapack_ilp64_opt_info:
libraries = ['openblas64_', 'openblas64_']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None), ('BLAS_SYMBOL_SUFFIX', '64_'), ('HAVE_BLAS_ILP64', None), ('HAVE_LAPACKE', None)]
runtime_library_dirs = ['/usr/local/lib']
Supported SIMD extensions in this NumPy install:
baseline = NEON,NEON_FP16,NEON_VFPV4,ASIMD
found =
not found = ASIMDHP,ASIMDDP

1.23.1 Config

numpy.show_config()
openblas64__info:
libraries = ['openblas64_', 'openblas64_']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None), ('BLAS_SYMBOL_SUFFIX', '64_'), ('HAVE_BLAS_ILP64', None)]
runtime_library_dirs = ['/usr/local/lib']
blas_ilp64_opt_info:
libraries = ['openblas64_', 'openblas64_']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None), ('BLAS_SYMBOL_SUFFIX', '64_'), ('HAVE_BLAS_ILP64', None)]
runtime_library_dirs = ['/usr/local/lib']
openblas64__lapack_info:
libraries = ['openblas64_', 'openblas64_']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None), ('BLAS_SYMBOL_SUFFIX', '64_'), ('HAVE_BLAS_ILP64', None), ('HAVE_LAPACKE', None)]
runtime_library_dirs = ['/usr/local/lib']
lapack_ilp64_opt_info:
libraries = ['openblas64_', 'openblas64_']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None), ('BLAS_SYMBOL_SUFFIX', '64_'), ('HAVE_BLAS_ILP64', None), ('HAVE_LAPACKE', None)]
runtime_library_dirs = ['/usr/local/lib']
Supported SIMD extensions in this NumPy install:
baseline = NEON,NEON_FP16,NEON_VFPV4,ASIMD
found =
not found = ASIMDHP,ASIMDDP,ASIMDFHM

NumPy/Python version information:

numpy==1.23.1 / numpy==1.23.2

Context for the issue:

The training of some classifiers goes from a few minutes, to never completing.

@stumpylog stumpylog changed the title BUG: Regression in CPU supported features for aarch64 BUG: Possible regression in CPU supported features for aarch64 Sep 13, 2022
@charris charris added 06 - Regression 09 - Backport-Candidate PRs tagged should be backported labels Sep 13, 2022
@charris charris added this to the 1.23.3 release milestone Sep 13, 2022
@charris
Copy link
Member

charris commented Sep 13, 2022

@seiko2plus Thoughts?

@mattip
Copy link
Member

mattip commented Sep 14, 2022

@seiko2plus thoughts?

@seiko2plus
Copy link
Member

seiko2plus commented Sep 15, 2022

Compile time detection of ASIMDFHM was fixed since numpy==1.23.0rc1 via #20388, however, we still didn't support it yet within any of the current SIMD kernels, so been detect it or not wouldn't affect the performance. Could please provide a minified code to reproduce the performance regression so I can investigate it?

edit: fix pr url

@stumpylog
Copy link
Author

The data that's being used is a personal user's documents and their contents, and I don't have access to anything running aarch64 at the moment.

I'll see what I can wrangle up anyway, but it's probably going to take some time to make a minified code sample using something.

@seiko2plus
Copy link
Member

I'm not familiar with paperless-ngx, would please provide me the steps to reproduce the error on gnu/linux.

@BvB93 BvB93 modified the milestones: 1.23.3 release, 1.23.4 release Sep 30, 2022
@stumpylog
Copy link
Author

My apologies, it has taken me a while to free up my Pi 3 from other things to be able to test this and boil it all down. At least with the public dataset for multi-label classification I found and a Pi, I haven't been able to reproduce any sort of slowdown.

Either this requires a certain amount of data or data types which I can't easily produce, or it's something specific to the ROCKPI. Unless @pedrom34 is able to provide more information, this can probably be closed.

@mattip mattip added the 57 - Close? Issues which may be closable unless discussion continued label Oct 10, 2022
@charris charris closed this as completed Oct 11, 2022
@charris charris removed this from the 1.23.4 release milestone Jan 9, 2023
@charris charris removed the 09 - Backport-Candidate PRs tagged should be backported label Jan 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
00 - Bug 06 - Regression 57 - Close? Issues which may be closable unless discussion continued
Projects
None yet
Development

No branches or pull requests

5 participants