Skip to content

[Feat] Improve the naive path tracer by implementing persistent kernels and schedulers #21

Description

@Enigmatisms

As stated, the current path tracer impl is very simple:

  • Tiling the image and make grid_size the number of tiles.
  • Completely depends on the scheduling of blocks.

I did this for simplicity, but this is not a good impl since block scheduling introduces overhead.

The persistent kernels might offer a better solution, since with good scheduler, we can deal with cases with extremely un-balanced workloads. Also, it will be a good infra for extending to warp specialization (instead of the current megakernel, which tries doing all the things in one warp).

This task is scheduled for 9.30-10.8 (currently).

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestmajorMajor code base changes

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions