Skip to content

Instantly share code, notes, and snippets.

View aspurdy's full-sized avatar

Alex Purdy aspurdy

  • Vancouver, British Columbia
View GitHub Profile
@aspurdy
aspurdy / bucket.cu
Last active March 9, 2023 06:56
match_any_sync shim for compute capability < 7.0
// warp-aggregated atomic multi bucket increment based on CUDA samples, modified to support compute capability < 7.0
#include "helper_cuda.h"
#include <cooperative_groups.h>
#include <vector>
#define NUM_ELEMS 10000000
#define NUM_THREADS_PER_BLOCK 512
using namespace cooperative_groups;
@aspurdy
aspurdy / paper_summaries.md
Last active March 9, 2023 06:57
Short summaries of academic papers

Production path-tracer from Dreamworks. Engineered to take make heavy use of SIMD units throughout the entire rendering pipeline. Uses embree for ray interesection, focuses on discussion around speedup to shading/integration. Outlines queing / sorting of rays/samples to fill vector lanes and conversion to AOSOA formats. Makes use of Intel TBB and ISPC. Uses wavefront-based / bread-first approach to processing samples. Compares against scalar depth-first implementation.

@inproceedings{lee2017vectorized,
  title={Vectorized production path tracing},
  author={Lee, Mark and Green, Brian and Xie, Feng and Tabellion, Eric},
  booktitle={Proceedings of High Performance Graphics},
 pages={10},