V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NVIDIA CUDA
PyCUDA
Caffe
different
V2EX  ›  CUDA

cuda 计算 titan v 为何比 rtx2080ti 更慢?

  •  
  •   different · 2019-07-06 16:59:28 +08:00 · 11628 次点击
    这是一个创建于 1961 天前的主题,其中的信息可能已经有所发展或是发生改变。

    指的是双精度。

    不知道是不是编译的时候双精度需要添加一些其他指令?

    下面是 kernel。

    void CSR(int i,unsigned int N, unsigned int *xadj,unsigned int *adjncy, double *dataxx,double *datayy,double *datazz, double *Cspin, double *CHDemag,double *CH)

    {

    if(i < N)
    {
    	double dot[3]={0,0,0};
    	for(int n = xadj[i] ; n < xadj[i+1]; n++)
    	{
    		unsigned int neigh=adjncy[n];
    		printf("%d\n",n);
    		printf("%f,%f,%f\n",dataxx[n],datayy[n],datazz[n]);
    		double val[3] = {dataxx[n],datayy[n],datazz[n]};
    		for(unsigned int co = 0 ; co < 3 ; co++)
    		{
    			dot[co]+=(val[co]*Cspin[3*neigh+co]);
    		}
    	}
    	double a=CHDemag[3*i];
    	double b=CHDemag[3*i+1];
    	double c=CHDemag[3*i+2];
    	CH[3*i]=a+dot[0];
    	CH[3*i+1]=b+dot[1];
    	CH[3*i+2]=c+dot[2];
    }
    

    }

    通过显卡参数来看,rtx 应该是没有双精度计算单元的。而 titan v 的双精度应该还行。

    而我跑的时候,titan v 比 rtx 慢了三分之一。。

    求解

    第 1 条附言  ·  2019-07-06 18:00:27 +08:00
    __global__ void CSpMV_CSR(unsigned int N,
    unsigned int *xadj,unsigned int *adjncy,
    double *dataxx,double *datayy,double *datazz,
    double *Cspin,
    double *CHDemag,double *CH)
    {

    int i = blockDim.x*blockIdx.x + threadIdx.x;


    if(i < N)
    {
    double dot[3]={0,0,0};
    for(int n = xadj[i] ; n < xadj[i+1]; n++)
    {
    unsigned int neigh=adjncy[n];
    double val[3] = {dataxx[n],datayy[n],datazz[n]};
    for(unsigned int co = 0 ; co < 3 ; co++)
    {
    dot[co]+=(val[co]*Cspin[3*neigh+co]);
    }
    }
    CH[3*i]=CHDemag[3*i]+dot[0];
    CH[3*i+1]=CHDemag[3*i+1]+dot[1];
    CH[3*i+2]=CHDemag[3*i+2]+dot[2];
    }
    }
    2 条回复    2020-10-12 12:51:56 +08:00
    different
        1
    different  
    OP
       2019-07-06 18:01:02 +08:00
    主题的代码发错了,改正的代码在附言里面
    Testlinuxtous
        2
    Testlinuxtous  
       2020-10-12 12:51:56 +08:00 via iPhone
    有联系方式交流学习吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4966 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 05:37 · PVG 13:37 · LAX 21:37 · JFK 00:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.