Mark Elendt

mark

About Me

Expertise
Developer
Location
Canada
Website

Connect

My Talks

obj-image SIGGRAPH ASIA
Houdini Rendering & De-noising

Recent Forum Posts

Mantra takes 45 min to render 640x360 donut model March 23, 2021, 11:14 a.m.

Actually, we may have found the issue. Pixels (197,424) and (198,424) in the .exr have infinity values. This throws the importance sampling algorithm in mantra for a loop.

Mantra takes 45 min to render 640x360 donut model March 23, 2021, 11:04 a.m.

smbell
I am running into a very similar situation here with an AMD Ryzen 9 5950x machine that I just built.

Rendering this simple scene with a handful of spheres and a single HDR or EXR image as an environment light takes a really long time to render. I'm talking about almost two hours using the default mantra settings. If I open the same scene at my office on an 8 year old dual Intel xeon machine which is less than half the speed, it renders in about 20 seconds. Converting the HDR image to a .rat file solves the issue on my AMD machine and it renders in 8 seconds.

I understand .rat files are better optimized, but this seems like there is an issue with AMD machines and the handling of HDR/EXR images as environment lights in Mantra.

Can anyone with an AMD machine try to render this test scene?

When loading .rat files, mantra reports something like:
 TBF File Cache: 2 file opens (2.13 MB read)

When loading .exr textures, mantra reports something like:
OpenImageIO Texture statistics
Options: gray_to_rgb=0 flip_t=0 max_tile_channels=6
Queries/batches :
texture : 0 queries in 0 batches
texture 3d : 0 queries in 0 batches
shadow : 0 queries in 0 batches
environment : 37217109 queries in 37217109 batches
Interpolations :
closest : 0
bilinear : 0
bicubic : 37217109
Average anisotropic probes : 1
Max anisotropy in the wild : 1

OpenImageIO ImageCache statistics (shared) ver 2.0.10
Options: max_memory_MB=8023.0 max_open_files=512 autotile=64
autoscanline=0 automip=0 forcefloat=0 accept_untiled=1
accept_unmipped=1 deduplicate=1 unassociatedalpha=0
failure_retries=0
Images : 2 unique
ImageInputs : 1 created, 1 current, 1 peak
Total pixel data size of all images referenced : 6.0 MB
Total actual file size of all images referenced : 1.6 MB
Pixel data read : 6.0 MB
File I/O time : 0.0s (0.0s average per thread, for 33 threads)
File open time only : 0.0s
Tiles: 128 created, 128 current, 128 peak
total tile requests : 45377804
micro-cache misses : 19148390 (42.1977%)
main cache misses : 8 (1.76298e-05%)
redundant reads: 0 tiles, 0 B
Peak cache memory : 6.0 MB
Image file statistics:
opens tiles MB read --redundant-- I/O time res File
BROKEN
2 1 8 6.0 0.0s 1024x 512x3.f32 symmetrical_garden_1k.
Tot: 1 8 6.0 ( 0 0.0) 0.0s
1 not tiled, 1 not MIP-mapped
1 was constant-valued in all pixels
Broken or invalid files: 0


And now rendering stats for various machines I was able to test:
18.5.525 - AMD Ryzen Threadripper 1950X 16-Core Processor
.exr texture
Frame Wall Clock Time: 0:00:09.86
Total Wall Clock Time: 0:00:10.01
Total CPU Time: 0:01:13.55
System CPU Time Only: 0:00:03.29
Peak Memory Usage: 505.19 MB

.hdr texture
Frame Wall Clock Time: 0:00:17.33
Total Wall Clock Time: 0:00:17.46
Total CPU Time: 0:05:45.45
System CPU Time Only: 0:00:02.98
Peak Memory Usage: 516.16 MB

.rat texture
Frame Wall Clock Time: 0:00:12.09
Total Wall Clock Time: 0:00:12.21
Total CPU Time: 0:02:55.49
System CPU Time Only: 0:00:03.91
Peak Memory Usage: 512.64 MB

H18.5.525 - AMD Ryzen Threadripper 2950X 16-Core Processor
.exr texture
Frame Wall Clock Time: 0:00:09.12
Total Wall Clock Time: 0:00:09.18
Total CPU Time: 0:01:21.28
System CPU Time Only: 0:00:05.09
Peak Memory Usage: 522.65 MB

.hdr texture
Frame Wall Clock Time: 0:00:16.64
Total Wall Clock Time: 0:00:16.70
Total CPU Time: 0:05:14.13
System CPU Time Only: 0:00:04.89
Peak Memory Usage: 519.21 MB

.rat texture
Frame Wall Clock Time: 0:00:11.43
Total Wall Clock Time: 0:00:11.54
Total CPU Time: 0:02:46.68
System CPU Time Only: 0:00:04.04
Peak Memory Usage: 510.90 MB


18.5.525 AMD Ryzen Threadripper 3990X 64-Core Processor
.exr texture
Frame Wall Clock Time: 0:00:14.50
Total Wall Clock Time: 0:00:14.56
Total CPU Time: 0:04:32.90
System CPU Time Only: 0:00:06.07
Peak Memory Usage: 1.21 GB

.hdr texture
Frame Wall Clock Time: 0:00:17.47
Total Wall Clock Time: 0:00:17.54
Total CPU Time: 0:14:53.45
System CPU Time Only: 0:00:05.86
Peak Memory Usage: 1.22 GB

.rat texture
Frame Wall Clock Time: 0:00:12.39
Total Wall Clock Time: 0:00:12.45
Total CPU Time: 0:04:04.92
System CPU Time Only: 0:00:05.48
Peak Memory Usage: 1.25 GB

I'll see if we can test with a more modern processor, but so far, we can't seem to reproduce this.

Mantra takes 45 min to render 640x360 donut model March 22, 2021, 10:54 a.m.

There was a performance improvement in very recent daily builds for non-RAT textures. It was most noticeable on Windows. Please try a recent daily build.