# RayTracing ###### tags: `Accelerator` * [筆記主頁](https://hackmd.io/@zOZhMrk6TWqOaocQT3Oa0A/HkOxA6j59) ## Repo * [rtcuda](https://github.com/lashhw/rtcuda/tree/main) * [rtcore-systemc](https://github.com/lashhw/rtcore-systemc) ## 未來計畫 * [1/6 MTK meeting](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/Hkcu2BF9s/edit) ## 會議記錄彙整 ::: spoiler 2023 spring * [6/22 例行會議](https://hackmd.io/@zOZhMrk6TWqOaocQT3Oa0A/HkVOAaoc5) * [6/30 例行會議](https://hackmd.io/@zOZhMrk6TWqOaocQT3Oa0A/HyHb4Co5c) * [7/7 例行會議](https://hackmd.io/@zOZhMrk6TWqOaocQT3Oa0A/HkW4mN2cq) * [7/21 例行會議](https://hackmd.io/@zOZhMrk6TWqOaocQT3Oa0A/H1KP2Uni5) * [7/28 例行會議](/hhRJvjbVShKqPjj6BXr_vg) * [8/4 例行會議](/kpwcCpGjTNa6FKVmjtXwRw) * [8/11 例行會議](/dTtRkmaSRLuKaETBzJwYbw) * [8/18 例行會議](/epXhhfvvSIWm3e3e0A9DqQ) * [8/25 例行會議](/V3ibW01QSEyFTGDclt6eAw) * [9/8 例行會議](/JKs77YVCSTuBSOv1P9gIjw) * [9/15 例行會議](/CtpxSTnLRwyxi_kAqr8P2Q) * [9/27 例行會議](/ryyIkvzGQK24vdq5oJEagQ) * [10/13 例行會議](/z0eLiajXRQinhs0a-IBYmw) * [10/20 例行會議](/b87E4q_DRY6BNfWkuSS8cw) * [10/27 例行會議](/bwFxQ0MFRgqNusvoFAOp0g) * [11/4 例行會議](/P5IEr_ESRJeQTlAkDZln8Q) * [11/24 例行會議](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/HyQkXbM8s) * [12/15 例行會議](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/SkbKHvtOo/edit) * [1/5 例行會議](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/HykFkJE9i/edit) * [1/13 例行會議](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/SJPF3Afss) * [1/19 例行會議](/gKKgyA90Sua3i1RFzE71KA) * [2/2 例行會議](/DDdWEd7RQyC3bNlBmGgp8g) * [2/16 例行會議](/EmA0NU-CT-CUQ3CBw6mk0g) * [2/23 例行會議](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/BydcLrQRi) * [3/15 例行會議](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/SJSZUy1xh/edit) * [3/23 例行會議](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/HJ-JbFtxh) * [3/30 例行會議](/2BeK0juuS6a6SmFoO33oLA) * [4/13 例行會議](/Br5pY-4PSYGoeJDO4oW5cQ) * [4/20 例行會議](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/r1eXYJ46Mh) * [4/27 例行會議](/cl9ENEOBS62oydDeZSMRPw) * [5/12 例行會議](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/B164YfjNn) * [5/15 例行會議](https://hackmd.io/@9-RyP6TCRTaS5dURNUdMYw/rJpfavJrh/edit) * [5/18 例行會議](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/rkPuP0WSh) * [5/22 例行會議](/39UeSApSSeCNt-AQ_kpaXQ) * [5/22 Compact RT-Core會議](https://hackmd.io/@9-RyP6TCRTaS5dURNUdMYw/r1hhu2dH3/edit) * [5/25 例行會議](/Rrfj1xy_SlKiZhbsybd_KQ) * [6/29 例行會議](/6GIap4VnTYeilXPM7BmE7g) ::: :::spoiler 2023 fall * [9/14 例行會議](https://hackmd.io/@kairesearch/HygxTwgyT/edit) * [9/20 例行會議](https://hackmd.io/@ycpin/SJRZbMukp/edit) * [9/27 例行會議](/ryyIkvzGQK24vdq5oJEagQ) * [10/3 例行會議](/EZmZyx2ITWqYzV_gEH7OrA) * [10/13 例行會議](/zLZ5E249QoeA3_fRZREXDg) * [10/20 例行會議](https://hackmd.io/@kairesearch/rkVAxq0Wp) * [10/27 例行會議](https://hackmd.io/@kairesearch/HkqFxvQGp) * [11/3 例行會議](https://hackmd.io/@kairesearch/H1EuX6l7p) * [11/10 例行會議](https://hackmd.io/@kairesearch/HJFtb-57a) * [11/17 例行會議](https://hackmd.io/@ycpin/By9IqhX4p) * [11/24 例行會議](https://hackmd.io/@ycpin/SytuDa4Ep) * [12/01 會議記錄](https://hackmd.io/@ycpin/rylSMAWHp) * [12/8 會議記錄](https://hackmd.io/@kairesearch/S1TUbgvrT/edit) * [12/22 會議記錄](https://hackmd.io/@kairesearch/HkuhF8WPT) * [1/5 會議記錄](https://hackmd.io/@kairesearch/HkwXHg4u6) * [1/12 會議記錄](https://hackmd.io/@ycpin/HkJhAv6OT/edit) * [1/19 會議記錄](/mE0AcmNKTxm5gBSrGvxA9w) * [1/26 會議記錄](https://hackmd.io/@ycpin/SyXzbty5p) * [2/5 會議記錄](https://hackmd.io/@kairesearch/rJFZha29T) ::: ::: spoiler 2024 spring * [2/23 會議記錄](/rinTyP_uSl2FWO8DIZBuuw) * [3/1 會議記錄](/phjj4YSPRe6-XEJkQONHig) * [3/10 會議記錄](/vN67yskxRxKg0G8jpy7wrg) * [3/15 會議記錄](/YNIawTKyT6SD9o-dF5_Gog) * [3/22 會議記錄](https://hackmd.io/@kairesearch/BJvPKv5Aa) * [3/29 會議記錄](https://hackmd.io/@ycpin/HkUm5hMkA) * [4/12 會議記錄](https://hackmd.io/@kairesearch/HJ7VSVUlC/) * [4/19 會議記錄](/YtH7VeTURoqWixiRKmzGGw) * [4/26 會議記錄](https://hackmd.io/@nycu-cas/rkK65nuZC) * [5/3 會議記錄](/7d7HelvsRaqwINzZoATldg) * [5/10 會議記錄](/6AJ9U_L8SgqT2UmnY6bAsg) * [5/17 會議記錄](/Kk5iyEpEQPqrsZsbePvvMw) * [5/27 會議記錄](/iU34NpPbSAirb4JTQKCOEg) * [6/3 會議記錄](/Cn5RDgNeS4eWbgolKRLoKw) * [6/21 會議記錄](/g5eZbF56STK6zDufc7C-FQ) ::: ::: spoiler 2024 summer * [7/4 會議記錄](https://hackmd.io/@ycpin/rJnJ68cI0) * [7/11 會議記錄](https://hackmd.io/@ycpin/H1Gnjh3P0) * [7/18 會議記錄](/PqL781LmQeGp4oALDLJeRw) * [7/29 會議記錄](https://hackmd.io/@kairesearch/BJY3hUXt0) * [8/8 會議記錄](/nkEb-Uy9S8CDJeZmRKcR5A) * [8/15 會議記錄](https://hackmd.io/@kairesearch/ry0EVWQcR) * [8/22 會議記錄](/Ybx-kf_RQXuJR2ie_yViyw) * [8/29 會議記錄](https://hackmd.io/@kairesearch/BkIdnV6iA) * [9/5 會議記錄](https://hackmd.io/@ycpin/BJLBEsB30) ::: ::: spoiler 2024 fall * [9/12 會議記錄](https://hackmd.io/@kairesearch/HJUrW6yp0) * [9/19 會議記錄](/hsDezlhNQkCMIPsVyqHH3A) * [9/26 會議記錄](/sAQBh_5rT66V7UhOmzy77g) * [10/3 會議記錄](/PCqh3lu8SOCoEb1jxxW8Ow) * [10/11 會議記錄](https://hackmd.io/@ycpin/S1oQjQLyye) * [10/17 會議記錄](/5j3qHuxERNGV2XiM9l1uuQ) * [10/24 會議記錄](https://hackmd.io/@ycpin/S1o_gBPx1x) * [10/31 會議記錄](https://hackmd.io/@kairesearch/HkGVdKx-yx) * [11/08 會議記錄](/R6yKaGiGSb6Brp1d-nKyAA) * [11/14 會議記錄](https://hackmd.io/@kairesearch/S1zakfXM1l) * [11/21 會議記錄](https://hackmd.io/@kairesearch/rJYLumnfke) * [11/28 會議記錄](https://hackmd.io/@kairesearch/rJe8RUrmkg) * [12/5 會議記錄](https://hackmd.io/@kairesearch/HyBx7n07ke) * [12/12 會議記錄](https://hackmd.io/@kairesearch/rkcbuCvVJe) * [12/26 會議記錄](/t5ayy1OySWSokTEkz-0ZKQ) ::: :::spoiler 2025 spring * [01/02 會議記錄](https://hackmd.io/@ycpin/B1uYf5XUkx) * [01/09 會議記錄](https://hackmd.io/@kairesearch/Hkvyw0n8yg) * [01/16 會議記錄](https://hackmd.io/@kairesearch/BkjTUgLPye) * [02/06 會議記錄](https://hackmd.io/@kairesearch/B1BPg6btJx) * [02/13 會議記錄](https://hackmd.io/@kairesearch/S1xGY7liK1x) * [02/19 會議記錄](https://hackmd.io/@kairesearch/rkEMqaf9kx) * [02/26 會議記錄](/cWkmBHl5ReW7gaGMEgZIvA) * [03/12 會議記錄](https://hackmd.io/@kairesearch/H1N6zd0jkg) * [03/19 會議記錄](https://hackmd.io/@kairesearch/HJCVe6Pnkx) * [03/26 會議記錄](https://hackmd.io/@kairesearch/ry5gLWWpkg) * [04/02 會議記錄](/xCC7zTwaQyKWfQiQrG62Vw) * [04/09 會議記錄](/znF3fnM8RCKVkcdVznUcvg) * [04/15 會議記錄](/t-_rjD47TM2AWUXRR-w_lw) * [04/23 會議記錄](/FnaPcAJvRuKxRP4naqGu1A) * [04/30 會議記錄](https://hackmd.io/@kairesearch/HJpEx-yxlg) * [05/07 會議記錄](https://hackmd.io/@kairesearch/BkZHazOlgx) * [05/14 會議記錄](https://hackmd.io/@kairesearch/H1XEXKWWeg) * [05/23 會議記錄](https://hackmd.io/@kairesearch/Bymkbr2bgx) ::: :::spoiler 2025 summer * [06/11 會議記錄](/EsCbYOufTd2RII9BFPMjCg) * [06/18 會議記錄](https://hackmd.io/@pinyun/HkDDxbkEex) * [07/02 會議記錄](https://hackmd.io/@pinyun/HJnn44ZHle) * [07/09 會議記錄](https://hackmd.io/@pinyun/rJlD4q9rll) * [07/16 會議記錄](https://hackmd.io/@pinyun/ryRDyyN8eg) * [07/23 會議記錄](https://hackmd.io/@pinyun/HkN0tGT8gg) * [07/30 會議記錄](https://hackmd.io/@pinyun/Sy_glLIDel) * [08/06 會議記錄](https://hackmd.io/@pinyun/r1gE6iyOge) * [08/13 會議記錄](https://hackmd.io/@pinyun/H1C7t6_ugg) * [08/21 會議記錄](https://hackmd.io/@pinyun/H1wmrUQKel) ::: :::spoiler 2025 fall * [09/03 會議記錄](https://hackmd.io/@pinyun/SJF8DcEcgl) * [09/10 會議紀錄](https://hackmd.io/@pinyun/rktdm26cxx) * [09/17 會議紀錄](https://hackmd.io/@pinyun/BJ2S3dvsgg) * [09/24 會議紀錄](https://hackmd.io/@pinyun/S1OPO7g2ge) * [10/01 會議紀錄](https://hackmd.io/@pinyun/rkHifwt2ge) * [10/08 會議紀錄](https://hackmd.io/@pinyun/By5iP0oplg) * [10/15 會議紀錄](https://hackmd.io/@pinyun/B1zQu0iTxe) * [10/22 會議紀錄](https://hackmd.io/@pinyun/BJnDQ7BAex) * [10/29 會議紀錄](https://hackmd.io/@pinyun/Sk-q58RAxl) * [11/05 會議紀錄](https://hackmd.io/@pinyun/BJ1gXtPkbg) * [11/12 會議紀錄](https://hackmd.io/@pinyun/rkAFZTllbl) * [11/19 會議記錄](/EqOxxPHTRPScoU_ZX2UK2A) * [11/26 會議記錄](/0LhnatuyTvu6kkSCUe83IQ) * [12/03 會議記錄](/DdeGs74_RbKTpcwNyqPTCA) * [12/10 會議記錄](/UOEXzd3uRla7bqoxpjLNWw) * [12/17 會議記錄](/KWSfj8B1Sn6AKVINevlxPA) * [12/24 會議記錄](/b5jpdfqTTPK59BzIi-rBLw) * [12/31 會議記錄](/iYCFK9_fTb-_7ilUnn3MKA) ::: :::spoiler 2026 spring * [01/07 會議記錄](/NBg7XloHQaGB3NIOAWOhhg) * [01/16 會議記錄](/KA60FgJDSNyk-QJd_N_sew) ::: ## 研究數據 * [FP32 vs FP16](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/SJTxA8wSi) * [exp_result](https://colab.research.google.com/drive/1KJQe1JEcuNFZ3uiXxi_IpNfk6LWm25cw) * [Benchmark](https://docs.google.com/spreadsheets/d/1PCeAGnFYG6aqbZvkBEopvdSFQbXiBN9DdmMzXAjF76Q/edit?usp=sharing) ## 筆記 * [BVH ideas & algorithms](https://hackmd.io/5BZnApaUT2uDdUmoGa1oeg) * [Ray Tracer Notes](https://hackmd.io/YO3Gn8M4T4W67GBml3XldA) * [SpMV](/S1qPMqKs9) * [Ray Tracer Todos](/QOAw3sHVQsm1RyH-IwBYXw) * [BVH pseudocode](https://hackmd.io/ZM37r9d1SVyY6pFdyvjEGQ) * [SGRT Notes](https://hackmd.io/k9ueLLZ-RbidssNDaQdoyw) * [TRaX Notes](/RgEz2OosTfy8d3jqmu6OMw) * [SaarCOR Notes](/NTnVbrINQmqI_R6-KLylKQ) * [T&I Engine Notes](/xEkH2JTcRAC5l-S6D3_OTA) * [HART Notes](/omoxIadzRP-FehUQ0ouwIw) * [Ray-Triangle Intersection Algorithm](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/H1Ea6EEgj) * [Xilinx FPGA Notes](/iIGa8WchRx6a5_tO5MaXRg) * [NVIDIA RT Core / AMD Ray Accelerator / Intel Ray Tracing Units Notes](/FFHMfIeKTHK1-AISCbyyLw) * [Bandwidth-Efficient BVH Layout for Incremental Hardware Traversal Notes](https://hackmd.io/bW8ojjKaST-wqdQu5gQMMg) * [Watertight Ray Traversal with Reduced Precision Notes](https://hackmd.io/@zOZhMrk6TWqOaocQT3Oa0A/ry9RjeaXj) * [A Mobile Ray Tracing Engine with Hybrid Number Representations Notes](/QY4VnLCeTuGdbq1noPHVWQ) * [Genesys ZU](/C4js4dn6SKykRiz1_glFRA) ## 資源 * Computer Graphics Theory * [CMU Computer Graphics Lecture](http://15462.courses.cs.cmu.edu/fall2020/) * Scene data * [McGuire Computer Graphics Archive](https://casual-effects.com/data/) * [Rendering Resources | Benedikt Bitterli's Portfolio](https://benedikt-bitterli.me/resources/) * Ray Tracer Implementation * CPU-based * Ray Tracing in One Weekend * [Ray Tracing in One Weekend](https://raytracing.github.io/books/RayTracingInOneWeekend.html) * [Ray Tracing: The Next Week](https://raytracing.github.io/books/RayTracingTheNextWeek.html) * [Ray Tracing: The Rest of Your Life](https://raytracing.github.io/books/RayTracingTheRestOfYourLife.html) * pbrt * [Physically Based Rendering: From Theory to Implementation](https://www.pbr-book.org/3ed-2018/contents) * [kanition/pbrtbook: pbrt 中文整合翻译 基于物理的渲染:从理论到实现 Physically Based Rendering: From Theory To Implementation](https://github.com/kanition/pbrtbook) * [pbrt-v3 Input File Format](https://www.pbrt.org/fileformat-v3) * Mitsuba * [Mitsuba 3 - A Retargetable Forward and Inverse Renderer](http://mitsuba-renderer.org/) * LuxCoreRender * [LuxCoreRender – Open Source Physically Based Renderer](https://luxcorerender.org/) * The Tungsten Renderer * [tunabrain/tungsten: High performance physically based renderer in C++11](https://github.com/tunabrain/tungsten) * [szellmann/visionaray: A C++-based, cross platform ray tracing library](https://github.com/szellmann/visionaray) * CUDA-based * [Accelerated Ray Tracing in One Weekend in CUDA | NVIDIA Technical Blog](https://developer.nvidia.com/blog/accelerated-ray-tracing-cuda/) * [jan-van-bergen/GPU-Raytracer: GPU Raytracer from scratch in C++/CUDA](https://github.com/jan-van-bergen/GPU-Raytracer) * [charlesliwang/CUDA-Path-Tracer-BVH: CUDA Path Tracer with BVH Acceleration, Depth of Field, AA + more](https://github.com/charlesliwang/CUDA-Path-Tracer-BVH) * OptiX-based * [RTX accelerated ray tracing with OptiX 7 | ACM SIGGRAPH 2020 Courses](https://dl.acm.org/doi/10.1145/3388769.3407532) * [NVIDIA OptiX 7.5 API](https://raytracing-docs.nvidia.com/optix7/api/index.html) * [NVIDIA OptiX 7.5 - Programming Guide](https://raytracing-docs.nvidia.com/optix7/guide/index.html#preface#) * [joaovbs96/OptiX-Path-Tracer: OptiX Path Tracer](https://github.com/joaovbs96/OptiX-Path-Tracer) * BVH Implementaion * [Bounding Volume Hierarchies - pbrt](https://pbr-book.org/3ed-2018/Primitives_and_Intersection_Acceleration/Bounding_Volume_Hierarchies) * [madmann91/bvh: A modern C++ BVH construction and traversal library](https://github.com/madmann91/bvh) * CUDA * [Programming Guide :: CUDA Toolkit Documentation](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html) * [Intro to Parallel Programming - Udacity](https://classroom.udacity.com/courses/cs344) * [Programming Massively Parallel Processors | ScienceDirect](https://www.sciencedirect.com/book/9780128119860/programming-massively-parallel-processors) (accessible via NYCU IP) * [NVIDIA/cub: Cooperative primitives for CUDA C++.](https://github.com/NVIDIA/cub) * [Thrust - Parallel Algorithms Library](https://thrust.github.io/) * [Thrust :: CUDA Toolkit Documentation](https://docs.nvidia.com/cuda/thrust/index.html) * [Best Practices Guide :: CUDA Toolkit Documentation](https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html) * GPGPU Architecture * [General-Purpose Graphics Processor Architecture | Morgan & Claypool books | IEEE Xplore](https://ieeexplore.ieee.org/document/8363085) (accessible via NYCU IP) * [Alexwell - 知乎](https://www.zhihu.com/people/wo-shi-nuo-ya-fang-zhou/posts) * [关于GPU一些笔记(SIMT方面)_Huo的藏经阁的博客-CSDN博客_simt架构](https://blog.csdn.net/weixin_42730667/article/details/109838089) * FPGA * [Cliff Cummings' Award-Winning Verilog & SystemVerilog Papers - many are included in Sunburst Design's Verilog Training & SystemVerilog Training Courses.](http://www.sunburst-design.com/papers/) * [Vivado ML Training Courses](https://www.xilinx.com/products/design-tools/vivado/vivado-ml.html#training) * [AXI Interconnects Tutorial: Multiple AXI Masters and Slaves in Digital Logic - Technical Articles](https://www.allaboutcircuits.com/technical-articles/what-are-axi-interconnects-tutorial-master-slave-digital-logic/) * [Xilinx Design Hubs](https://www.xilinx.com/support/documentation-navigation/design-hubs.html) * [PG085 - AXI4-Stream Infrastructure IP Suite v3.0 LogiCORE IP Product Guide](https://docs.xilinx.com/r/en-US/pg085-axi4stream-infrastructure/AXI4-Stream-Infrastructure-IP-Suite-v3.0-LogiCORE-IP-Product-Guide) * [UG1037 - Vivado Design Suite: AXI Reference Guide](https://docs.xilinx.com/v/u/en-US/ug1037-vivado-axi-reference-guide) ## 相關論文 ### Hardware Architecture * [Toward Real-Time Ray Tracing: A Survey on Hardware Acceleration and Microarchitecture Techniques](https://dl.acm.org/doi/pdf/10.1145/3104067) > numerical system, AS construction, ray generation, AS traversal, ray-triangle intersection * [SaarCOR — A Hardware Architecture for Ray Tracing](https://dl.acm.org/doi/pdf/10.5555/569046.569051) (2002) > SIMD, kd-tree, packet tracing * [RPU: A Programmable Ray Processing Unit for Realtime Ray Tracing](https://dl.acm.org/doi/pdf/10.1145/1186822.1073211) (2005) > SIMT, kd-tree, packet tracing * [Toward a multicore architecture for real-time ray-tracing](https://ieeexplore.ieee.org/document/4771789) (2008) > MIMD, kd-tree * StreamRay * [StreamRay: A Stream Filtering Architecture for Coherent Ray Tracing](https://dl.acm.org/doi/pdf/10.1145/2528521.1508282) (2009) > Streaming SIMD, stream filtering * [Coherent ray tracing via stream filtering](https://ieeexplore.ieee.org/document/4634622) * [Architecture Considerations for Tracing Incoherent Rays](https://dl.acm.org/doi/pdf/10.5555/1921479.1921497) (2010) > treelet * T&I Engine and Its Derivative * [T&I Engine: Traversal and Intersection Engine for Hardware Accelerated Ray Tracing](https://my.eng.utah.edu/~cs6958/papers/HWRT-seminar/a160-nah.pdf) (2011) > MIMD, kd-tree, fixed logic, short-stack traversal, ordered depth-first layout, three-phase ray-triangle intersection test, ray accumulation unit * [Parallel-pipeline-based Traversal Unit for Hardware-accelerated Ray Tracing](https://dl.acm.org/doi/pdf/10.1145/2407156.2407203) * [MRTP: Mobile Ray Tracing Processor With Reconfigurable Stream Multi-Processors for High Datapath Utilization](https://ieeexplore.ieee.org/document/6082416) (2012) > SIMT * [A Reconfigurable SIMT Processor for Mobile Ray Tracing With Contention Reduction in Shared Memory](https://ieeexplore.ieee.org/document/6289395) (2013) > SIMT * SGRT * [SGRT: A Mobile GPU Architecture for Real-Time Ray Tracing](https://web.yonsei.ac.kr/wjlee/document/sgrt.hpg13.pdf) (2013) > MIMD, BVH, programmable shader, VLIW engine, CGRA-based Samsung reconfigurable processor, area-efficient pipelined T&I unit, single-ray tracing, FPGA prototyping * [Real-time Ray Tracing on Coarse-grained Reconfigurable Processor](https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6718352) > CGRA kernel optimization details * [Real-Time Ray Tracing on Future Mobile Computing Platform](https://dl.acm.org/doi/pdf/10.1145/2543651.2543670) * [A Novel Mobile GPU Architecture based on Ray Tracing](https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6486777) * [SGRT: a scalable mobile GPU architecture based on ray tracing](https://dl.acm.org/doi/pdf/10.1145/2342896.2342953) * [Energy Efficient Data Transmission for Ray Tracing on Mobile Computing Platform](https://dl.acm.org/doi/pdf/10.1145/2543651.2543673) * [A Scalable GPU Architecture based on Dynamically Reconfigurable Embedded Processor](https://www.highperformancegraphics.org/previous/www_2011/media/Posters/HPG2011_Posters_Lee_abstract.pdf) * [Exploiting loop-level parallelism on coarse-grained reconfigurable architectures using modulo scheduling](https://past.date-conference.com/proceedings-archive/2003/DATE03/PDFFILES/04B_2.PDF) * TRaX and Its Derivative * [TRaX: A Multicore Hardware Architecture for Real-Time Ray Tracing](https://dkoptacs.github.io/papers/hwrt_tcad09.pdf) (2009) > MIMD, BVH, multicore, single-ray tracing, simplified memory system, fully programmable, share complex FUs * [Efficient MIMD Architectures for High-Performance Ray Tracing](https://dkoptacs.github.io/papers/hwrt_iccd10.pdf) (2010) > MIMD, BVH, reduces off-chip memory energy, reconfigurable special-purpose pipelines * [A Mobile Accelerator Architecture for Ray Tracing](https://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=064DE62A26620E69D4B759141B1F68F7?doi=10.1.1.434.9358&rep=rep1&type=pdf) (2012) > MIMD, multicore * STRaTA * [An energy and bandwidth efficient ray tracing architecture](https://dl.acm.org/doi/pdf/10.1145/2492045.2492058) (2013) * [Memory Considerations for Low Energy Ray Tracing](https://hwrt.cs.utah.edu/papers/hwrt_cgf12458s.pdf) * [A detailed study of ray tracing performance: render time and energy cost](https://link.springer.com/content/pdf/10.1007/s00371-018-1532-8.pdf) * [RayCore: A ray-tracing hardware architecture for mobile devices](http://gamma.cs.unc.edu/SATO/Raycore/raycore.pdf) (2014) > MIMD, kd-tree, ray generation unit * [HART: A hybrid architecture for ray tracing animated scenes.](http://gamma.cs.unc.edu/HART/HART_files/HART_preprint.pdf) (2014) > MIMD, BVH, enhanced T&I, ray-primAABB intersection test, cache-data reuse scheme, short-stack traversal * [Reorder Buffer: An Energy-Efficient Multithreading Architecture for Hardware MIMD Ray Traversal](https://diglib.eg.org/handle/10.2312/14669) (2015) * Mach-RT * [Mach-RT: A Many Chip Architecture for High Performance Ray Tracing](https://ieeexplore.ieee.org/abstract/document/9183976) (2020) > MIMD, BVH * [Dual Streaming for Hardware-Accelerated Ray Tracing](https://dl.acm.org/doi/pdf/10.1145/3105762.3105771) ### GPU * Aila & Laine * [Understanding the Efficiency of Ray Traversal on GPUs](https://research.nvidia.com/sites/default/files/pubs/2009-08_Understanding-the-Efficiency/aila2009hpg_paper.pdf) (2009) > packet traversal, while-while traversal, if-if traversal, persistent threads, speculative traversal * [Understanding the Efficiency of Ray Traversal on GPUs – Kepler and Fermi Addendum](https://research.nvidia.com/sites/default/files/pubs/2012-06_Understanding-the-Efficiency/nvr-2012-02.pdf) (2012) * [Improving SIMT Efficiency of Global Rendering Algorithms with Architectural Support for Dynamic Micro-Kernels](https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5695540) (2010) * [Active Thread Compaction for GPU Path Tracing](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.294.4658&rep=rep1&type=pdf) (2011) * [Improving SIMD Efficiency for Parallel Monte Carlo Light Transport on the GPU](https://dl.acm.org/doi/pdf/10.1145/2018323.2018330) (2011) * [Megakernels Considered Harmful: Wavefront Path Tracing on GPUs](https://research.nvidia.com/sites/default/files/pubs/2013-07_Megakernels-Considered-Harmful/laine2013hpg_paper.pdf) (2013) > wavefront formulation * [Latency considerations of depth-first GPU ray tracing](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.726.9999&rep=rep1&type=pdf) (2014) > loop unrolling, shallower hierarchy, unsorted occlusion tracing, sorting network * [Unleashing the Power of GPU for Physically-Based Rendering via Dynamic Ray Shuffling](https://dl.acm.org/doi/pdf/10.1145/3123939.3124532) (2017) > dynamic ray shuffling, GPGPU-Sim * [CPU-style SIMD ray traversal on GPUs](https://dl.acm.org/doi/pdf/10.1145/3231578.3231583) (2018) > wide BVH * [Rearchitecting Spatiotemporal Resampling for Production](https://research.nvidia.com/publication/2021-07_rearchitecting-spatiotemporal-resampling-production) (2021) ### Ray Coherence * [On Ray Reordering Techniques for Faster GPU Ray Tracing](https://dl.acm.org/doi/pdf/10.1145/3384382.3384534) (2020) * [Rendering Complex Scenes with Memory-Coherent Ray Tracing](https://dl.acm.org/doi/pdf/10.1145/258734.258791) (1997) * [Dynamic Ray Scheduling to Improve Ray Coherence and Bandwidth Utilization](https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4342596) (2007) * [Cache-Oblivious Ray Reordering](http://sglab.kaist.ac.kr/CORR/) (2010) * [Dynamic Ray Stream Traversal](https://dl.acm.org/doi/pdf/10.1145/2601097.2601222) (2014) ### BVH * Survey * [A Survey on Bounding Volume Hierarchies for Ray Tracing](https://onlinelibrary.wiley.com/doi/full/10.1111/cgf.142662) (2021) * [STAR 5: A Survey on Bounding Volume Hierarchies for Ray Tracing | Eurographics'2021 - YouTube](https://www.youtube.com/watch?v=4tO0KTngVAw) * Wide BVH * [Getting rid of packets - Efficient SIMD single-ray traversal using multi-branching BVHs](https://ieeexplore.ieee.org/document/4634620) (2008) * [Multi bounding volume hierarchies](https://ieeexplore.ieee.org/abstract/document/4634618) (2008) * [Shallow Bounding Volume Hierarchies for Fast SIMD Ray Tracing of Incoherent Rays](https://www.uni-ulm.de/fileadmin/website_uni_ulm/iui.inst.100/institut/Papers/QBVH.pdf) (2008) * [Efficient Incoherent Ray Traversal on GPUs Through Compressed Wide BVHs](https://research.nvidia.com/sites/default/files/publications/ylitie2017hpg-paper.pdf) (2017) * [Compressed-leaf Bounding Volume Hierarchies](https://dl.acm.org/doi/pdf/10.1145/3231578.3231581) (2018) * [Wide BVH Traversal with a Short Stack](https://www.intel.com/content/dam/develop/external/us/en/documents/wide-bvh-traversal-with-a-short-stack-837099.pdf) (2019) * Stackless Traversal * [Restart Trail for Stackless BVH Traversal](https://dl.acm.org/doi/pdf/10.5555/1921479.1921496) (2010) * [Efficient Stack-less BVH Traversal for Ray Tracing](https://dcgi.fel.cvut.cz/home/havran/ARTICLES/sccg2011.pdf) (2013) * [Efficient Stackless Hierarchy Traversal on GPUs with Backtracking in Constant Time](https://diglib.eg.org/bitstream/handle/10.2312/hpg20161191/041-050.pdf) (2016) * Reduced Precision / Bandwidth-Efficient * [Cache-Efficient Layouts of Bounding Volume Hierarchies](http://gamma.cs.unc.edu/COLBVH/CELBVH.pdf) (2006) * [Towards Hardware Ray Tracing using Fixed Point Arithmetic](https://ieeexplore.ieee.org/document/4342599?reload=true&tp=&arnumber=4342599&contentType=Conference%20Publications&sortType%3Dasc_p_Sequence%26filter%3DAND(p_IS_Number:4342574)=) (2007) * [RACBVHs: Random-Accessible Compressed Bounding Volume Hierarchies](https://ieeexplore.ieee.org/document/5128906/) (2009) * [Ordered depth-first layouts for ray tracing](https://dl.acm.org/doi/10.1145/1899950.1900005) (2010) * [Memory Efficient Ray Tracing with Hierarchical Mesh Quantization](https://dl.acm.org/doi/pdf/10.5555/1839214.1839242) (2010) * [Reduced Precision for Hardware Ray Tracing in GPUs](https://diglib.eg.org/handle/10.2312/hpg.20141091.029-040) (2014) * [A mobile ray tracing engine with hybrid number representations](https://dl.acm.org/doi/10.1145/2818427.2818446) (2015) > 17-bit fixed-point, 13-bit floating-point * [Watertight Ray Traversal with Reduced Precision](https://diglib.eg.org/handle/10.2312/hpg20161190) (2016) > bounding plane sharing, incremental traversal * [Bandwidth-Efficient BVH Layout for Incremental Hardware Traversal](https://diglib.eg.org/handle/10.2312/hpg20161192) (2016) > reduced address space, novel bvh layout to fit cache line * [Dual-precision fixed-point arithmetic for low-power ray-triangle intersections](https://www.sciencedirect.com/science/article/pii/S009784932030008X) (2020) * [Intersection Prediction for Accelerated GPU Ray Tracing](https://people.ece.ubc.ca/~aamodt/publications/papers/liu.micro2021.pdf) (2021) > any-hit predictor, ray hash, warp repacking, ray tracing unit, GPGPU-Sim ### Monte Carlo Denoising * [deep learning-based Monte Carlo denoising](https://link.springer.com/content/pdf/10.1007/s41095-021-0209-9.pdf) (2020) * Kernel Prediction * [Kernel-Predicting Convolutional Networks for Denoising Monte Carlo Renderings](https://la.disneyresearch.com/wp-content/uploads/Kernel-Predicting-Convolutional-Networks-for-Denoising-Monte-Carlo-Renderings-Paper33.pdf) (2017) * [Denoising with Kernel Prediction and Asymmetric Loss Functions](https://dl.acm.org/doi/pdf/10.1145/3197517.3201388) (2018) * [Machine-learning denoising in feature film production | ACM SIGGRAPH 2019 Talks](https://dl.acm.org/doi/10.1145/3306307.3328150) (2019) * [Sample-based Monte Carlo Denoising using a Kernel-Splatting Network](https://groups.csail.mit.edu/graphics/rendernet/data/mc_denoising.pdf) (2019) ### CGRA * Survey * [A Survey of Coarse-Grained Reconfigurable Architecture and Design: Taxonomy, Challenges, and Applications](https://dl.acm.org/doi/pdf/10.1145/3357375) (2019) * [A Survey on Coarse-Grained Reconfigurable Architectures From a Performance Perspective](https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9149601) (2020) * [Twenty Years of Automated Methods for Mapping Applications on CGRA](https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9835368) (2022) ### Heterogeneous Communication * [Out-of-core Data Management for Path Tracing on Hybrid Resources](https://diglib.eg.org/bitstream/handle/10.2312/CGF.v28i2pp385-396/v28i2pp385-396.pdf?sequence=1&isAllowed=y) (2009) * [Combinatorial Bidirectional Path-Tracing for Efficient Hybrid CPU/GPU Rendering](https://onlinelibrary.wiley.com/doi/full/10.1111/j.1467-8659.2011.01863.x) (2011) ## previous Ray Tracing Unit ### Resources [Lucy's github](https://github.com/ubc-aamodt-group/ray-intersection-predictor) [Lucy's paper](https://dl.acm.org/doi/pdf/10.1145/3466752.3480097) [GPU Wattch manual](http://gpgpu-sim.org/gpuwattch/#4_Using_the_Power_Model) ### Notes [bvh](https://hackmd.io/@leonhsi/SytOTQwM5/) [RT unit notes](https://hackmd.io/@leonhsi/Hkh5ZYCTF) [BVH ideas & algorithms](https://hackmd.io/5BZnApaUT2uDdUmoGa1oeg?view) [Ray Tracer Notes](/YO3Gn8M4T4W67GBml3XldA) ### Topics * A clear picture of CGRA's architecture and usage * [凱雋的筆記](https://hackmd.io/5e12xCClQJ-A2-JiVmKDKA) * [Interactive Ray Tracing Using a SIMD Reconfigurable Architecture](https://ieeexplore.ieee.org/document/1180755) * [TRaX: A Multicore Hardware Architecture for Real-Time Ray Tracing](https://www.researchgate.net/publication/224078501_TRaX_A_Multicore_Hardware_Architecture_for_Real-Time_Ray_Tracing) * [Implementation of Floating-Point Operations for 3D Graphics on a Coarse-Grained Reconfigurable Architecture](https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4545442) * Router architecture and algorithm * Gemm5 ACC architecture * Applications of ray tracing * Ambient Occlusion * router paper: * [Cache-Conscious Wavefront Scheduling](https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6493609) ### Ideas ### Goals ## Weekly Progress * [06/23/2022 - 06/30/2022](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/B1RDvbd99/edit) * [05/12/2022 - 05/19/2022](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/Hy-SVQmvq) * [04/28/2022 - 05/05/2022](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/r1vwdReL5/edit) * [04/21/2022 - 04/28/2022](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/HJ8TStPr5) * [03/24/2022 - 03/31/2022](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/BkRQuubm9) * [03/17/2022 - 03/23/2022](https://hackmd.io/KlDCqKzORD-L_TIU3OsbxQ?view) * [02/17/2022 - 02/24/2022](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/ryR5yqjyq) * [01/24/2022 - 02/17/2022](https://hackmd.io/@nx1bTzFpQvaKD_yxYRmBaQ/r1BR5B5kc)