<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/numpy.git/numpy/distutils/command/build_clib.py, branch v1.23.2</title>
<subtitle>github.com: numpy/numpy.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/'/>
<entry>
<title>Allow clib callable build flags</title>
<updated>2021-10-23T17:33:16+00:00</updated>
<author>
<name>Matthew Brett</name>
<email>matthew.brett@gmail.com</email>
</author>
<published>2021-10-23T15:14:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=07778e58fbb5bd0e5172a9c1a99c391144ed41de'/>
<id>07778e58fbb5bd0e5172a9c1a99c391144ed41de</id>
<content type='text'>
At the moment, we are guessing whether we have the MSVC compiler, by
looking at what Python was originally compiled for.  That works only if
we are using the same compiler, but this is not the case when we compile
with e.g. mingw-w64 using Python.org Python.

Unfortunately, at the time we are specifying build flags, we don't know
what compiler we are using.

Allow build flags to clib to be callables that return lists of strings,
instead of strings, where the callables can do work like inspecting the
compiler, at build time.

Use this to check for MSVC at build time, when specifying the
`/GL-` flag.

See gh-9977 for a related discussion about these flags.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
At the moment, we are guessing whether we have the MSVC compiler, by
looking at what Python was originally compiled for.  That works only if
we are using the same compiler, but this is not the case when we compile
with e.g. mingw-w64 using Python.org Python.

Unfortunately, at the time we are specifying build flags, we don't know
what compiler we are using.

Allow build flags to clib to be callables that return lists of strings,
instead of strings, where the callables can do work like inspecting the
compiler, at build time.

Use this to check for MSVC at build time, when specifying the
`/GL-` flag.

See gh-9977 for a related discussion about these flags.
</pre>
</div>
</content>
</entry>
<entry>
<title>[demo] how-to replacing numpy custom generation engine by raw C++</title>
<updated>2021-10-22T09:57:28+00:00</updated>
<author>
<name>serge-sans-paille</name>
<email>serge.guelton@telecom-bretagne.eu</email>
</author>
<published>2021-08-19T07:28:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=2ae7aeb3aa909b1a16bc58fd0e40dc4476dff35d'/>
<id>2ae7aeb3aa909b1a16bc58fd0e40dc4476dff35d</id>
<content type='text'>
This is just a technical prototype to measure and discuss the impact and
implication of moving to C++ for kernel code generation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is just a technical prototype to measure and discuss the impact and
implication of moving to C++ for kernel code generation.
</pre>
</div>
</content>
</entry>
<entry>
<title>BLD, BUG: Fix bdist_wheel duplicate building</title>
<updated>2021-05-05T10:25:42+00:00</updated>
<author>
<name>Sayed Adel</name>
<email>seiko@imavr.com</email>
</author>
<published>2021-05-05T10:11:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=d3e666c94230d4b45b9736103446f8b526ef426a'/>
<id>d3e666c94230d4b45b9736103446f8b526ef426a</id>
<content type='text'>
  The bug can occur only if the build option `build`
  was passed before the option `bdist_wheel`.

  You may still realize a duplicate printing for the compiler
  optimization report in the build log, which is normal due to
  multiple calling of command `build` by setuptools.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  The bug can occur only if the build option `build`
  was passed before the option `bdist_wheel`.

  You may still realize a duplicate printing for the compiler
  optimization report in the build log, which is normal due to
  multiple calling of command `build` by setuptools.
