[Numpy-svn] [numpy/numpy] abad5e: MAINT: move vectorized sqrt to own static function

GitHub noreply@github....
Sat Jun 8 16:57:16 CDT 2013


  Branch: refs/heads/master
  Home:   https://github.com/numpy/numpy
  Commit: abad5e3a753a2d0f5bbd7bdf4e8769cf9a4ef02d
      https://github.com/numpy/numpy/commit/abad5e3a753a2d0f5bbd7bdf4e8769cf9a4ef02d
  Author: Julian Taylor <jtaylor.debian@googlemail.com>
  Date:   2013-06-08 (Sat, 08 Jun 2013)

  Changed paths:
    M numpy/core/src/umath/loops.c.src

  Log Message:
  -----------
  MAINT: move vectorized sqrt to own static function


  Commit: 9d5884b0acf935401f0f8e64912b98abc73f62c3
      https://github.com/numpy/numpy/commit/9d5884b0acf935401f0f8e64912b98abc73f62c3
  Author: Julian Taylor <jtaylor.debian@googlemail.com>
  Date:   2013-06-08 (Sat, 08 Jun 2013)

  Changed paths:
    M numpy/core/src/umath/loops.c.src
    M numpy/core/tests/test_umath.py

  Log Message:
  -----------
  ENH: Vectorize float absolute operation with sse2

fabs on x86 can be implemented by masking out the sign bit.
Obtaining such a bit pattern is best done by a bitwise not on the
negative zero.
This is the same operation the compiler will convert fabs to on amd64.

Improves performance by ~1.7/3.5 for float/double for cached data
and ~1.4/1.1 for non-cached data.

If one simplifies the loops gcc could also autovectorize it but with all
hints its almost the same code length and slightly worse assembly.

The code can easily be extended to support AVX by changing vpre and
vtype to 256.


  Commit: 987dc32499e2bcfe160c61a5c5984e05552c7038
      https://github.com/numpy/numpy/commit/987dc32499e2bcfe160c61a5c5984e05552c7038
  Author: Julian Taylor <jtaylor.debian@googlemail.com>
  Date:   2013-06-08 (Sat, 08 Jun 2013)

  Changed paths:
    M numpy/testing/utils.py

  Log Message:
  -----------
  MAINT: fix shape mismatch issue in alignment data generator


  Commit: 564aa53e343e81de6864f43cb5f89932fdc1c718
      https://github.com/numpy/numpy/commit/564aa53e343e81de6864f43cb5f89932fdc1c718
  Author: Julian Taylor <jtaylor.debian@googlemail.com>
  Date:   2013-06-08 (Sat, 08 Jun 2013)

  Changed paths:
    M numpy/core/src/umath/loops.c.src

  Log Message:
  -----------
  MAINT: make the simd function signature more specific


  Commit: 0defe6d1813e93d6b8813b6c82d8151972c26778
      https://github.com/numpy/numpy/commit/0defe6d1813e93d6b8813b6c82d8151972c26778
  Author: Julian Taylor <jtaylor.debian@googlemail.com>
  Date:   2013-06-08 (Sat, 08 Jun 2013)

  Changed paths:
    M numpy/core/src/umath/loops.c.src

  Log Message:
  -----------
  MAINT: use @vpre@ for simd sqrt intrinsic prefix

allows simple extension to AVX


  Commit: fe4c882be4009d866f632c53fcfb7c8891c0e835
      https://github.com/numpy/numpy/commit/fe4c882be4009d866f632c53fcfb7c8891c0e835
  Author: Julian Taylor <jtaylor.debian@googlemail.com>
  Date:   2013-06-08 (Sat, 08 Jun 2013)

  Changed paths:
    M numpy/core/src/umath/loops.c.src

  Log Message:
  -----------
  MAINT: remove duplicate vtype template


  Commit: 63123538b7d4d948919dfb5366a78eaa972fcda9
      https://github.com/numpy/numpy/commit/63123538b7d4d948919dfb5366a78eaa972fcda9
  Author: Julian Taylor <jtaylor.debian@googlemail.com>
  Date:   2013-06-08 (Sat, 08 Jun 2013)

  Changed paths:
    M numpy/core/bscript
    M numpy/core/setup.py
    M numpy/core/src/umath/loops.c.src
    A numpy/core/src/umath/simd.inc.src

  Log Message:
  -----------
  MAINT: move simd functions to new file simd.inc.src

SIMD functions are called via a minimal dispatcher function.
Minizes extra code in loops.c.src and hopefully transparently allows to
simply enable more complex (runtime) dispatching rules.


  Commit: 7fb8b714906a92516905cc0f03e45511bd1ac1ed
      https://github.com/numpy/numpy/commit/7fb8b714906a92516905cc0f03e45511bd1ac1ed
  Author: Julian Taylor <jtaylor.debian@googlemail.com>
  Date:   2013-06-08 (Sat, 08 Jun 2013)

  Changed paths:
    M doc/release/1.8.0-notes.rst

  Log Message:
  -----------
  DOC: document isnan/bswap and SSE2 improvements


  Commit: 3e471304393244eb02215d1601d2396b3f94eb8d
      https://github.com/numpy/numpy/commit/3e471304393244eb02215d1601d2396b3f94eb8d
  Author: Charles Harris <charlesr.harris@gmail.com>
  Date:   2013-06-08 (Sat, 08 Jun 2013)

  Changed paths:
    M doc/release/1.8.0-notes.rst
    M numpy/core/bscript
    M numpy/core/setup.py
    M numpy/core/src/umath/loops.c.src
    A numpy/core/src/umath/simd.inc.src
    M numpy/core/tests/test_umath.py
    M numpy/testing/utils.py

  Log Message:
  -----------
  Merge pull request #3411 from juliantaylor/vectorize-fabs

ENH: Vectorize float absolute operation with sse2


Compare: https://github.com/numpy/numpy/compare/23a27572994e...3e4713043932


More information about the Numpy-svn mailing list