cuda程序中核函数中肯定不能用math.h下的函数了,因为那些函数是CPU下函数,在核函数中,cuda有自己的数学运算接口,在#include <thrust/extrema.h>下,包括求最大值、最小值、次方、平方根,要注意不同数据类型函数稍有不同,下面我的数据是float类型
#include <thrust/extrema.h>
float m = 2.0,n=3.0;
float max_mn=fmaxf(m,n);
float mim_mn=fminf(m,n);
printf("------------max_mn---%f\n", max_mn);
printf("------------mim_mn---%f\n", mim_mn);
printf("------------sqrt---%f\n", sqrt(m));
printf("------------powf---%f\n", powf(m, 2));