Skip to content

Commit

Permalink
Merge pull request #5197 from stuartarchibald/refactor/numba_3
Browse files Browse the repository at this point in the history
Refactor Numba, part I
  • Loading branch information
sklam committed Feb 6, 2020
2 parents cacb5c4 + 526c609 commit 13ece9b
Show file tree
Hide file tree
Showing 567 changed files with 3,085 additions and 2,987 deletions.
211 changes: 102 additions & 109 deletions .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -21,90 +21,83 @@ exclude =
*.h
__init__.py
# Grandfather in existing failing files. This list should shrink over time
numba/dispatcher.py
numba/serialize.py
numba/funcdesc.py
numba/postproc.py
numba/stencil.py
numba/smartarray.py
numba/transforms.py
numba/tracing.py
numba/ctypes_support.py
numba/withcontexts.py
numba/core/dispatcher.py
numba/core/serialize.py
numba/core/funcdesc.py
numba/core/postproc.py
numba/stencils/stencil.py
numba/core/transforms.py
numba/core/tracing.py
numba/core/withcontexts.py
numba/_version.py
numba/inline_closurecall.py
numba/ir_utils.py
numba/pylowering.py
numba/core/inline_closurecall.py
numba/core/ir_utils.py
numba/core/pylowering.py
numba/python_utils.py
numba/io_support.py
numba/parfor.py
numba/numba_entry.py
numba/stencilparfor.py
numba/ir.py
numba/itanium_mangler.py
numba/unittest_support.py
numba/array_analysis.py
numba/generators.py
numba/appdirs.py
numba/parfors/parfor.py
numba/misc/numba_entry.py
numba/stencils/stencilparfor.py
numba/core/ir.py
numba/core/itanium_mangler.py
numba/parfors/array_analysis.py
numba/core/generators.py
numba/misc/appdirs.py
numba/cffi_support.py
numba/interpreter.py
numba/caching.py
numba/debuginfo.py
numba/pretty_annotate.py
numba/six.py
numba/dummyarray.py
numba/dataflow.py
numba/macro.py
numba/core/interpreter.py
numba/core/caching.py
numba/core/debuginfo.py
numba/core/annotations/pretty_annotate.py
numba/misc/dummyarray.py
numba/core/dataflow.py
numba/runtests.py
numba/pythonapi.py
numba/core/pythonapi.py
numba/extending.py
numba/decorators.py
numba/typeconv/typeconv.py
numba/typeconv/rules.py
numba/typeconv/castgraph.py
numba/rewrites/registry.py
numba/rewrites/macros.py
numba/rewrites/static_binop.py
numba/rewrites/ir_print.py
numba/types/abstract.py
numba/types/functions.py
numba/types/misc.py
numba/types/containers.py
numba/types/npytypes.py
numba/types/common.py
numba/types/iterators.py
numba/types/scalars.py
numba/targets/fastmathpass.py
numba/targets/setobj.py
numba/targets/options.py
numba/targets/printimpl.py
numba/targets/smartarray.py
numba/targets/cmathimpl.py
numba/targets/tupleobj.py
numba/targets/mathimpl.py
numba/targets/registry.py
numba/targets/imputils.py
numba/targets/builtins.py
numba/targets/cpu.py
numba/targets/quicksort.py
numba/targets/callconv.py
numba/targets/randomimpl.py
numba/targets/npyimpl.py
numba/targets/slicing.py
numba/targets/numbers.py
numba/targets/listobj.py
numba/targets/removerefctpass.py
numba/targets/boxing.py
numba/targets/cffiimpl.py
numba/targets/linalg.py
numba/targets/rangeobj.py
numba/targets/npyfuncs.py
numba/targets/iterators.py
numba/targets/codegen.py
numba/targets/polynomial.py
numba/targets/mergesort.py
numba/targets/base.py
numba/targets/npdatetime.py
numba/core/decorators.py
numba/core/typeconv/typeconv.py
numba/core/typeconv/rules.py
numba/core/typeconv/castgraph.py
numba/core/rewrites/registry.py
numba/core/rewrites/macros.py
numba/core/rewrites/static_binop.py
numba/core/rewrites/ir_print.py
numba/core/types/abstract.py
numba/core/types/functions.py
numba/core/types/misc.py
numba/core/types/containers.py
numba/core/types/npytypes.py
numba/core/types/common.py
numba/core/types/iterators.py
numba/core/types/scalars.py
numba/core/fastmathpass.py
numba/cpython/setobj.py
numba/core/options.py
numba/cpython/printimpl.py
numba/cpython/cmathimpl.py
numba/cpython/tupleobj.py
numba/cpython/mathimpl.py
numba/core/registry.py
numba/core/imputils.py
numba/cpython/builtins.py
numba/core/cpu.py
numba/misc/quicksort.py
numba/core/callconv.py
numba/cpython/randomimpl.py
numba/np/npyimpl.py
numba/cpython/slicing.py
numba/cpython/numbers.py
numba/cpython/listobj.py
numba/core/removerefctpass.py
numba/core/boxing.py
numba/misc/cffiimpl.py
numba/np/linalg.py
numba/cpython/rangeobj.py
numba/np/npyfuncs.py
numba/cpython/iterators.py
numba/core/codegen.py
numba/np/polynomial.py
numba/misc/mergesort.py
numba/core/base.py
numba/np/npdatetime.py
numba/cuda/dispatcher.py
numba/cuda/printimpl.py
numba/cuda/libdevice.py
Expand Down Expand Up @@ -198,8 +191,8 @@ exclude =
numba/pycc/llvm_types.py
numba/pycc/platform.py
numba/pycc/decorators.py
numba/runtime/nrtdynmod.py
numba/runtime/context.py
numba/core/runtime/nrtdynmod.py
numba/core/runtime/context.py
numba/tests/test_support.py
numba/tests/test_llvm_version_check.py
numba/tests/test_builtins.py
Expand Down Expand Up @@ -313,7 +306,7 @@ exclude =
numba/tests/pdlike_usecase.py
numba/tests/test_range.py
numba/tests/test_nrt_refct.py
numba/tests/timsort.py
numba/misc/timsort.py
numba/tests/test_nested_calls.py
numba/tests/test_chained_assign.py
numba/tests/test_withlifting.py
Expand All @@ -332,22 +325,22 @@ exclude =
numba/tests/npyufunc/test_parallel_ufunc_issues.py
numba/tests/npyufunc/test_parallel_env_variable.py
numba/tests/npyufunc/test_gufunc.py
numba/typing/cmathdecl.py
numba/typing/bufproto.py
numba/typing/mathdecl.py
numba/typing/listdecl.py
numba/typing/builtins.py
numba/typing/randomdecl.py
numba/typing/setdecl.py
numba/typing/npydecl.py
numba/typing/arraydecl.py
numba/typing/collections.py
numba/typing/ctypes_utils.py
numba/typing/enumdecl.py
numba/typing/cffi_utils.py
numba/typing/typeof.py
numba/typing/npdatetime.py
numba/annotations/type_annotations.py
numba/core/typing/cmathdecl.py
numba/core/typing/bufproto.py
numba/core/typing/mathdecl.py
numba/core/typing/listdecl.py
numba/core/typing/builtins.py
numba/core/typing/randomdecl.py
numba/core/typing/setdecl.py
numba/core/typing/npydecl.py
numba/core/typing/arraydecl.py
numba/core/typing/collections.py
numba/core/typing/ctypes_utils.py
numba/core/typing/enumdecl.py
numba/core/typing/cffi_utils.py
numba/core/typing/typeof.py
numba/core/typing/npdatetime.py
numba/core/annotations/type_annotations.py
numba/roc/mathdecl.py
numba/roc/compiler.py
numba/roc/hsadecl.py
Expand Down Expand Up @@ -388,14 +381,14 @@ exclude =
numba/testing/loader.py
numba/testing/notebook.py
numba/testing/main.py
numba/unsafe/ndarray.py
numba/npyufunc/deviceufunc.py
numba/npyufunc/sigparse.py
numba/npyufunc/parfor.py
numba/npyufunc/array_exprs.py
numba/npyufunc/decorators.py
numba/servicelib/service.py
numba/datamodel/models.py
numba/datamodel/packer.py
numba/datamodel/testing.py
numba/datamodel/manager.py
numba/np/unsafe/ndarray.py
numba/np/ufunc/deviceufunc.py
numba/np/ufunc/sigparse.py
numba/parfors/parfor_lowering.py
numba/np/ufunc/array_exprs.py
numba/np/ufunc/decorators.py
numba/roc/servicelib/service.py
numba/core/datamodel/models.py
numba/core/datamodel/packer.py
numba/core/datamodel/testing.py
numba/core/datamodel/manager.py
2 changes: 1 addition & 1 deletion bin/numba
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# -*- coding: UTF-8 -*-
from __future__ import print_function, division, absolute_import

