cuda程序中使用 asm
error: impossible register constraint in ‘asm’
楼主你 应该
这样 as
(为何答案是这样 ?? 你光说出错。代码呢!!!)
楼主如果真心想问,请在1天内补充上您的代码。否则将作为灌水处理。感谢配合。
谢谢您的回答.
我更改后的程序如下
global void compute(int tmp)
{
double value = 60;
float x = 60;
asm(“facos%.x %1,%0” : “=d”(value) : “f”(x));
float xv = x;
//double tmpv = value; //fatal : syntax error 想获得函数运行后的结果但这句出错
}
什么原因呢?
楼主您这几个地方有问题:
(1)ptx无facos指令。
(2)您的ptx语句没有以分号(;)结尾
(3)您给出了2个值(value和x), 却使用了3个操作数(%.x, %1, %0)
请修正上述内容。
谢谢,那么我怎么能够查到cuda定义的math函数呢.
没有一个直接的built-in function到ptx的对照表格的。
特别是有些函数,ptx没有直接支持,是通过软件实现的。
您可以尝试对照您的ptx和您的cuda c代码来查看对照格式。
或者:
您通读ptx手册,以便知道哪些math函数在ptx里是哪些指令名字。
谢谢解答