Daz3D and IRAY, in TCC mode

JD_MortalJD_Mortal Posts: 758
edited April 2018 in Daz Studio Discussion

Will Daz be supporting TCC mode for GPUs?

TCC mode is used to force the GPU to become "just cuda-processing 3D hardware", instead of being treated as a "3D Video display driver", managed through windows new WDDM v2 "Video-pool", which attempts to use all your GPU memory as one whole "chunk", but reserves illogical levels of VRAM in the process, limiting and slowing down GPU rendering by 10-20%.

For WIndows 10, this gives us back our full memory and procesing power again, where the latest updates has taken it away, and it can't otherwise be restored. Because Windows doesn't believe users need the OPTION to NOT USE WDDM "Unified driver mode".

Currently, at the moment, IRAY does, but, through Daz3D, it fails. The cards render once, real fast, then Daz3D can't seem to read memory settings or "purge memory", from the cards. Resulting in, or caused from the cards "dissapearing", with unspecified errors. (At which point it falls back to CPU rendering.)

I did manage, with a few restarts, and time, to get the cards to be seen again. However, it was impossible to tell if they were going to fail, or not, without seeing the logs, before each render. (You should see that it is constantly giving errors for the iray preview, and will thus, fail to render with the cards.) Nothing in Daz3D actually indicates the cards are actually "ready". If they exist, they can be selected, but existing and being able to run, are not the same. Talking about the advanced settings where you can select the dead cards that are clearly still throwing failure errors.

I do get some speed gains if I set the "3D rendering settings" in the NVIDIA control panel, to "Optomize for compute performance", and set PhysX to the CPU, instead of using the GPU for that. (Which consumes Cuda-core cycles. If it is being done on the GPU.)

However, when I set my two "non-display" cards into TCC mode, as opposed to WDDM mode... That is when the trouble begins with Daz3D.

Supported by "Pascal" and "Volta" architecture, Titan-Xp, Titan-V and various other professional cards, all gain greatly from this mode. I am unsure about the 1080 series, 1070, 1060, 1050, 1080-Ti...

Post edited by JD_Mortal on

Comments

  • JD_MortalJD_Mortal Posts: 758
    edited April 2018

    The other limitation, which I am sure is where Daz3D is having issues with... is the following...

    Windows does not see the cards. (As a video-device) They can't be used for Video-out. They can't be used for Direct-X or OpenGL or PhysX, etc... (Shouldn't is the correct word to use, but any apparent "use", is simply a bug, not intended, if it works like a video-card.)

    They are essentially just a co-processor bank of Cuda-Cores and Memory-Blocks. So, though IRAY sees them, and tells "Daz3D" that they are there... If Daz3D is using typical "windows calls", to talk to the cards, it will be waiting forever for a reply back. It has to talk to them on the same level as IRAY, or use IRAY's code to be the go-between to the cards status.

    You must use "nvidia-smi.exe", with admin access, to set the cards into mode TCC, from the default of WDDM. (Demands a reboot to initialize the cards correctly, so windows does not try to use them as video cards, at that point.)

    Post edited by JD_Mortal on
  • Only the Professional level cards support TCC, as far as I know, so I'm not sure what percentage of DAZ Studio users would benefit from this.

  • JD_MortalJD_Mortal Posts: 758
    edited April 2018

    I am not sure of the percentage... But it is any card with Pascal, not just "professional level"... I assume you are thinking of the workstation Quadro/Tesla cards. I would imagine that Daz3D wants to support "Professionals", with "Professional equipment"...

    Steam says 91% uses DX12 which is Titan and higher. The top 18 cards are all NVIDIA and 9/10 series.
    http://store.steampowered.com/hwsurvey/videocard/

    On a consumer level, these are a majority of all sales of all cards... over 72% of all cards sold, in 2017.
    https://wccftech.com/nvidia-amd-discrete-gpu-market-share-report-q3-2017/

    NVIDIA only manufactures Pascal and Volta cards now. All future IRAY versions will only support those, and next gen cards, soon.

    https://devtalk.nvidia.com/default/topic/959472/cuda-setup-and-installation/how-to-know-what-cards-allow-tcc-mode-/
    TCC mode should be available for Tesla GPUs, most Quadro desktop GPUs, and GeForce Titan family (desktop) GPUs.

    This also includes the 10-series cards... 1080, 1070... (Maybe the 9-series too. That is unclear. I didn't research them.)
    Only the GTX-Titan (Maxwell/Keppler?) of the GTX series, does not support it.
    https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#driver-model
    http://docs.nvidia.com/gameworks/content/developertools/desktop/nsight/tesla_compute_cluster.htm

    That is a majority of the cards being purchased now, and all facing the WDDM v2.3 issues with windows 10.

    TCC has been around since, at-least, 2011,. It is not anything new... But the WDDM v2.3 issue, in windows 10, is new... (Only months old)

    Google WDDM 2.3 and you will see the quickly growing number of user-issues around it, once they figure-out that it is WDDM and not something-else. NVIDIA site has the most replies. It's almost like AMD paid them to release that version, to thwart just NVIDIA cards :P

    Post edited by JD_Mortal on
  • Given what txbob over on the nVidia forum said, and my personal experince trying to set the GTX 1060 in my MSI Apache Pro to TCC, I stand by my previous post.

  • A quick trip down nvidia-smi lane where you try to set TCC mode on a given GPU will answer the question directly. There's no "trick" to it. It either supports TCC or does not.

    The 10 series is not automatically included in the Titan family. They're in the Pascal family, but that doesn't mean the Tesla and Quadro feature sets are enabled on them.

Sign In or Register to comment.