from numba.numba_entry import main
from numba.misc.numba_entry import main

if __name__ == "__main__":
main()
2 changes: 1 addition & 1 deletion buildscripts/condarecipe.local/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ build:
string: np{{ NPY_VER }}py{{ PY_VER }}h{{ PKG_HASH }}_{{GIT_DESCRIBE_HASH}}_{{ GIT_DESCRIBE_NUMBER }}
entry_points:
- pycc = numba.pycc:main
- numba = numba.numba_entry:main
- numba = numba.misc.numba_entry:main
script_env:
- PY_VCRUNTIME_REDIST
missing_dso_whitelist: # [osx]
Expand Down
2 changes: 1 addition & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@

def _autogenerate():
from numba.scripts.generate_lower_listing import gen_lower_listing
from numba.help.inspector import write_listings
from numba.misc.help.inspector import write_listings

basedir = os.path.dirname(__file__)
gen_lower_listing(os.path.join(basedir,
Expand Down
8 changes: 4 additions & 4 deletions docs/source/developer/compiler_pass_example.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ def ex_compiler_pass():

# magictoken.ex_compiler_pass.begin
from numba import njit
from numba import ir
from numba.compiler import CompilerBase, DefaultPassBuilder
from numba.compiler_machinery import FunctionPass, register_pass
from numba.untyped_passes import IRProcessing
from numba.core import ir
from numba.core.compiler import CompilerBase, DefaultPassBuilder
from numba.core.compiler_machinery import FunctionPass, register_pass
from numba.core.untyped_passes import IRProcessing
from numbers import Number

# Register this pass with the compiler framework, declare that it will not
Expand Down
3 changes: 2 additions & 1 deletion docs/source/developer/inline_example.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from numba import njit, ir
from numba import njit
import numba
from numba.core import ir


@njit(inline='never')
Expand Down
12 changes: 6 additions & 6 deletions docs/source/developer/numba-runtime.rst
Original file line number Diff line number Diff line change
Expand Up @@ -123,23 +123,23 @@ Using the NRT from C code

Externally compiled C code should use the ``NRT_api_functions`` struct as a
function table to access the NRT API. The struct is defined in
:ghfile:`numba/runtime/nrt_external.h`. Users can use the utility function
:ghfile:`numba/core/runtime/nrt_external.h`. Users can use the utility function
``numba.extending.include_path()`` to determine the include directory for
Numba provided C headers.

.. literalinclude:: ../../../numba/runtime/nrt_external.h
.. literalinclude:: ../../../numba/core/runtime/nrt_external.h
:language: C
:caption: `numba/runtime/nrt_external.h`
:caption: `numba/core/runtime/nrt_external.h`

Inside Numba compiled code, the ``numba.unsafe.nrt.NRT_get_api()`` intrinsic
can be used to obtain a pointer to the ``NRT_api_functions``.
Inside Numba compiled code, the ``numba.core.unsafe.nrt.NRT_get_api()``
intrinsic can be used to obtain a pointer to the ``NRT_api_functions``.

Here is an example that uses the ``nrt_external.h``:

.. code-block:: C
#include <stdio.h>
#include "numba/runtime/nrt_external.h"
#include "numba/core/runtime/nrt_external.h"
void my_dtor(void *ptr) {
free(ptr);
Expand Down

0 comments on commit 13ece9b

Please sign in to comment.