最新帖子

页: [1] 2 3 ... 10
1
CUDA / cuda-gdb 显示的错误信息
« 最后发表 作者 2017012835 五月 15, 2023, 09:16:50 am »
请问一下,用 cuda-gdb 调试程序输入了 r 命令,得到了图片上的报错内容,之前的报错都是定位到了程序中的某一行,但现在这个报错不知道说的是什么意思,请问出现这样的错误可能是哪里的问题呢?
2
CUDA / 多个线程进行判断修改同一个全局内存遇到的问题
« 最后发表 作者 jinyer 三月 30, 2023, 11:21:58 am »
程序代码: [选择]
int *d_flag;
checkCudaErrors(cudaMalloc((void**)&d_flag, 1*sizeof(int)));
cudaMemset(d_flag, 1, sizeof(int)*1);  //初始化为1
block = 96;
isIter<<<(M+block-1)/block,block>>>(d_flag, d_check);
isIter核函数想实现的功能是 :flag[0]初始化是1,若check数组有一个数不为0,则将flag[0]置为0
程序代码: [选择]
__global__ void isIter(int *flag, int *checkResult) {
int idx = threadIdx.x + blockDim.x * blockIdx.x;
if(idx < M){
if(checkResult[idx] != 0){
flag[0] = 0;
}
}
}
可这样老是会输出flag[0]=16843009(也有部分线程进入if语句里边,输出flag[0]=0),可将flag[0]复制到CPU读取的时候是16843009,请问这是为什么啊?
flag存储在全局内存,不应该若有线程修改的话值就变为0,没有线程修改还是保持原值1吗?
3
CUDA / Re: 我的GPU过程没进入计算
« 最后发表 作者 2017012835 三月 09, 2023, 08:23:59 pm »
要不你用cuda-gdb或cuda-memcheck检查一下内存,我之前也发生过这种情况,就是一个设备上的数组空间大小分配错了,以及核函数中if条件句中的条件都不成立
4
CUDA / Re: Warp 分歧
« 最后发表 作者 2017012835 三月 09, 2023, 08:21:08 pm »
问题已解决。在樊老师的书中第十章第一节解释了:算Warp分支,但是如果两个分支中有一个分支不包含指令,那么即使发生了分歧,也不会显著影响程序性能。
5
CUDA / 我的GPU过程没进入计算
« 最后发表 作者 17638737569 三月 09, 2023, 11:28:47 am »
在我的并行计算中,call的子程序前后打了PRINT都出来了相应的数值,但是在该子程序中输出PRINT*,"123"并没有在运行界面输出
6
CUDA / cuda fortran怎么实现和openmp的混合编程
« 最后发表 作者 17638737569 三月 09, 2023, 09:27:51 am »
cuda fortran怎么实现和openmp的混合编程,我有一个代码使用的是openmp并行加速,但是我想调用他的线程去使用GPU加速,不知道怎么实现,是否有相关的案例?
7
培训信息 / GTC 征文活动——GTC讲座认领清单
« 最后发表 作者 sisiy 三月 08, 2023, 11:13:17 am »
 
   标题   链接
