following compiler error occurs on our machine after compilation in release mode (not in emu mode).
Assertion failure at line 829 of …/…/be/cg/NVISA/exp_loadstore.cxx:
Compiler error in file c:/windows/temp/tmp_00000708-2.i during Code_Expansion phase:
texture variable NYI
nvopencc ERROR: C:\NVIDIA\CUDA\bin/…/open64/lib//be.exe returned a non-zero status 1
Our kernel accesses three different textures and on each of them we use a lot of texfetches. For the first texture we use 21 texfetches, for the second call 12. For the last texture we need again 21 texfetches. Heres a short example how we do it.
float3 derived_g; // we set each element later to zero // texture operations, with texX_g as our textures derived_g.x += texfetch(tex0_g, x+1, y-1); derived_g.x -= texfetch(tex0_g, x-1, y-1); // .. and so on for all textures
Our textures are declared:
typedef texture<uchar1, 2, cudaReadModeElementType> input_type; input_type tex0_g; input_type tex1_g; input_type tex2_g;
If we comment out two of our 54 texfetches everything works fine. If we add them again, we see the compiler error, but only in Release and Debuge mode, not in EmuRelease and EmuDebug.
Any hints or suggestions about our problem?