Page MenuHome

Add HIP documentation to the Manaul
ClosedPublic

Authored by Alaska (Alaska) on Nov 11 2021, 10:03 AM.

Details

Summary

This patch attempts to add information regarding the HIP implementation for Blender to the manual.

There is still some feedback I will need to get it finalized.

Diff Detail

Repository
rBM Blender Manual

Event Timeline

Alaska (Alaska) requested review of this revision.Nov 11 2021, 10:03 AM
Alaska (Alaska) created this revision.
Alaska (Alaska) added a comment.EditedNov 11 2021, 10:08 AM

My main questions for feedback are these with regard to the file gpu_rendering.rst:

  1. Is there a better place to direct people towards for a list of GPUs and their architectures than Wikipedia? We used Wikipedia as our source in the Blender 2.93 manual for pointing people towards GPUs with OpenCL support so that's why I used it here.
  2. I have no idea if the AMD Pro drivers are required on Linux for HIP. Can someone comment on that? Or whether or not this is the correct name for the drivers on Linux.
  3. Are there any other major limitations we need to put in the list of unsupported features that isn't planned to be fixed by the Blender 3.0 release? At the moment I only have OSL as an unsupported feature.

Hi Alaska,
as far as I know, Linux support will be for 3.1. 3.0 will be Windows only.

As for limitations, there is "Clip / border image clamping" that is not supported yet. See https://developer.blender.org/T91571

as far as I know, Linux support will be for 3.1. 3.0 will be Windows only.

I will wait for confirmation from others just to be sure.

As for limitations, there is "Clip / border image clamping" that is not supported yet.

This seems like a bug that will probably be fixed before the release of Blender 3.0 and thus I won't include it in the manual. However, if it is something that seems unlikely to be fixed by then, I will add it to the list.

Generalize GPU+CPU rendering in command line options.

as far as I know, Linux support will be for 3.1. 3.0 will be Windows only.

I will wait for confirmation from others just to be sure.

It's correct, 3.0 will be Windows only.

As for limitations, there is "Clip / border image clamping" that is not supported yet.

This seems like a bug that will probably be fixed before the release of Blender 3.0 and thus I won't include it in the manual. However, if it is something that seems unlikely to be fixed by then, I will add it to the list.

It probably will not be fixed for 3.0.

manual/render/cycles/gpu_rendering.rst
64–65

There's a few things to clarify here:

  • This is only supported for discrete graphics cards, not APUs currently.
  • Mention the specific driver version 21.Q4 or newer. That's a beta driver right now, so it may not be obvious which latest one is needed.
  • It's not clear that Linux requires the Pro driver. I would not mention Linux drivers until we have Linux support.
  • Further updates and clarifications
Alaska (Alaska) added a comment.EditedNov 11 2021, 10:05 PM

An extra question that's useful to get answered for the manual is this:
Does HIP support Out-of-Core rendering (off-loading some scene data to RAM to allow the rendering of scenes that exceed the size of VRAM) like CUDA and OptiX?

Alaska (Alaska) added a comment.EditedNov 12 2021, 7:23 AM

@Brecht Van Lommel (brecht) or someone at AMD, are you able to elaborate on This is only supported for discrete graphics cards, not APUs currently.? I probably won't add the information to the manual but it could be useful for triaging bug reports.

What does this mean?

  1. APUs aren't supported because there are no consumer accessible RDNA APUs (yet)?
  2. APUs aren't supported because Blender doesn't package the required binaries by default (a conscious decision made for one of a variety of reasons)?
  3. APUs aren't supported because of fundamental differences in how they behave resulting in changes needing to be made in the HIP compiler and/or Cycles code to accommodate them?
  4. Something else?

Also, I assume the answer is yes, but do laptop GPUs count as "discrete" GPUs. For example will the RX 6800M based on RDNA2 be supported in Cycles with HIP in Blender 3.0?

@Brecht Van Lommel (brecht) or someone at AMD, are you able to elaborate on This is only supported for discrete graphics cards, not APUs currently.? I probably won't add the information to the manual but it could be useful for triaging bug reports.

What does this mean?

  1. APUs aren't supported because there are no consumer accessible RDNA APUs (yet)?

Correct. This one.

  1. APUs aren't supported because Blender doesn't package the required binaries by default (a conscious decision made for one of a variety of reasons)?
  2. APUs aren't supported because of fundamental differences in how they behave resulting in changes needing to be made in the HIP compiler and/or Cycles code to accommodate them?
  3. Something else?

Also, I assume the answer is yes, but do laptop GPUs count as "discrete" GPUs. For example will the RX 6800M based on RDNA2 be supported in Cycles with HIP in Blender 3.0?

Yes

@Brecht Van Lommel (brecht) or someone at AMD, are you able to elaborate on This is only supported for discrete graphics cards, not APUs currently.? I probably won't add the information to the manual but it could be useful for triaging bug reports.

What does this mean?

  1. APUs aren't supported because there are no consumer accessible RDNA APUs (yet)?

Correct. This one.

If that is the case, then we shouldn't make a distinction in the manual about HIP ONLY being supported on discrete GPUs.

This revision is now accepted and ready to land.Nov 17 2021, 12:47 AM