[有奖问答]什么情况下会生成mad24汇编指令

无意中看到CUDA中有 mad24.lo.u32.u16.u16.u32的汇编指令。应该是整数的乘加操作。Cuad中是否有mad24这条汇编指令?
一般来说访问数组都会有形如A[a*b+c](int a,b,c)
我的程序中有大量这种形式的数组访问,但是查看ptx却发现没有mad24指令,只有大量的mad.f32指令(浮点型计算产生的)。
什么样情况下代码会编译成mad24指令?(GPU是G260)

ps:让编译器输出ptx文件及中间过程是否加-keep就可以了?
项目用有很多个.cu,但最后只得到一个main.ptx,是否所有.cu文件的device端汇编代码都包含在这个main.ptx中了?

1,使用内置指令
2是的

内置指令是不是内嵌汇编的意思

不是!cuda的汇编是PTX,而且也不支持嵌入。
内置指令有点类似于sse的C包装

原来还有这么高端的东西,不错我研究研究,谢

到时分享 一下啊