Skip to content
This repository was archived by the owner on Jan 25, 2023. It is now read-only.

Commit 5d964e4

Browse files
committed
Merge branch 'devel' of github.intel.com:SAT/NUMBA-PVC into devel
2 parents b3129ac + 5513465 commit 5d964e4

File tree

260 files changed

+17020
-2231
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

260 files changed

+17020
-2231
lines changed

.binstar.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ package: numba
1010

1111
#===============================================================================
1212
# Build Matrix Options
13-
# Thes options may be a single item, a list or empty
13+
# These options may be a single item, a list or empty
1414
# The resulting number of builds is [platform * engine * env]
1515
#===============================================================================
1616

@@ -37,7 +37,7 @@ engine:
3737

3838
#===============================================================================
3939
# Scrip options
40-
# Thes options may be broken out into the before_script, script and after_script
40+
# These options may be broken out into the before_script, script and after_script
4141
# or not, that is up to you
4242
#===============================================================================
4343

@@ -56,7 +56,7 @@ script:
5656
## BINSTAR_BUILD_RESULT=[succcess|failure]
5757
# after_script:
5858
# - echo "The build was a $BINSTAR_BUILD_RESULT" | tee artifact1.txt
59-
## This will be run only after a successfull build
59+
## This will be run only after a successful build
6060
# after_success:
6161
# - echo "after_success!"
6262
## This will be run only after a build failure
@@ -66,7 +66,7 @@ script:
6666
#===============================================================================
6767
# Build Results
6868
# Build results are split into two categories: artifacts and targets
69-
# You may omit either key and stiff have a successfull build
69+
# You may omit either key and stiff have a successful build
7070
# They may be a string, list and contain any bash glob
7171
#===============================================================================
7272

.flake8

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ignore =
77
E741, # Ambiguous variable names
88
W503, # line break before binary operator
99
W504, # line break after binary operator
10-
max-line-length = 120
10+
max-line-length = 80
1111

1212
exclude =
1313
__pycache__
@@ -243,14 +243,12 @@ exclude =
243243
numba/tests/test_slices.py
244244
numba/tests/test_mandelbrot.py
245245
numba/tests/compile_with_pycc.py
246-
numba/tests/test_ir.py
247246
numba/tests/test_deprecations.py
248247
numba/tests/test_looplifting.py
249248
numba/tests/test_storeslice.py
250249
numba/tests/recursion_usecases.py
251250
numba/tests/dummy_module.py
252251
numba/tests/test_operators.py
253-
numba/tests/test_exceptions.py
254252
numba/tests/test_comprehension.py
255253
numba/tests/ctypes_usecases.py
256254
numba/tests/test_locals.py
@@ -325,15 +323,13 @@ exclude =
325323
numba/tests/test_sets.py
326324
numba/tests/test_dyn_array.py
327325
numba/tests/test_objects.py
328-
numba/tests/test_types.py
329326
numba/tests/test_random.py
330327
numba/tests/test_nan.py
331328
numba/tests/pycc_distutils_usecase/source_module.py
332329
numba/tests/npyufunc/test_ufuncbuilding.py
333330
numba/tests/npyufunc/test_errors.py
334331
numba/tests/npyufunc/test_vectorize_decor.py
335332
numba/tests/npyufunc/test_parallel_ufunc_issues.py
336-
numba/tests/npyufunc/test_dufunc.py
337333
numba/tests/npyufunc/test_parallel_env_variable.py
338334
numba/tests/npyufunc/test_gufunc.py
339335
numba/typing/cmathdecl.py
@@ -394,8 +390,6 @@ exclude =
394390
numba/testing/main.py
395391
numba/unsafe/ndarray.py
396392
numba/npyufunc/deviceufunc.py
397-
numba/npyufunc/dufunc.py
398-
numba/npyufunc/ufuncbuilder.py
399393
numba/npyufunc/sigparse.py
400394
numba/npyufunc/parfor.py
401395
numba/npyufunc/array_exprs.py