</pre>
</div>
</content>
</entry>
<entry>
<title>BLD, BUG: Fix compiler optimization log AttributeError</title>
<updated>2021-05-04T06:49:01+00:00</updated>
<author>
<name>Sayed Adel</name>
<email>seiko@imavr.com</email>
</author>
<published>2021-05-04T06:00:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=034aedc545c03417c0dae1b20c84098459c4b3a4'/>
<id>034aedc545c03417c0dae1b20c84098459c4b3a4</id>
<content type='text'>
  The error appears when option `build` is represented
  before `bdist_wheel`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  The error appears when option `build` is represented
  before `bdist_wheel`.
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH, SIMD: Add support for dispatching C++ sources</title>
<updated>2021-04-22T21:11:45+00:00</updated>
<author>
<name>Sayed Adel</name>
<email>seiko@imavr.com</email>
</author>
<published>2021-04-22T19:35:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=2d9e75f3a1dbe21de6b53cd2996e45054d3b86c5'/>
<id>2d9e75f3a1dbe21de6b53cd2996e45054d3b86c5</id>
<content type='text'>
    Same usage as the C dispatch-able sources except files extensions
    should be `.dispatcher.cpp` or `.dispatch.cxx` rather than `.dispatch.c`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
    Same usage as the C dispatch-able sources except files extensions
    should be `.dispatcher.cpp` or `.dispatch.cxx` rather than `.dispatch.c`
</pre>
</div>
</content>
</entry>
<entry>
<title>BUG, BLD: Generate the main dispatcher config header into the build dir</title>
<updated>2021-01-03T05:36:30+00:00</updated>
<author>
<name>Sayed Adel</name>
<email>seiko@imavr.com</email>
</author>
<published>2020-12-30T10:15:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=caec7f21ce3ca2672e93781a379734295c00debe'/>
<id>caec7f21ce3ca2672e93781a379734295c00debe</id>
<content type='text'>
  The new path becomes `build/src.*/numpy/distutils/include/npy_cpu_dispatch_config.h`
  instead of `numpy/core/src/common/_cpu_dispatch.h`.

  The new path allows other projects to re-use the CPU dispatcher
  once we decide to expose the following headers:
    - `numpy/core/src/common/npy_cpu_dispatch.h`
    - `numpy/core/src/common/npy_cpu_features.h`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  The new path becomes `build/src.*/numpy/distutils/include/npy_cpu_dispatch_config.h`
  instead of `numpy/core/src/common/_cpu_dispatch.h`.

  The new path allows other projects to re-use the CPU dispatcher
  once we decide to expose the following headers:
    - `numpy/core/src/common/npy_cpu_dispatch.h`
    - `numpy/core/src/common/npy_cpu_features.h`
