Cooperative groups with NVRTC

Hello,

is it possible to use cooperative groups together with NVRTC? I am asking, because everytime I am including the header file of cooperative groups “cooperative_groups.h” I am getting error messages, that several functions are undefined when I am compiling the kernel with NVRTC:

/usr/local/cuda-9.0/include/cooperative_groups_helpers.h(214): error: identifier “__barrier_sync” is undefined
/usr/local/cuda-9.0/include/cooperative_groups.h(421): error: identifier “__syncwarp” is undefined
/usr/local/cuda-9.0/include/cooperative_groups.h(451): error: identifier “__fns” is undefined
/usr/local/cuda-9.0/include/cooperative_groups.h(451): error: identifier “__shfl_sync” is undefined

Do I have to include other header files as well or what am I missing?

If this is also important:

The device, which I am using, is a NVIDIA GTX 970 and its Compute Capability is 5.2. The cooperative groups feature should work for devices with Compute Capability 3.0+ (https://devblogs.nvidia.com/cooperative-groups/). I am specifying its architecture with the compiler option “-arch=compute_52”.

I also found out that the declarations of the undefined functions are all in the ‘sm_30_intrinsics.h’ file which is in CUDAs include folder. But when I am including ‘sm_30_intrinsics.h’, the same errors are occuring.