Page MenuHome

Enhance Cycles docs on building CUDA kernel
ClosedPublic

Authored by FeRD (Frank Dana) (ferdnyc) on Aug 15 2018, 10:50 PM.

Details

Summary

The Cycles docs on GPU Rendering contain a section on common error messages encountered when attempting to build the CUDA kernel, including the dreaded "Unsupported GNU version!" when an incompatible GCC is used.

Currently the docs recommend editing the CUDA header files to remove CUDA's version protection, which honestly is a bit shocking as a "solution". It's also unnecessary, since Blender supports the CYCLES_CUDA_EXTRA_CFLAGS environment variable which can be used to customize the kernel compilation process.

This patch expands that section with instructions on how to specify an alternate compiler for CUDA kernel compilation, only recommending that the header files be edited as a last resort if that's unsuccessful.

Diff Detail

Repository
rBM Blender Manual

Event Timeline

This is my first Phabricator submission and I may have mis-filed this diff, apologies if so.

Reuploading against Blender Manual repository.

I'll commit this with some tweaks.

Note that for Cycles it's quite safe to remove this test, as we don't compile any host code with nvcc and so version incompatibilities with GCC are not a problem.

This revision is now accepted and ready to land.Aug 23 2018, 12:41 AM
This revision was automatically updated to reflect the committed changes.

Note that for Cycles it's quite safe to remove this test, as we don't compile any host code with nvcc and so version incompatibilities with GCC are not a problem.

Maybe so, but editing /usr/local/cuda/include/host_config.h doesn't only remove it for Cycles, it disables CUDA's version checks completely.