Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 2 additions & 33 deletions numba_cuda/numba/cuda/compiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,9 @@
IRLegalization,
NopythonTypeInference,
NopythonRewrites,
PreParforPass,
ParforPass,
DumpParforDiagnostics,
InlineOverloads,
PreLowerStripPhis,
NativeParforLowering,
NoPythonSupportedFeatureValidation,
ParforFusionPass,
ParforPreLoweringPass,
)


Expand Down Expand Up @@ -163,12 +157,8 @@ def define_nopython_lowering_pipeline(state, name="nopython_lowering"):
# Annotate only once legalized
pm.add_pass(AnnotateTypes, "annotate types")
# lower
if state.flags.auto_parallel.enabled:
pm.add_pass(NativeParforLowering, "native parfor lowering")
else:
pm.add_pass(NativeLowering, "native lowering")
pm.add_pass(NativeLowering, "native lowering")
pm.add_pass(CUDABackend, "nopython mode backend")
pm.add_pass(DumpParforDiagnostics, "dump parfor diagnostics")
pm.finalize()
return pm

Expand All @@ -186,10 +176,7 @@ def define_parfor_gufunc_nopython_lowering_pipeline(
# Annotate only once legalized
pm.add_pass(AnnotateTypes, "annotate types")
# lower
if state.flags.auto_parallel.enabled:
pm.add_pass(NativeParforLowering, "native parfor lowering")
else:
pm.add_pass(NativeLowering, "native lowering")
pm.add_pass(NativeLowering, "native lowering")
pm.add_pass(CUDABackend, "nopython mode backend")
pm.finalize()
return pm
Expand All @@ -206,26 +193,8 @@ def define_typed_pipeline(state, name="typed"):

# optimisation
pm.add_pass(InlineOverloads, "inline overloaded functions")
if state.flags.auto_parallel.enabled:
pm.add_pass(PreParforPass, "Preprocessing for parfors")
if not state.flags.no_rewrites:
pm.add_pass(NopythonRewrites, "nopython rewrites")
if state.flags.auto_parallel.enabled:
pm.add_pass(ParforPass, "convert to parfors")
pm.add_pass(ParforFusionPass, "fuse parfors")
pm.add_pass(ParforPreLoweringPass, "parfor prelowering")

pm.finalize()
return pm

@staticmethod
def define_parfor_gufunc_pipeline(state, name="parfor_gufunc_typed"):
"""Returns the typed part of the nopython pipeline"""
pm = PassManager(name)
assert state.func_ir
pm.add_pass(IRProcessing, "processing IR")
pm.add_pass(NopythonTypeInference, "nopython frontend")
pm.add_pass(ParforPreLoweringPass, "parfor prelowering")

pm.finalize()
return pm
Expand Down
10 changes: 0 additions & 10 deletions numba_cuda/numba/cuda/core/compiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
from numba.cuda.core import bytecode
from numba.core import callconv, config, errors
from numba.core.errors import CompilerError
from numba.parfors.parfor import ParforDiagnostics

from numba.cuda.core.untyped_passes import ExtractByteCode, FixupArgs
from numba.core.targetconfig import ConfigStack
Expand Down Expand Up @@ -66,8 +65,6 @@ def _make_subtarget(targetctx, flags):
subtargetoptions["enable_boundscheck"] = True
if flags.nrt:
subtargetoptions["enable_nrt"] = True
if flags.auto_parallel:
subtargetoptions["auto_parallel"] = flags.auto_parallel
if flags.fastmath:
subtargetoptions["fastmath"] = flags.fastmath
error_model = callconv.create_error_model(flags.error_model, targetctx)
Expand Down Expand Up @@ -114,13 +111,6 @@ def __init__(
# hold this for e.g. with_lifting, null out on exit
self.state.pipeline = self

# parfor diagnostics info, add to metadata
self.state.parfor_diagnostics = ParforDiagnostics()
self.state.metadata["parfor_diagnostics"] = (
self.state.parfor_diagnostics
)
self.state.metadata["parfors"] = {}

self.state.status = _CompileStatus(
can_fallback=self.state.flags.enable_pyobject
)
Expand Down
3 changes: 0 additions & 3 deletions numba_cuda/numba/cuda/core/ir_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -813,7 +813,6 @@ def has_no_side_effect(rhs, lives, call_table):
"""Returns True if this expression has no side effects that
would prevent re-ordering.
"""
from numba.parfors import array_analysis, parfor
from numba.misc.special import prange

if isinstance(rhs, ir.Expr) and rhs.op == "call":
Expand All @@ -827,11 +826,9 @@ def has_no_side_effect(rhs, lives, call_table):
or call_list == ["stencil", numba]
or call_list == ["log", numpy]
or call_list == ["dtype", numpy]
or call_list == [array_analysis.wrap_index]
or call_list == [prange]
or call_list == ["prange", numba]
or call_list == ["pndindex", numba]
or call_list == [parfor.internal_prange]
or call_list == ["ceil", math]
or call_list == [max]
or call_list == [int]
Expand Down
Loading