numba_dpex.core.parfors.parfor_lowerer

Overview

Classes

ParforLowerImpl

Provides a custom lowerer for parfor nodes that generates a SYCL kernel

ParforLowerFactory

A pseudo-factory class that maps a device filter string to a lowering

Classes

class ParforLowerImpl

Provides a custom lowerer for parfor nodes that generates a SYCL kernel for a parfor and submits it to a queue.

class ParforLowerFactory

A pseudo-factory class that maps a device filter string to a lowering function.

Each Parfor instruction can have an optional “lowerer” attribute. The lowerer attribute determines how the parfor instruction should be lowered to LLVM IR. In addition, the lower attribute decides which parfor instructions can be fused together.

The factory class maintains a dictionary mapping every device type (filter string) encountered so far to a lowerer function for that device type. At this point numba-dpex does not generate device-specific code and the lowerer used is same for all device types. However, as a different ParforLowerImpl instance is returned for every parfor instruction that has a distinct compute-follows-data inferred device it prevents illegal parfor fusion.

Overview

Methods

get_lowerer(device)

class -

Members

device_to_lowerer_map
classmethod get_lowerer(device)