gentoo/dev-python/numpy/metadata.xml
Michał Górny 30c6893d5c
dev-python/numpy: Explicitly control CPU extensions
Add CPU_FLAGS_* for amd64, arm, arm64, ppc64 and x86 to explicitly
control minimal CPU intrinsic use.  According to upstream, this should
grant some performance benefit compared to the default use of dynamic
dispatching based on CPU detection at runtime.

Since upstream is heavily chaining flags one upon another, we respect
upstream chains by stopping when a dependent flag is missing.
Presumably, this should be less confusing than implicitly enabling it,
and more user friendly than REQUIRED_USE.

Also add USE=cpudetection to make it possible to disable dynamic
dispatch for CPUs with more instruction sets.  This should especially
be useful when we are deliberately disabling some instruction sets
to test NumPy without them.

Signed-off-by: Michał Górny <mgorny@gentoo.org>
Part-of: https://github.com/gentoo/gentoo/pull/43190
Closes: https://github.com/gentoo/gentoo/pull/43190
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-08-13 14:26:41 +02:00

33 lines
1.2 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<longdescription lang="en">
NumPy is a general-purpose array-processing Python package designed to
efficiently manipulate large multi-dimensional arrays of arbitrary
records without sacrificing too much speed for small multi-dimensional
arrays. There are also basic facilities for discrete fourier transform,
basic linear algebra and random number generation.
It is the successor of Numeric and numarray.
</longdescription>
<upstream>
<remote-id type="github">numpy/numpy</remote-id>
<remote-id type="pypi">numpy</remote-id>
</upstream>
<use>
<flag name="cpudetection">
Enable dynamic dispatch to additional CPU extensions not covered
by enabled CPU_FLAGS_*. This permits NumPy to benefit from improved
performance when CPUs support more instruction sets, while preserving
compatibility with the baseline set by CPU_FLAGS_*.
</flag>
</use>
</pkgmetadata>