.pre-commit-config.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
repos:
2+
- repo: https://gitlab.com/pycqa/flake8
3+
rev: 3.7.8
4+
hooks:
5+
- id: flake8

AUTHORS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Francesc Alted <francesc@anaconda.com>
1818
Frederic <nouiz@nouiz.org>
1919
Gaëtan de Menten <gdementen@gmail.com>
2020
GFKjunior <xacadena@gmail.com>
21-
Graham Markall <graham.markall@embecosm.com>
21+
Graham Markall <gmarkall@nvidia.com>
2222
Hernan Grecco <hernan.grecco@gmail.com>
2323
Ilan Schnell <ilanschnell@gmail.com>
2424
James Bergstra <james.bergstra@gmail.com>

CHANGE_LOG

Lines changed: 256 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,250 @@
1+
Version 0.48.0dev
2+
-----------------
3+
4+
In development
5+
6+
7+
Version 0.47.0 (Jan 2, 2020)
8+
-----------------------------
9+
10+
This release expands the capability of Numba in a number of important areas and
11+
is also significant as it is the last major point release with support for
12+
Python 2 and Python 3.5 included. The next release (0.48.0) will be for Python
13+
3.6+ only! (This follows NumPy's deprecation schedule as specified in
14+
`NEP 29 <https://numpy.org/neps/nep-0029-deprecation_policy.html>`_.)
15+
16+
Highlights of core feature changes include:
17+
18+
* Full support for Python 3.8 (Siu Kwan Lam)
19+
* Opt-in bounds checking (Aaron Meurer)
20+
* Support for ``map``, ``filter`` and ``reduce`` (Stuart Archibald)
21+
22+
Intel also kindly sponsored research and development that lead to some exciting
23+
new features:
24+
25+
* Initial support for basic ``try``/``except`` use (Siu Kwan Lam)
26+
* The ability to pass functions created from closures/lambdas as arguments
27+
(Stuart Archibald)
28+
* ``sorted`` and ``list.sort()`` now accept the ``key`` argument (Stuart
29+
Archibald and Siu Kwan Lam)
30+
* A new compiler pass triggered through the use of the function
31+
``numba.literal_unroll`` which permits iteration over heterogeneous tuples
32+
and constant lists of constants. (Stuart Archibald)
33+
34+
Enhancements from user contributed PRs (with thanks!):
35+
36+
* Ankit Mahato added a reference to a new talk on Numba at PyCon India 2019 in
37+
#4862
38+
* Brian Wignall kindly fixed some spelling mistakes and typos in #4909
39+
* Denis Smirnov wrote numerous methods to considerable enhance string support
40+
including:
41+
42+
* ``str.rindex()`` in #4861
43+
* ``str.isprintable()`` in #4836
44+
* ``str.index()`` in #4860
45+
* ``start/end`` parameters for ``str.find()`` in #4866
46+
* ``str.isspace()`` in #4835
47+
* ``str.isidentifier()`` #4837
48+
* ``str.rpartition()`` in #4841
49+
* ``str.lower()`` and ``str.islower()`` in #4651
50+
51+
* Elena Totmenina implemented both ``str.isalnum()``, ``str.isalpha()`` and
52+
``str.isascii`` in #4839, #4840 and #4847 respectively.
53+
* Eric Larson fixed a bug in literal comparison in #4710
54+
* Ethan Pronovost updated the ``np.arange`` implementation in #4770 to allow
55+
the use of the ``dtype`` key word argument and also added ``bool``
56+
implementations for several types in #4715.
57+
* Graham Markall fixed some issues with the CUDA target, namely:
58+
59+
* #4931: Added physical limits for CC 7.0 / 7.5 to CUDA autotune
60+
* #4934: Fixed bugs in TestCudaWarpOperations
61+
* #4938: Improved errors / warnings for the CUDA vectorize decorator
62+
63+
* Guilherme Leobas fixed a typo in the ``urem`` implementation in #4667
64+
* Isaac Virshup contributed a number of patches that fixed bugs, added support
65+
for more NumPy functions and enhanced Python feature support. These
66+
contributions included:
67+
68+
* #4729: Allow array construction with mixed type shape tuples
69+
* #4904: Implementing ``np.lcm``
70+
* #4780: Implement np.gcd and math.gcd
71+
* #4779: Make slice constructor more similar to python.
72+
* #4707: Added support for slice.indices
73+
* #4578: Clarify numba ufunc supported features
74+
75+
* James Bourbeau fixed some issues with tooling, #4794 add ``setuptools`` as a
76+
dependency and #4501 add pre-commit hooks for ``flake8`` compliance.
77+
* Leo Fang made ``numba.dummyarray.Array`` iterable in #4629
78+
* Marc Garcia fixed the ``numba.jit`` parameter name signature_or_function in
79+
#4703
80+
* Marcelo Duarte Trevisani patched the llvmlite requirement to ``>=0.30.0`` in
81+
#4725
82+
* Matt Cooper fixed a long standing CI problem in #4737 by remove maxParallel
83+
* Matti Picus fixed an issue with ``collections.abc`` in #4734
84+
from Azure Pipelines.
85+
* Rob Ennis patched a bug in ``np.interp`` ``float32`` handling in #4911
86+
* VDimir fixed a bug in array transposition layouts in #4777 and re-enabled and
87+
fixed some idle tests in #4776.
88+
* Vyacheslav Smirnov Enable support for `str.istitle()`` in #4645
89+
90+
General Enhancements:
91+
92+
* PR #4432: Bounds checking
93+
* PR #4501: Add pre-commit hooks
94+
* PR #4536: Handle kw args in inliner when callee is a function
95+
* PR #4599: Permits closures to become functions, enables map(), filter()
96+
* PR #4611: Implement method title() for unicode based on Cpython
97+
* PR #4645: Enable support for istitle() method for unicode string
98+
* PR #4651: Implement str.lower() and str.islower()
99+
* PR #4652: Implement str.rfind()
100+
* PR #4695: Refactor `overload*` and support `jit_options` and `inline`
101+
* PR #4707: Added support for slice.indices
102+
* PR #4715: Add `bool` overload for several types
103+
* PR #4729: Allow array construction with mixed type shape tuples
104+
* PR #4755: Python3.8 support
105+
* PR #4756: Add parfor support for ndarray.fill.
106+
* PR #4768: Update typeconv error message to ask for sys.executable.
107+
* PR #4770: Update `np.arange` implementation with `@overload`
108+
* PR #4779: Make slice constructor more similar to python.
109+
* PR #4780: Implement np.gcd and math.gcd
110+
* PR #4794: Add setuptools as a dependency
111+
* PR #4802: put git hash into build string
112+
* PR #4803: Better compiler error messages for improperly used reduction
113+
variables.
114+
* PR #4817: Typed list implement and expose allocation
115+
* PR #4818: Typed list faster copy
116+
* PR #4835: Implement str.isspace() based on CPython
117+
* PR #4836: Implement str.isprintable() based on CPython
118+
* PR #4837: Implement str.isidentifier() based on CPython
119+
* PR #4839: Implement str.isalnum() based on CPython
120+
* PR #4840: Implement str.isalpha() based on CPython
121+
* PR #4841: Implement str.rpartition() based on CPython
122+
* PR #4847: Implement str.isascii() based on CPython
123+
* PR #4851: Add graphviz output for FunctionIR
124+
* PR #4854: Python3.8 looplifting
125+
* PR #4858: Implement str.expandtabs() based on CPython
126+
* PR #4860: Implement str.index() based on CPython
127+
* PR #4861: Implement str.rindex() based on CPython
128+
* PR #4866: Support params start/end for str.find()
129+
* PR #4874: Bump to llvmlite 0.31
130+
* PR #4896: Specialise arange dtype on arch + python version.
131+
* PR #4902: basic support for try except
132+
* PR #4904: Implement np.lcm
133+
* PR #4910: loop canonicalisation and type aware tuple unroller/loop body
134+
versioning passes
135+
* PR #4961: Update hash(tuple) for Python 3.8.
136+
* PR #4977: Implement sort/sorted with key.
137+
* PR #4987: Add `is_internal` property to all Type classes.
138+
139+
Fixes:
140+
141+
* PR #4090: Update to LLVM8 memset/memcpy intrinsic
142+
* PR #4582: Convert sub to add and div to mul when doing the reduction across
143+
the per-thread reduction array.
144+
* PR #4648: Handle 0 correctly as slice parameter.
145+
* PR #4660: Remove multiply defined variables from all blocks' equivalence sets.
146+
* PR #4672: Fix pickling of dufunc
147+
* PR #4710: BUG: Comparison for literal
148+
* PR #4718: Change get_call_table to support intermediate Vars.
149+
* PR #4725: Requires llvmlite >=0.30.0
150+
* PR #4734: prefer to import from collections.abc
151+
* PR #4736: fix flake8 errors
152+
* PR #4776: Fix and enable idle tests from test_array_manipulation
153+
* PR #4777: Fix transpose output array layout
154+
* PR #4782: Fix issue with SVML (and knock-on function resolution effects).
155+
* PR #4785: Treat 0d arrays like scalars.
156+
* PR #4787: fix missing incref on flags
157+
* PR #4789: fix typos in numba/targets/base.py
158+
* PR #4791: fix typos
159+
* PR #4811: fix spelling in now-failing tests
160+
* PR #4852: windowing test should check equality only up to double precision
161+
errors
162+
* PR #4881: fix refining list by using extend on an iterator
163+
* PR #4882: Fix return type in arange and zero step size handling.
164+
* PR #4885: suppress spurious RuntimeWarning about ufunc sizes
165+
* PR #4891: skip the xfail test for now. Py3.8 CFG refactor seems to have
166+
changed the test case
167+
* PR #4892: regex needs to accept singular form of "argument"
168+
* PR #4901: fix typed list equals
169+
* PR #4909: Fix some spelling typos
170+
* PR #4911: np.interp bugfix for float32 handling
171+
* PR #4920: fix creating list with JIT disabled
172+
* PR #4921: fix creating dict with JIT disabled
173+
* PR #4935: Better handling of prange with multiple reductions on the same
174+
variable.
175+
* PR #4946: Improve the error message for `raise <string>`.
176+
* PR #4955: Move overload of literal_unroll to avoid circular dependency that
177+
breaks Python 2.7
178+
* PR #4962: Fix test error on windows
179+
* PR #4973: Fixes a bug in the relabelling logic in literal_unroll.
180+
* PR #4978: Fix overload_method problem with stararg
181+
* PR #4981: Add ind_to_const to enable fewer equivalence classes.
182+
* PR #4991: Continuation of #4588 (Let dead code removal handle removing more of
183+
the unneeded code after prange conversion to parfor)
184+
* PR #4994: Remove xfail for test which has since had underlying issue fixed.
185+
* PR #5018: Fix #5011.
186+
* PR #5019: skip pycc test on Python 3.8 + macOS because of distutils issue
187+
188+
CUDA Enhancements/Fixes:
189+
190+
* PR #4629: Make numba.dummyarray.Array iterable
191+
* PR #4675: Bump cuda array interface to version 2
192+
* PR #4741: Update choosing the "CUDA_PATH" for windows
193+
* PR #4838: Permit ravel('A') for contig device arrays in CUDA target
194+
* PR #4931: Add physical limits for CC 7.0 / 7.5 to autotune
195+
* PR #4934: Fix fails in TestCudaWarpOperations
196+
* PR #4938: Improve errors / warnings for cuda vectorize decorator
197+
198+
Documentation Updates:
199+
200+
* PR #4418: Directed graph task roadmap
201+
* PR #4578: Clarify numba ufunc supported features
202+
* PR #4655: fix sphinx build warning
203+
* PR #4667: Fix typo on urem implementation
204+
* PR #4669: Add link to ParallelAccelerator paper.
205+
* PR #4703: Fix numba.jit parameter name signature_or_function
206+
* PR #4862: Addition of PyCon India 2019 talk on Numba
207+
* PR #4947: Document jitclass with numba.typed use.
208+
* PR #4958: Add docs for `try..except`
209+
* PR #4993: Update deprecations for 0.47
210+
211+
CI Updates:
212+
213+
* PR #4737: remove maxParallel from Azure Pipelines
214+
* PR #4767: pin to 2.7.16 for py27 on osx
215+
* PR #4781: WIP/runtest cf pytest
216+
217+
Authors:
218+
219+
* Aaron Meurer
220+
* Ankit Mahato
221+
* Brian Wignall
222+
* Denis Smirnov
223+
* Ehsan Totoni (core dev)
224+
* Elena Totmenina
225+
* Eric Larson
226+
* Ethan Pronovost
227+
* Giovanni Cavallin
228+
* Graham Markall
229+
* Guilherme Leobas
230+
* Isaac Virshup
231+
* James Bourbeau
232+
* Leo Fang
233+
* Marc Garcia
234+
* Marcelo Duarte Trevisani
235+
* Matt Cooper
236+
* Matti Picus
237+
* Rob Ennis
238+
* Rujal Desai
239+
* Siu Kwan Lam (core dev)
240+
* Stan Seibert (core dev)
241+
* Stuart Archibald (core dev)
242+
* Todd A. Anderson (core dev)
243+
* VDimir
244+
* Valentin Haenel (core dev)
245+
* Vyacheslav Smirnov
246+
247+
1248
Version 0.46.0
2249
--------------
3250

@@ -9,6 +256,12 @@ Numba-using projects to automatically have their Numba JIT compilable functions
9256
discovered. There were also a number of other related compiler toolkit
10257
enhancement added along with some more NumPy features and a lot of bug fixes.
11258

259+
This release has updated the CUDA Array Interface specification to version 2,
260+
which clarifies the `strides` attribute for C-contiguous arrays and specifies
261+
the treatment for zero-size arrays. The implementation in Numba has been
262+
changed and may affect downstream packages relying on the old behavior
263+
(see issue #4661).
264+
12265
Enhancements from user contributed PRs (with thanks!):
13266

14267
* Aaron Meurer fixed some Python issues in the code base in #4345 and #4341.
@@ -69,7 +322,7 @@ Fixes:
69322
* PR #4305: Don't allow the allocation of mutable objects written into a
70323
container to be hoisted.
71324
* PR #4311: Avoid deprecated use of inspect.getargspec
72-
* PR #4328: Replace GC macro with function call
325+
* PR #4328: Replace GC macro with function call
73326
* PR #4330: Loosen up typed container casting checks
74327
* PR #4341: Fix some coding lines at the top of some files (utf8 -> utf-8)
75328
* PR #4345: Replace "import \*" with explicit imports in numba/types
@@ -110,6 +363,7 @@ CUDA Enhancements/Fixes:
110363
sharedmem
111364
* PR #4609: Update CUDA Array Interface & Enforce Numba compliance
112365
* PR #4619: Implement math.{degrees, radians} for the CUDA target.
366+
* PR #4675: Bump cuda array interface to version 2
113367

114368
Documentation Updates:
115369

@@ -2824,7 +3078,7 @@ make it cleaner and more rational:
28243078
* The numba.vectorize namespace is gone. The vectorize decorator will
28253079
be in the main numba namespace.
28263080
* Added a guvectorize decorator in the main numba namespace. It is
2827-
similiar to numba.vectorize, but takes a dimension signature. It
3081+
similar to numba.vectorize, but takes a dimension signature. It
28283082
generates gufuncs. This is a replacement for the GUVectorize gufunc
28293083
factory which has been deprecated.
28303084

0 commit comments

Comments
 (0)