Announcement

Collapse
No announcement yet.

A curiosity about the RT's code

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • A curiosity about the RT's code

    These are questions based of long-shot hunches regarding AMD GPU users' inability to run the OpenCL client but I figured even a remote chance they might discover the cause is better than none.

    By chance does it search for NVidia PhysX software when launching/rendering? I'm curious about the OpenCL client in particular. As reported in other threads, I've only once been able to get my 7950 to render the test scene (one combination of Catalyst drivers and RT) and its performance was poor, far below what could be expected as something that performs so well in other OpenCL apps and it's been non-functional with every software/driver release since. I've read that certain games install PhysX on even systems without NVidia hardware. I've got it in my Control Panel -> Programs and Features list and wonder if maybe that's tricking RT to try to execute some NVidia specific code/kernels despite acknowledging AMD GPUs in the server application readouts.

    On a related curiosity, I've noticed that RT searches for a "cl_nv_compiler_options" object and reports it not found on my Tahiti hardware in the server window. It may be a non-issue but I've read statements out on the internet that RT's incompatibility with GCN is due to code that calls for CUDA particular instructions as part of a legacy from days when the program was built to CUDA only. I'm not certain how accurate these statements are but the "cl_nv_compiler_options" call does raise the question of whether RT's OpenCL client tries to execute instructions that may in fact be CUDA/PhysX specific. I also recall you, vlado, saying something about AMD cards being unable to get "the full version of our OpenCL code to run properly" in the "amd 7970 anybody?" thread. Can someone on the team clear this up for me?

    Cheers,

    Riley
    Last edited by Valtiel; 14-08-2013, 11:06 PM. Reason: grammatical derp

  • #2
    Originally posted by Valtiel View Post
    By chance does it search for NVidia PhysX software when launching/rendering?
    Nope. We don't need PhysX in any way.

    I'm curious about the OpenCL client in particular. As reported in other threads, I've only once been able to get my 7950 to render the test scene (one combination of Catalyst drivers and RT) and its performance was poor, far below what could be expected as something that performs so well in other OpenCL apps and it's been non-functional with every software/driver release since.
    The guys at AMD have the full source code of the OpenCL version of V-Ray RT. They have had plenty of time to study it and fix/optimize their compiler. They admitted that they have issues in that regard and that V-Ray RT is the most complex OpenCL code they have ever seen


    I've read that certain games install PhysX on even systems without NVidia hardware. I've got it in my Control Panel -> Programs and Features list and wonder if maybe that's tricking RT to try to execute some NVidia specific code/kernels despite acknowledging AMD GPUs in the server application readouts.
    Nope, nothing of the sort.

    On a related curiosity, I've noticed that RT searches for a "cl_nv_compiler_options" object and reports it not found on my Tahiti hardware in the server window.
    We should probably remove that message. We only pass one additional nVidia-specific compiler flag to the OpenCL compiler if the extension is present.

    It may be a non-issue but I've read statements out on the internet that RT's incompatibility with GCN is due to code that calls for CUDA particular instructions as part of a legacy from days when the program was built to CUDA only.
    Nope, nothing of the sort. We rebuilt the OpenCL version from scratch.

    I'm not certain how accurate these statements are but the "cl_nv_compiler_options" call does raise the question of whether RT's OpenCL client tries to execute instructions that may in fact be CUDA/PhysX specific.
    We use the extension only to pass one flag for the nVidia OpenCL compiler in order to limit the maximum number of registers used by the kernel.

    I also recall you, vlado, saying something about AMD cards being unable to get "the full version of our OpenCL code to run properly" in the "amd 7970 anybody?" thread. Can someone on the team clear this up for me?
    You have seen for yourself that it doesn't run properly

    Best regards,
    Vlado
    I only act like I know everything, Rogers.

    Comment


    • #3
      Awesome, thanks for clearing that up vlado (and so promptly). I'll continue giving AMD guff in their beta driver feedback forms.

      Cheers!

      Comment

      Working...
      X