1   【分享NVIDIA GTC 23大会干货】从乌龟到兔子转变:人工智能如何将任何车手变成赛车手 [S51328]   https://blog.csdn.net/qq_29858649/article/details/129754450?spm=1001.2014.3001.5502
2   【分享NVIDIA GTC 23大会干货】加速生成式AI在生物学和医疗领域的应用   http://t.csdn.cn/Yh5Bp
3   【分享NVIDIA GTC 23大会干货】人工智能加速计算和科学计算的进展   https://blog.csdn.net/hug_clone/article/details/129746621?spm=1001.2014.3001.5501
4   【分享NVIDIA GTC技术干货】Efficient Inference of Extremely Large Transformer Models [S51088]   https://blog.csdn.net/The_Dark_Shark/article/details/129720939?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22129720939%22%2C%22source%22%3A%22The_Dark_Shark%22%7D
5   [分享NVIDIA GTC技术干货]Portable Acceleration of HPC Applications using ISO C++ — Part 1 [DLIT51169]   https://zhuanlan.zhihu.com/p/616236973
6   【分享NVIDIA GTC干货】如何设计优化CUDA程序   https://blog.csdn.net/qq_41663081/article/details/129704438?spm=1001.2014.3001.5501
7   【分享NVIDIA GTC技术干货】在人工智能驱动的企业中创建和执行有效的网络防御战略   https://blog.csdn.net/qq_36630208/article/details/129716709
8   【分享NVIDIA GTC大会干货】基于真实世界的数据集的深度强化学习   http://t.csdn.cn/n6vSy
9   【分享NVIDIA GTC干货】CUDA 新特性和发展   http://t.csdn.cn/Wyuzp
10   [分享NVIDIA GTC2023干货] CUDA: New Features and Beyond   http://t.csdn.cn/56Bzj
11   【分享NVIDIA GTC技术干货】Developing Robust Multi-Task Models for AV Perception [SE50006]   http://t.csdn.cn/dj5Aw
12   【分享NVIDIA GTC 23大会干货】使用 NVIDIA Jetson Software 加速边缘 AI [SE52433]   https://blog.csdn.net/P1nkDeft_/article/details/129760762?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22129760762%22%2C%22source%22%3A%22P1nkDeft_%22%7D
13   [GTC2023 Poster SpotLight]——用于GPU系统的高效MPI广播相关算法   https://blog.csdn.net/yang_sx/article/details/129695550
14   【分享NVIDIA GTC大会干货】与Jetson嵌入式平台工程师的深度挖掘问答   http://t.csdn.cn/X4q0k
15   【分享NVIDIA GTC 23大会干货】AI 初创企业在中国市场的发展和机会——探索中国 AI 初创力量   http://t.csdn.cn/NLvwx
16   【分享NVIDIA GTC干货】建立对人工智能的信任——以自动驾驶汽车为例   http://t.csdn.cn/2ZjJk
17   【分享NVIDIA GTC技术干货】Introduction to Autonomous Vehicles [S51168]   https://blog.csdn.net/m0_57778023/article/details/129718053?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22129718053%22%2C%22source%22%3A%22m0_57778023%22%7D
18   【分享NVIDIA GTC】使用 RAPIDS 加速 Python 中的数据科学 [S51281a]   https://zhuanlan.zhihu.com/p/616109929
19   Arash Vahdat:NVIDIA研究科学家谈论生成式AI及其影响   https://zhuanlan.zhihu.com/p/616340423
8
CUDA / 有关对缓存优化的问题
« 最后发表 作者 皮皮虾and皮皮猪 三月 01, 2023, 05:54:35 pm »
问题1:
请问L1/L2 Cache上只有local memory和global memory吗?如果SM读写数据是否和CPU一样先访问L1,再考虑L2,最后在内存?
问题2:
如下图所示,L1 Cache的hit Rate仅51%,请问这方面应该如何优化呢?
9
CUDA / Re: 共享内存数组大小及bank conflict
« 最后发表 作者 queqd 三月 01, 2023, 05:40:09 pm »
您好,您第一个问题是不是数组索引越界了,for循环里的S_A[threadIdx.x * 12 + j],其中threadIdx.x最大是127,当它取最大值(或没有取到最大值时),threadIdx.x * 12 + j都超过了您设置的S_A[128]里面的128
您好,我按照您说的索引越界问题进行了修改将S_A定义设置为__shared__ float S_A[1536],程序可以正确运行,但是将定义设置为__shared__ float S_A[1280]程序也能正确运行,所以对共享内存数组大小问题还是有疑问。


另外,在我的核函数中对共享内存的使用如下
程序代码: [选择]
kernel2(float* A,float* M, float* Y,float* X)
{
    const int n = blockDim.x * blockIdx.x + threadIdx.x; 
       E[n]=0;

        __shared__ float S_E[sizeof(float) * 320];       
        __shared__ float S_A[sizeof(float) * 320];   

       S_E[threadIdx.x] = E[n];
__syncthreads();
        for (int j = 0; j < 12; j++)
        {           
                S_A[threadIdx.x * 12 + j] = A[n * 12 + j];

                S_A[threadIdx.x * 12 + j]=M[Y[n]]+X[n * 12 + j];     
atomicAdd(&S_E[threadIdx.x],S_A[threadIdx.x * 12 + j]/2); 
        }
__syncthreads();


}
请问如何才能最大程度减轻共享内存S_A和S_E共享内存的bank冲突问题?
10
CUDA / 核函数启动时间
« 最后发表 作者 2017012835 三月 01, 2023, 03:44:59 pm »
请问一下,想将一个CPU程序转成GPU程序时,对于原本的c++函数,现在要写成核函数,可能会将原来一个函数分解成现在好几个核函数才能实现。请问核函数多了会不会对程序效率造成较大影响,是否应该尽量在一个核函数中实现呢?
页: [1] 2 3 ... 10