<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/numpy.git/numpy/core/setup_common.py, branch v1.17.0rc2</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>MAINT: Use a with statement instead of try / finally</title>
<updated>2019-06-05T06:05:08+00:00</updated>
<author>
<name>Eric Wieser</name>
<email>wieser.eric@gmail.com</email>
</author>
<published>2019-06-05T06:05:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=8826e0ffc2c5286572dff1d490bcda88a6f7cd64'/>
<id>8826e0ffc2c5286572dff1d490bcda88a6f7cd64</id>
<content type='text'>
All of this code was already correct, this just tidies it a little
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All of this code was already correct, this just tidies it a little
</pre>
</div>
</content>
</entry>
<entry>
<title>MAINT: fixed typo 'Mismacth' from numpy.core.setup_common.py</title>
<updated>2019-04-29T14:31:01+00:00</updated>
<author>
<name>Min ho Kim</name>
<email>minho42@gmail.com</email>
</author>
<published>2019-04-29T14:29:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=0f9fc43053b36dfa069a714cfe62df2f18579942'/>
<id>0f9fc43053b36dfa069a714cfe62df2f18579942</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>BUG: Adding macro HAVE_ATTRIBUTE_TARGET_@ISA@_WITH_INTRINSICS</title>
<updated>2019-04-19T17:47:15+00:00</updated>
<author>
<name>Raghuveer Devulapalli</name>
<email>raghuveer.devulapalli@intel.com</email>
</author>
<published>2019-03-28T22:07:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=651e03c0019d4c4c6ca8c43cb7d7c0d344a72cc1'/>
<id>651e03c0019d4c4c6ca8c43cb7d7c0d344a72cc1</id>
<content type='text'>
1) use __builtin_cpu_supports("avx512f") only for gcc ver &gt;= 5

2) Introduced two new macro's:
HAVE_ATTRIBUTE_TARGET_@ISA@_WITH_INTRINSICS for ensuring compiler can
compile functions that use intrinsics and are compiled with avx2/avx512f
attributes
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1) use __builtin_cpu_supports("avx512f") only for gcc ver &gt;= 5

2) Introduced two new macro's:
HAVE_ATTRIBUTE_TARGET_@ISA@_WITH_INTRINSICS for ensuring compiler can
compile functions that use intrinsics and are compiled with avx2/avx512f
attributes
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: vectorizing float32 implementation of np.exp &amp; np.log</title>
<updated>2019-04-19T17:47:15+00:00</updated>
<author>
<name>Raghuveer Devulapalli</name>
<email>raghuveer.devulapalli@intel.com</email>
</author>
<published>2019-03-05T17:13:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=9754a207828f377654c79873e38d475bb87d98de'/>
<id>9754a207828f377654c79873e38d475bb87d98de</id>
<content type='text'>
This commit implements vectorized single precision exponential and
natural log using AVX2 and AVX512.

Accuracy:

| Function | Max ULP Error | Max Relative Error |
|----------|---------------|--------------------|
| np.exp   | 2.52          | 2.1E-07            |
| np.log   | 3.83          | 2.4E-07            |

Performance:

(1) Micro-benchmarks: measured execution time of np.exp and np.log using
timeit package in python. Each function is executed 1000 times and this
is repeated 100 times. The standard deviation for all the runs was less
than 2% of their mean value and hence not included in the data. The
vectorized implementation was upto 7.6x faster than the scalar version.

| Function | NumPy1.16 | AVX2   | AVX512 | AVX2 speedup | AVX512 speedup |
| -------- | --------- | ------ | ------ | ------------ | -------------- |
| np.exp   | 0.395s    | 0.112s | 0.055s | 3.56x        | 7.25x          |
| np.log   | 0.456s    | 0.147s | 0.059s | 3.10x        | 7.64x          |

(2) Logistic regression: exp and log are heavily used in training neural
networks (as part of sigmoid activation function and loss function
respectively). This patch significantly speeds up training a logistic
regression model. As an example, we measured how much time it takes to
train a model with 15 features using 1000 training data points. We
observed a 2x speed up to train the model to achieve a loss function
error &lt; 10E-04.

| Function       | NumPy1.16  | AVX2   | AVX512 | AVX2 speedup | AVX512 speedup |
| -------------- | ---------- | ------ | ------ | ------------ | -------------- |
| logistic.train | 121.0s     | 75.02s | 60.60s | 1.61x        | 2.02x          |
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit implements vectorized single precision exponential and
natural log using AVX2 and AVX512.

Accuracy:

| Function | Max ULP Error | Max Relative Error |
|----------|---------------|--------------------|
| np.exp   | 2.52          | 2.1E-07            |
| np.log   | 3.83          | 2.4E-07            |

Performance:

(1) Micro-benchmarks: measured execution time of np.exp and np.log using
timeit package in python. Each function is executed 1000 times and this
is repeated 100 times. The standard deviation for all the runs was less
than 2% of their mean value and hence not included in the data. The
vectorized implementation was upto 7.6x faster than the scalar version.

| Function | NumPy1.16 | AVX2   | AVX512 | AVX2 speedup | AVX512 speedup |
| -------- | --------- | ------ | ------ | ------------ | -------------- |
| np.exp   | 0.395s    | 0.112s | 0.055s | 3.56x        | 7.25x          |
| np.log   | 0.456s    | 0.147s | 0.059s | 3.10x        | 7.64x          |