</pre>
</div>
</content>
</entry>
<entry>
<title>MAINT: Explicit disabling `CCompilerOpt` in F2PY</title>
<updated>2020-10-13T07:55:56+00:00</updated>
<author>
<name>Sayed Adel</name>
<email>seiko@imavr.com</email>
</author>
<published>2020-09-16T12:36:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=2fce5499d2ee1e79dd24bf16a078b592e653e33d'/>
<id>2fce5499d2ee1e79dd24bf16a078b592e653e33d</id>
<content type='text'>
  This patch also cleans up `CCompilerOpt` calls in build_ext and build_clib.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  This patch also cleans up `CCompilerOpt` calls in build_ext and build_clib.
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: [3/7] enable multi-platform SIMD compiler optimizations</title>
<updated>2020-06-15T20:49:27+00:00</updated>
<author>
<name>Sayed Adel</name>
<email>seiko@imavr.com</email>
</author>
<published>2020-06-13T16:15:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=4c97add06371bf80f3bc02e0cfb0ee83737b909c'/>
<id>4c97add06371bf80f3bc02e0cfb0ee83737b909c</id>
<content type='text'>
  - Put `CCompilerOpt` in action through add two command line
    arguments that passed directly to `CCompilerOpt`'s
    parameters which explained as follows:

    * `--cpu-baseline` minimal set of required optimizations,
      default is 'min' which provides the minimum CPU features
      that can safely run on a wide range of users platforms.

    * `--cpu-dispatch` dispatched set of additional optimizations,
      default is 'max-xop-fma4' which enables all CPU features,
      except for AMD legacy features.

    the new arguments can be reached from `build`, `build_clib`,
    `build_ext`, if `build_clib` or `build_ext` are not specified
    by the user the arguments of `build` will be used, which also
    hold the default values.

  - Activate the new compiler dispatcher that comes with `CCompilerOpt`,
    through adding a hock inside `build_clib` and `build_ext`
    that works as a filter taking any C source files ends with
    `.dispatch.c` and pass it directly to `CCompilerOpt` and
    then take returned objects and linked to the final C lib.

  - Add a third command-line argument `--disable-optimization` which
    explicitly disable the whole new infrastructure, also
    It adds a new compiler definition called `NPY_DISABLE_OPTIMIZATION`.

    when `--disable-optimization` is enabled the dispatch-able sources
    that end with `.dispatch.c` will be treated as a normal
    C sources, also due to this disabling any C headers that
    generated by `CCompilerOpt` must guard it with `NPY_DISABLE_OPTIMIZATION`,
    otherwise, it will definitely break the build.

  - New auto-generated C header located at `core/include/numpy/_cpu_dispatch.h`,
    the new header contains all definitions and headers of CPU features that
    enabled according to specified configuration in `--cpu-baseline`
    and `--cpu-dispatch`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  - Put `CCompilerOpt` in action through add two command line
    arguments that passed directly to `CCompilerOpt`'s
    parameters which explained as follows:

    * `--cpu-baseline` minimal set of required optimizations,
      default is 'min' which provides the minimum CPU features
      that can safely run on a wide range of users platforms.

    * `--cpu-dispatch` dispatched set of additional optimizations,
      default is 'max-xop-fma4' which enables all CPU features,
      except for AMD legacy features.

    the new arguments can be reached from `build`, `build_clib`,
    `build_ext`, if `build_clib` or `build_ext` are not specified
    by the user the arguments of `build` will be used, which also
    hold the default values.

  - Activate the new compiler dispatcher that comes with `CCompilerOpt`,
    through adding a hock inside `build_clib` and `build_ext`
    that works as a filter taking any C source files ends with
    `.dispatch.c` and pass it directly to `CCompilerOpt` and
    then take returned objects and linked to the final C lib.

  - Add a third command-line argument `--disable-optimization` which
    explicitly disable the whole new infrastructure, also
    It adds a new compiler definition called `NPY_DISABLE_OPTIMIZATION`.

    when `--disable-optimization` is enabled the dispatch-able sources
    that end with `.dispatch.c` will be treated as a normal
    C sources, also due to this disabling any C headers that
    generated by `CCompilerOpt` must guard it with `NPY_DISABLE_OPTIMIZATION`,
    otherwise, it will definitely break the build.

  - New auto-generated C header located at `core/include/numpy/_cpu_dispatch.h`,
    the new header contains all definitions and headers of CPU features that
    enabled according to specified configuration in `--cpu-baseline`
    and `--cpu-dispatch`.
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: Fix exception causes in build_clib.py</title>
<updated>2020-04-21T15:49:51+00:00</updated>
<author>
<name>keremh</name>
<email>hallackerem@gmail.com</email>
</author>
<published>2020-04-21T15:49:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=69dff1a33babd996496213afbb8080823c8d5bdd'/>
<id>69dff1a33babd996496213afbb8080823c8d5bdd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MAINT: cleanup unused imports; avoid redefinition of imports</title>
<updated>2020-02-06T09:16:23+00:00</updated>
<author>
<name>Mike Taves</name>
<email>mwtoews@gmail.com</email>
</author>
<published>2020-02-04T19:21:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=07bf33fbf5be8143aab037dc65aba3086f8badf6'/>
<id>07bf33fbf5be8143aab037dc65aba3086f8badf6</id>
<content type='text'>
* Cleanup unused imports (F401) of mostly standard Python modules,
  or some internal but unlikely referenced modules
* Where internal imports are potentially used, mark with noqa
* Avoid redefinition of imports (F811)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Cleanup unused imports (F401) of mostly standard Python modules,
  or some internal but unlikely referenced modules
* Where internal imports are potentially used, mark with noqa
* Avoid redefinition of imports (F811)
</pre>
</div>
</content>
</entry>
</feed>
