小编cse*_*gen的帖子

如何使用CUDA 8.0 nvprof配置OpenCL应用程序

我正在尝试a.out在具有NVIDIA TITAN X和CUDA 8.0的系统中分析OpenCL应用程序.

如果是CUDA应用程序,nvprof ./a.out就足够了.但我发现这不适用于OpenCL应用程序,并显示消息"没有内核被分析".

直到CUDA 7.5,我成功地使用COMPUTE_PROFILE=1下面这个.不幸的是,文档说"在CUDA 8.0版本中已经删除了使用环境变量COMPUTE_PROFILE对命令行分析器的支持."

问题是,除了降级CUDA以使用nvprof配置OpenCL应用程序之外,还有其他方法吗?

profiling cuda opencl nvprof

9
推荐指数
1
解决办法
1162
查看次数

当x为NaN或inf时,为什么ceil实现返回x + x?

我正在阅读glibc中的IEEE-754数学函数的实现。这是floor实现。

float
__floorf(float x)
{
    int32_t i0,j0;
    uint32_t i;
    GET_FLOAT_WORD(i0,x);
    j0 = ((i0>>23)&0xff)-0x7f;
    if(j0<23) {
        if(j0<0) {
        /* return 0*sign(x) if |x|<1 */
        if(i0>=0) {i0=0;}
        else if((i0&0x7fffffff)!=0)
          { i0=0xbf800000;}
        } else {
        i = (0x007fffff)>>j0;
        if((i0&i)==0) return x; /* x is integral */
        if(i0<0) i0 += (0x00800000)>>j0;
        i0 &= (~i);
        }
    } else {
        if(__builtin_expect(j0==0x80, 0)) return x+x; /* inf or NaN */
        else return x;      /* x is integral */
    }
    SET_FLOAT_WORD(x,i0);
    return x;
}
Run Code Online (Sandbox Code Playgroud)

有趣的是if(__builtin_expect(j0==0x80, …

c glibc ieee-754 floor

5
推荐指数
1
解决办法
110
查看次数

标签 统计

c ×1

cuda ×1

floor ×1

glibc ×1

ieee-754 ×1

nvprof ×1

opencl ×1

profiling ×1