If the separate compilation units that are fed as input to nvlink
contain cuda kernels and device functions that invoke device functions marked as __forceinline__
, will these functions be inlined? Assume they would be inlined if one put all the source code into a single file.
答案 0 :(得分:1)
如果作为输入馈送给nvlink的单独的编译单元包含cuda内核和调用标记为
__forceinline__
的设备函数的设备函数,这些函数会被内联吗?
据我所知,CUDA设备代码链接器无法执行此操作。 __forceinline__
指令是编译器级别的操作,在编译之后,无法在PTX或SASS中将代码标记为可内联。 CUDA设备代码编译器应发出警告,提示您使用了外部内联函数,但未定义。
如果要内联编译函数,则必须(毫无疑问)使用编译器,而不是链接器。