Comments (2)
Hi Matt,
why did you write "not impressive" for path tracing etc.? I think 1.9 is pretty decent given other factors like memory traffic, job distribution etc..
The issue with SPPM resembles my own scalability benchmarks with Mitsuba. A better way to parallelize things would be to use the Knaus & Zwicker-style iterations where each photon map pass uses a globally uniform photon radius. This removes some interdependences so that each thread can do its own photon map pass. Maybe something for v4? (with things going like they are now, parallelism should be an even bigger deal a few years down the road)
Thanks,
Wenzel
from pbrt-v3.
Commit 74cab9e, which I'd hoped would help a bit with this, barely moved the needle. SPPM grid construction is now 1.98x faster with 16 cores than 1 core, which is an improvement from the 1.40x before, but there is still a ways to go!
@wjakob I dunno, maybe this is reasonable, but I feel like it could be better. The data is almost entirely read-only, there's a lot of compute and a lot of independent jobs, etc. (Or, coming at it from a different way, none has yet carefully ran it through a profiler to look for unexpected false sharing or other things that can meaningfully degrade scalability, so it's likely there are other unknown issues that could be tuned up...)
from pbrt-v3.
Related Issues (20)
- Derivation of delta_x and delta_y error bounds for triangle Intersection HOT 1
- Cloth Material - Incorrect Texture Values HOT 2
- 3.9.6 Avoiding Intersections Behind Ray Origins
- Disney BSDF HOT 5
- Radiometry Pack For Beginner like me
- A bug in OrthographicCamera::GenerateRay of pbrt-v3
- Git repository and CDN does not work HOT 2
- Two questions about spectral rendering and output HOT 6
- Sphere::Pdf does not return zero when wi points away from the sphere.
- Black marks on bump mapped area.
- What happens in `BVHAccel::Intersect` when the ray has one component == 0.0 ? HOT 1
- How to run rendering on GPU instead of CPU (pbrt v3) HOT 1
- build error on windows using mingw HOT 1
- pbrt-v3 failed to build due to error MSB8066 using MSVC for ARM64EC target on Windows HOT 1
- PBRT wouldn't finish building on FreeBSD
- Samples "leak out" from the medium due to imperfect ray-intersection logic
- No PDF cutoff for light samples with a zero BxDF probability HOT 2
- win10/Visual studio 2019 install HOT 4
- nan values during rendering (HairBxDF?)
- Is refraction implemented correctly in v3 BDPT? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pbrt-v3.