-
-
1
-
3
-
0wsl2可以嘛?
-
2
-
0本人大学生,刚学机器学习相关课程,想问一下,就是只要对应的环境里的库是cuda版本,比如torch cuda的,就可以直接使用吗?需要代码上进行额外设置吗?还是只要检测到环境里的库是cuda版本就会直接用GPU?
-
4我想验证这个载板上的算力,网上的一些方法都不太行。有大佬帮忙吗?
-
2如题,想请教一下如果有一个二维数组data[M][N],想求它在某个维度上的argmax,有没有什么好的使用CUDA加速的办法?最简单的办法是把某一个维度分配到block上然后用for循环去求,但是感觉这种做法没有充分利用GPU。更进一步的如果源数组是一个有很多维度的tensor,如data[N1][N2][N3][...][Nk]这种,有没有什么高效的办法实现这个函数?
-
1编译的时候静态断言了,原因是Unexpected compiler version, expected CUDA 12.4 or newer. 但是我的CUDA版本明明已经是14.6了。 想知道如何解决
-
7
-
1
-
0今天写代码时发现用cudamemcpy把25M个数据点从gpu向cpu中复制时,发现非常耗时,需要50多秒,注释掉前面两句trust::inclusive_scan和trust::copy后发现只需要几十毫秒,请问大佬这个问题怎么解决,inclusive_scan是实现代码功能必须要有的用来计算前缀和的代码,实际应用不能注释掉。问ai说是可能是由于内存碎片化导致的?应该怎么解决?
-
0
-
0
-
3
-
4线上答疑,英语要好,985/211本科大三以上,研究生更好
-
1在Linux上安装CUDA,前面都很顺利,Ubuntu20.04+CUDA11.7,最后安装的时候如图,说nvidia-芭芭拉-OUbuntu1不是官方软件包,怎么办呀
-
2
-
3
-
1
-
4
-
16
-
0531.14版本的驱动应该是测试版吧?全网都搜不到这个版本的驱动了。 531.18的驱动能不能搭配531.14的安装包?
-
2#define LEFT_ROW 1000 #define LEFT_COL 2400 #define RIGHT_ROW 2400 #define RIGHT_COL 1000 #define RES_ROW 1000 #define RES_COL 1000 #define LENGTH 32 __global__ void multiMatrix(int** left, int** right, int** result) { int x_pos = blockIdx.x * blockDim.x + threadIdx.x; int y_pos = blockIdx.y * blockDim.y + threadIdx.y; if (x_pos < LEFT_COL && y_pos < RIGHT_ROW) { for (int k = 0; k < LEFT_ROW; k++) { result[x_pos][y_pos] += left[x_pos][k] * right[k][y_pos]; } } } int main(void) { int** arr_left; int** arr_right; int** cpu_result; int** gpu_result; cudaMallocManaged((void**)&
-
1开始用的cudaevent计时,现在想尝试用Nsight System分析,目前在cuda api以及kernel下找到了核函数的事件,请问哪个才是准确的运行时间。但两者都和使用cudaevent存在时间差距,这个差距怎么理解,感谢大佬回答!
-
1
-
0在文件sumArraysOnGPU-timer.cu中,设置block.x=1 023,重新编译并运行。与执行配置为block.x=1 024的运行结果进行比较,试着解释其区别和原因。
-
1
-
2
-
2各位大佬好,如果我有两段等长数据,想要在device上找到第一段数据中的最大值,记录下索引(有多个相等最大值就记录所有索引),然后找到第二段数据中符合索引的元素的最大值和它的索引(如果有多个要任意一个就行)。之前每个数据作为寄存器变量遇到了同步的问题。数据段长度在每次循环会变(循环也在device上)而且最大可能会占用4*10^8个字节。请问各位大佬有什么好办法吗?就是数据放在哪一级内存中用什么算法比较好之类的。谢谢。
-
1terminate called after throwing an instance of 'thrust::system::system_error' > what(): after reduction step 1: cudaErrorInvalidDeviceFunction: invalid device function
-
0
-
1
-
2
-
0
-
0佬们,ldmatrix是把8*8矩阵加载到一组连续的32位寄存器里吗,我看参数不是间接寻址啊。咋传一个寄存器就搞定了
-
11
-
1__device__ bool is_valid_box(uchar *left, int x, int y, int width, int height,int filterWidth, int winBox[]) { for (int i = 0; i < filterWidth; i++) { for (int j = 0; j < filterWidth; j++) { // 不超出图像边界 int clamp_x = __min(__max(x + j - filterWidth / 2, 0), width - 1); int clamp_y = __min(__max(y + i - filterWidth / 2, 0), height - 1); // 结果计算 int num = left[clamp_y * width + clamp_x]; if (num <= 0)//跳过窗口内有值小于0的线程 return false; } } for (int i = 0; i < filterWidth; i++) { for (int j = 0; j < filterWidth; j++) { int clamp_x = __min(__ma
-
0
-
8
-
0
-
0如题 有没有大佬能解答一下 在使用numba对矩阵进行计算的时候出现下面这个问题是什么原因造成的呢 网上也没有搜到类似的问题 numba.cuda.cudadrv.driver.CudaAPIError: [700] Call to cuModuleUnload results in UNKNOWN_CUDA_ERROR
-
4我想在核函数或者device函数里进行矩阵运算,cuda有内置的矩阵类型和相应函数吗?