Cycles AMD HIP device feedback

Just tested the alpha (179100c02126) on Ubuntu 22.04 LTS. Viewport rendering is fine but as @L_S has said, an actual render crashes the display driver and X - even with just the default cube scene.

Iā€™m not sure if this is the right place to give feedback. And this have probably been mentioned before. Sorry, I didnā€™t real all 225 comments.

Iā€™m now running GPU on my iMac Pro Vega 64. I see thereā€™s an option to render with GPU or GPU and CPU in the metal prefs. I though adding the CPU would make a big difference but for render time itā€™s negligible. But for the memory, If I look at the peak, GPU only took twice as much memory. I donā€™t understand why.

I was rendering the lone monk demo file.

GPU only: 1271.67, peak 1271.68
CPU and GPU: 479.01M, peak 603.59

This 6800XT got about 40 seconds with HIP, in classroom.

I think Windows and Linux HIP are the same or similar in rendering speed.

I tested the windows environment many times, this scene 300 times the sample is indeed 1 minute and 32 seconds, cpu:5900x data in 4 minutes and 9 seconds, linux if can be completed in 40 seconds that means fast 2.5x

1 Like

Why is linux so much faster than windows?

Look at this ratio even windows hip may not beat linux opencl

Funnybob, the information found below is still relevant for you. However, for future reference feedback on Metal should go the Metal feedback thread. Cycles Apple Metal device feedback - #340 by S.I

Cycles-X in itā€™s current form less than ideally schedules work between multiple devices of varying performance in scenes with varying complexity across the frame. As such, enabling CPU + GPU usually doesnā€™t give people the performance increase they expect.

Investigation is underway to fix this. But until that fix is implemented, that is how Cycles-X works at the moment.

1 Like

Can we render the animation with separate frames? Even if itā€™s only 1/5 faster, it saves 1/5 time. The reality is that even if you open 2 software, the previous gpu rendering will stall when the new project chooses cpu rendering

I think that is to be expected. I donā€™t know about much about HIP or blenderā€™s use of the GPU, but I do have experience with doing GPU calculations in general.

Even if you choose GPU rendering, the cpu is still very busy for part of the render to prepare all the data for the GPU. so if the cpu has to be shared with another process you lose a lot of GPU speed as well while the GPU idles waiting for the CPU to prepare the next batch.

Maybe you could try to lower the priority of the second (cpu-only) instance so that it only uses the ā€˜left-overā€™ cpu power?

(But this getting rather offtopic, so Iā€™ll stop here)

1 Like

Did a few more tests, Blender always crashes immediately if I try to render anything with an image texture. And itā€™s not caused by the open source ROCm platform as I initially suspected, it fails the exact same way with the official ROCm 5.1.1 binaries. I also tried multiple kernel versions (5.17.4 zen and xanmod, 5.15.35), same result:

:4:rocblit.cpp :460 : 1532640456 us: 6847 : [tid:0x7f980f9eb640] HSA Asycn Copy Rect wait_event=0x0, completion_signal=0x7f984ccfd080
:4:rocvirtual.cpp :525 : 1532640728 us: 6847 : [tid:0x7f980f9eb640] Host wait on completion_signal=0x7f984ccfd080
:3:rocvirtual.hpp :62 : 1532640733 us: 6847 : [tid:0x7f980f9eb640] Host active wait for Signal = (0x7f984ccfd080) for -1 ns
:4:command.cpp :280 : 1532640979 us: 6847 : [tid:0x7f980f9eb640] queue marker to command queue: 0x7f983ccfd400
:4:command.cpp :339 : 1532640983 us: 6847 : [tid:0x7f980f9eb640] command is enqueued: 0x7f983cc4da40
:4:command.cpp :170 : 1532640987 us: 6847 : [tid:0x7f980f9eb640] Command 0x7f983ccca880 complete
:4:command.cpp :168 : 1532640991 us: 6847 : [tid:0x7f980f9eb640] Command 0x7f983cc4da40 complete (Wall: 1532640990, CPU: 0, GPU: 0 us)
:4:command.cpp :245 : 1532640995 us: 6847 : [tid:0x7f980f9eb640] waiting for event 0x7f983ccca880 to complete, current status 0
:4:command.cpp :259 : 1532640998 us: 6847 : [tid:0x7f980f9eb640] event 0x7f983ccca880 wait completed
:3:hip_memory.cpp :3057: 1532641003 us: 6847 : [tid:0x7f980f9eb640] hipDrvMemcpy2DUnaligned: Returned hipSuccess :
:3:hip_texture.cpp :1453: 1532641018 us: 6847 : [tid:0x7f980f9eb640] hipTexObjectCreate ( 0x7f9,83c,c5d,528, 0x7f9,80f,9a5,140, 0x7f9,80f,9a5,0d0, char array: )
:4:rocdevice.cpp :2034: 1532641140 us: 6847 : [tid:0x7f980f9eb640] Allocate hsa device memory 0x7f96b7400000, size 0x169000
:3:rocdevice.cpp :2073: 1532641144 us: 6847 : [tid:0x7f980f9eb640] device=0x7f9847ba2000, freeMem_ = 0xfed20000
:4:rocdevice.cpp :1899: 1532641202 us: 6847 : [tid:0x7f980f9eb640] Allocate hsa host memory 0x7f984ccec000, size 0x110
Writing: /tmp/bmw27_gpu.crash.txt
fish: Job 1, ā€˜AMD_LOG_LEVEL=4 ./blenderā€™ terminated by signal SIGSEGV (Address boundary error)

