numba_dpex.core.parfors.parfor_lowerer¶
Overview¶
Provides a custom lowerer for parfor nodes that generates a SYCL kernel |
|
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
¶ get_lowerer
(device)class -
Members
- device_to_lowerer_map¶
- classmethod get_lowerer(device)¶