(2) Logistic regression: exp and log are heavily used in training neural
networks (as part of sigmoid activation function and loss function
respectively). This patch significantly speeds up training a logistic
regression model. As an example, we measured how much time it takes to
train a model with 15 features using 1000 training data points. We
observed a 2x speed up to train the model to achieve a loss function
error &lt; 10E-04.

| Function       | NumPy1.16  | AVX2   | AVX512 | AVX2 speedup | AVX512 speedup |
| -------------- | ---------- | ------ | ------ | ------------ | -------------- |
| logistic.train | 121.0s     | 75.02s | 60.60s | 1.61x        | 2.02x          |
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #11175 from mhvk/gufunc-signature-modification2</title>
<updated>2018-10-19T08:30:07+00:00</updated>
<author>
<name>Matti Picus</name>
<email>matti.picus@gmail.com</email>
</author>
<published>2018-10-19T08:30:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=a2fb23aa0844731438e6b9c9d09644e48aa4900b'/>
<id>a2fb23aa0844731438e6b9c9d09644e48aa4900b</id>
<content type='text'>
 ENH: Generalized ufunc signature expansion for frozen and flexible dimensions</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 ENH: Generalized ufunc signature expansion for frozen and flexible dimensions</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: increment and use NPY_API_VERSION in PyUFuncObject-&gt;version</title>
<updated>2018-10-07T15:48:54+00:00</updated>
<author>
<name>mattip</name>
<email>matti.picus@gmail.com</email>
</author>
<published>2018-10-07T15:48:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=1462362754f2053561d08eba5bc12960056104af'/>
<id>1462362754f2053561d08eba5bc12960056104af</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: mark that large allocations can use huge pages</title>
<updated>2018-09-20T16:42:50+00:00</updated>
<author>
<name>Julian Taylor</name>
<email>juliantaylor108@gmail.com</email>
</author>
<published>2018-09-14T18:49:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=7180479b7ce3e3b6455da66d0679274671a46bdc'/>
<id>7180479b7ce3e3b6455da66d0679274671a46bdc</id>
<content type='text'>
On distributions with /sys/kernel/mm/transparent_hugepage/enabled set to
madvise we do not automatically get our memory backed by huge pages.
Explicitly madvise these regions so they can use larger pages.

This improves performance of the common large array allocation/free
cycle in numpy as page fault overhead is reduced.

    asv continuous -E virtualenv:3.6 --bench bench_io.Copy HEAD^ HEAD

      2.64±0.3ms      1.99±0.06ms     0.75  bench_io.Copy.time_memcpy_large_out_of_place('float32')
      5.51±0.2ms       3.74±0.3ms     0.68  bench_io.Copy.time_memcpy_large_out_of_place('float64')
     4.76±0.02μs      3.02±0.04μs     0.63  bench_io.Copy.time_cont_assign('float32')
      5.55±0.1ms       3.31±0.1ms     0.60  bench_io.Copy.time_memcpy_large_out_of_place('complex64')
      11.3±0.2ms       6.26±0.2ms     0.56  bench_io.Copy.time_memcpy_large_out_of_place('complex128')

Closes gh-11919
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On distributions with /sys/kernel/mm/transparent_hugepage/enabled set to
madvise we do not automatically get our memory backed by huge pages.
Explicitly madvise these regions so they can use larger pages.

This improves performance of the common large array allocation/free
cycle in numpy as page fault overhead is reduced.

    asv continuous -E virtualenv:3.6 --bench bench_io.Copy HEAD^ HEAD

      2.64±0.3ms      1.99±0.06ms     0.75  bench_io.Copy.time_memcpy_large_out_of_place('float32')
      5.51±0.2ms       3.74±0.3ms     0.68  bench_io.Copy.time_memcpy_large_out_of_place('float64')
     4.76±0.02μs      3.02±0.04μs     0.63  bench_io.Copy.time_cont_assign('float32')
      5.55±0.1ms       3.31±0.1ms     0.60  bench_io.Copy.time_memcpy_large_out_of_place('complex64')
      11.3±0.2ms       6.26±0.2ms     0.56  bench_io.Copy.time_memcpy_large_out_of_place('complex128')

Closes gh-11919
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: Remove NpyIter_Close</title>
<updated>2018-06-18T21:26:27+00:00</updated>
<author>
<name>mattip</name>
<email>matti.picus@gmail.com</email>
</author>
<published>2018-06-18T20:02:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=82bc85de39dfae3c04de250c3ca409ad41863ea6'/>
<id>82bc85de39dfae3c04de250c3ca409ad41863ea6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>BUG: Implement float128 dragon4 for IBM double-double (ppc64)</title>
<updated>2018-06-06T19:15:23+00:00</updated>
<author>
<name>Allan Haldane</name>
<email>allan.haldane@gmail.com</email>
</author>
<published>2018-05-17T20:40:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=cdc6b68476fde6d7e5717b22972cb8147988ce71'/>
<id>cdc6b68476fde6d7e5717b22972cb8147988ce71</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MAINT: Add comments to long_double detection code</title>
<updated>2018-05-29T06:43:11+00:00</updated>
<author>
<name>Allan Haldane</name>
<email>allan.haldane@gmail.com</email>
</author>
<published>2018-05-29T06:43:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=888d37086558d982a8afd92cd13778aca264e406'/>
<id>888d37086558d982a8afd92cd13778aca264e406</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