And the backtrace:

Blender 3.2.0, Commit date: 2022-04-23 13:09, Hash c486da0238bd

backtrace

./blender(BLI_system_backtrace+0x20) [0xb605b00]
./blender() [0x117952a]
/usr/lib/libc.so.6(+0x42560) [0x7f9872eb7560]
/opt/rocm/hip/lib/libamdhip64.so(+0x1e8b3d) [0x7f97f83e8b3d]
/opt/rocm/hip/lib/libamdhip64.so(hipTexObjectCreate+0x8e1) [0x7f97f83f1901]
./blender(_ZN3ccl9HIPDevice9tex_allocERNS_14device_textureE+0x6b5) [0x2d4d235]
./blender(_ZN3ccl12ImageManager17device_load_imageEPNS_6DeviceEPNS_5SceneEiPNS_8ProgressE+0x392) [0x3464122]
./blender() [0x84a86e5]
./blender() [0x16759b5]
./blender() [0x1675c6b]
./blender() [0x1662987]
./blender() [0x166f6a0]
./blender() [0x16716dc]
./blender() [0x16718d9]
/usr/lib/libc.so.6(+0x8d5c2) [0x7f9872f025c2]
/usr/lib/libc.so.6(clone+0x44) [0x7f9872f87584]

The 6800XT runs on opendata.blender score between 600 - 2300. What score does your computer get with your 6800XT on opendata.blender? If you are not getting above 2000 check your card / drivers / computerā€¦ If you are getting a 2000+ score then this could be a Blender issue.

Interesting, BMW renders for me but compositing produces a white image, Classroom and other textures seem to work with my setupā€¦

Also worth noting I am getting quite a few crashes of X and the graphics card but nothing repeatableā€¦

1 Like

I also just noticed that everyone who reported at least limited success uses an RDNA2 card, while Luciddream and I both have crashes and we both use 5700XTs.

Filed a bug report: āš“ T97591 Address boundary error rendering with HIP on Linux, maybe RDNA1 specific

2 Likes

Iā€™m pretty sure my 6800xt is running at 2560mhz core frequency and 2120mhz memoryļ¼ŒI looked up the online benchmarks, 6800xt in 3.0 is 63s, my 3.1.2 is 97s, it seems to have become slower (wait for the time to re-download the standard project) but compared to 40s linux system still has nearly 50 percent performance improvement.Of course I donā€™t know how many iterations were used for the review rendering
Blender-3.0.0-Cycles-GPU-Render-Performance-Classroom-680x3836800xt rendering slower than expected at 63s - YouTube

I think the review may have used a much smaller number of iterations I remember 2.93 was 150. I used 3.2 alpha rendering once and it took 2 minutes, slower than 3.1.2

With the Techgage 3.0 review they changed the render resolution of classroom to 2560Ɨ1440 and tile size to 256Ɨ256, I assume they used 300 samples (I got 77 sec when rendering to the Techgage spec for classroom).

Do you know how your Blender benchmark ā€œscoreā€ as opposed to classroom render time. You should get a 2000+ ā€œscoreā€ for a 6800XT on Windows, Linux or Mac.

Why is my hip not as fast as opencl? 2.93.9 version 1920x1080 one-time rendering only takes 1min 17s



ļ¼ˆAs for the gamma problem I found that when there is a master version zip version of certain scenes will appear biased whiteļ¼‰

Changed a 21.q4 driver 36s on the rendering is complete, it really is a driver problem.


The previous driver version was 22.4.1

1 Like

Iā€™d like to try the distribution of linux that you are usingļ¼ŒOnly OS - 5.17.1-arch1-1 I do not know which system is used

I am using Arch Linux, I think its fairly popular, howeverā€¦

  • Linux and Windows when properly configured have similar performance in Blender.
  • Blender donā€™t specifically package for Arch but its in the official repo within a few days and the nightlies work
  • AMD donā€™t package for Arch, however the community has a handy package called opencl-amd that supplies the ā€œHIP bitsā€
    .
Linux Stuff
  • Arch is not a great as a first go at Linux, Ubuntu is much better at that.
  • Arch looks horrible when first installed, needs lots of tweaks and fonts
  • Arch is rolling release so its bleeding edge but lots of things break.
  • You need to specify what display manager you want, I chose XFCE.
  • If you still want to try it I strongly recommend using Archinstall.
  • On the Proā€™s Archā€™s wiki is concise and detailed.