列出帖子

该操作将允许你查看该会员所有的帖子,注意你只能看到你有权限看到的板块的帖子。


显示所有帖子 - tent01

页: [1]
1
CUDA / Re: 一句printf结果就变了?
« 于: 十二月 29, 2019, 06:14:27 pm »
两幅图中代码的唯一区别就是在代码的第863行的那句printf输出语句上,输出了4个变量,前3个都一样,只有第4个不一样。
上图中的print输出语句为
if(tid==39)printf("%d\t%.66e\t%.66e\t%.66e\n",tid,x_vi[tid],x0_vi[tid],dxf_vi_bcan * alpha*1.9);
下图中的print输出语句为
if(tid==39)printf("%d\t%.66e\t%.66e\t%.66e\n",tid,x_vi[tid],x0_vi[tid],alpha*1.9);

863这行输出的第2个变量是同一个变量,但两种情况下输出结果不同
上图情况
7.707478064115458327165697482996620237827301025390625000000000000000e-01   
下图情况
7.707478064115459437388722108153160661458969116210937500000000000000e-01

2
CUDA / Re: 一句printf结果就变了?
« 于: 十二月 29, 2019, 05:14:32 pm »
两幅图中代码的唯一区别就是在代码的第863行的那句printf输出语句上,输出了4个变量,前3个都一样,只有第4个不一样,然后就造成了计算结果的差异,差异可以从结果截图中看出。

3
CUDA / 一句printf结果就变了?
« 于: 十二月 27, 2019, 05:43:10 pm »
如图,两幅图中,代码更改的唯一差异就是在核函数中间的那句printf语句上的最后一个变量不一样,程序的计算结果就变了。这是怎么回事,请指教!

4
资源下载 /
« 于: 二月 11, 2019, 09:58:03 pm »
 CUDA专家手册 ,试读一下

5
CUDA /
« 于: 一月 15, 2019, 05:03:37 pm »
    以下代码可以看显卡支持不支持cooperative kernel launch。
(Ubuntu18.10+Nvidia-driver-396+CUDA9.2+GTX1060测试通过)
#include
int main(int argc, char **argv)
{
   int dev = 0;
   cudaDeviceProp deviceProp = { 0 };
   cudaGetDeviceProperties(&deviceProp, dev);
   printf("deviceProp.cooperativeLaunch=%d\n", deviceProp.cooperativeLaunch);
   if (!deviceProp.cooperativeLaunch)
   {
      printf("Selected GPU (%d) does not support Cooperative Kernel Launch, Waiving the run\n", dev);
   }
   else
   {
      printf("Selected GPU (%d) supports Cooperative Kernel Launch!\n", dev);
   }
   return 0;
}

6
CUDA /
« 于: 一月 14, 2019, 04:43:15 pm »
/usr/local/cuda-9.2/samples/1_Utilities/deviceQuery$ ./deviceQuery
./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 1060 6GB"
  CUDA Driver Version / Runtime Version          9.2 / 9.2
  CUDA Capability Major/Minor version number:    6.1
  Total amount of global memory:                 6076 MBytes (6371475456 bytes)
  (10) Multiprocessors, (128) CUDA Cores/MP:     1280 CUDA Cores
  GPU Max Clock rate:                            1709 MHz (1.71 GHz)
  Memory Clock rate:                             4004 Mhz
  Memory Bus Width:                              192-bit
  L2 Cache Size:                                 1572864 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
  Maximum Layered 1D Texture Size, (num) layers  1D=(32768), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(32768, 32768), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 2 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device supports Compute Preemption:            Yes
  Supports Cooperative Kernel Launch:            Yes
  Supports MultiDevice Co-op Kernel Launch:      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

7
CUDA /
« 于: 一月 14, 2019, 04:17:30 pm »

果然在Linux下就支持了

8
CUDA / 有用过cooperative group的线程网格作为一个GROUP的吗
« 于: 一月 09, 2019, 02:55:40 pm »
有用过cooperative group的线程网格作为一个GROUP的吗,能不能给一个你自己写的小例子呀

NVIDA自带的例子是“reductionMultiBlockCG”,但拷到自己的新建项目里,就出错,
错误提示如下
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 10.0.targets(712,9): error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin\nvcc.exe" -gencode=arch=compute_60,code=\"sm_60,compute_60\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64" -x cu  -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include"  -G   --keep-dir x64\Debug -maxrregcount=0  --machine 64 --compile -cudart static  -g   -DWIN32 -DWIN64 -D_DEBUG -D_CONSOLE -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Fdx64\Debug\vc140.pdb /FS /Zi /RTC1 /MDd " -o x64\Debug\reductionMultiBlockCG.cu.obj "D:\test\test\test\reductionMultiBlockCG.cu"”已退出,返回代码为 255。


请各位[名词2]指导!!!
请各位[名词2]指导!!!

9
资源下载 /
« 于: 十二月 30, 2018, 11:46:11 pm »
在页面下面看到了。。。

10
资源下载 /
« 于: 十二月 30, 2018, 11:44:12 pm »
求密码,已报名。

11
CUDA / 支持cooperative kernel launch的显卡有哪些?
« 于: 十二月 30, 2018, 10:41:27 am »
支持cooperative  kernel launch的显卡有哪些?
(GTX1060不支持。。。)

12
CUDA /
« 于: 十二月 13, 2018, 01:26:55 pm »
这个例子中到这一步后,无法继续让sum能让其他block知道。如果想让它们知道,你需要使用CUDA 9+的coopera ...

谢谢版主回复和指导。如果一个kernel可以做这些事情的话,有一些变量做为线程的局部变量就可以了,做不成的话,就需要把这些变量作为全局变量写出去,然后再开的另一个kernel还需要把这些全局变量读进来。

13
CUDA /
« 于: 十二月 13, 2018, 10:48:43 am »
以下内容来自我同事Sisiy:

本章节主要说了threadfence系列函数, 后面还给出了一个单步规约求和的例子.先 ...

谢谢楼主的详细回答,比之前明白的多了一些。“后面的一个部分则是选举出来最后结束的一个block, 该block进行第二步工作, 读取之前的blocks们的内部的和, 然后再求出最终的和。”这样一个kernel中就算出了全部的和sum,这个全部的和sum这个时候有没有办法让全部线程块的全部线程都知道?我还想在这个kernel中根据我计算的sum来继续执行其他命令。

14
CUDA / __threadfence 应该怎么理解
« 于: 十二月 12, 2018, 08:27:33 am »
__threadfence 应该怎么理解?百度只能看到两三篇文章,还没有看明白

页: [1]