Tag: cublas

使用CUBLAS查找最大值和最小值

我在掌握为什么我的函数在使用CUBLAS的双精度范围内找到最大值和最小值时无法正常工作时遇到问题。 代码如下: void findMaxAndMinGPU(double* values, int* max_idx, int* min_idx, int n) { double* d_values; cublasHandle_t handle; cublasStatus_t stat; safecall( cudaMalloc((void**) &d_values, sizeof(double) * n), “cudaMalloc (d_values) in findMaxAndMinGPU”); safecall( cudaMemcpy(d_values, values, sizeof(double) * n, cudaMemcpyHostToDevice), “cudaMemcpy (h_values > d_values) in findMaxAndMinGPU”); cublasCreate(&handle); stat = cublasIdamax(handle, n, d_values, sizeof(double), max_idx); if (stat != CUBLAS_STATUS_SUCCESS) printf(“Max failed\n”); […]

如何在CUDA / cublas中转置矩阵?

假设我在GPU上有一个尺寸为A*B的矩阵,其中B (列数)是假设C样式的前导维度。 在CUDA(或Cublas)中是否有任何方法将此矩阵转换为FORTRAN样式,其中A (行数)成为主要维度? 如果它可以在host->device传输期间进行转置,同时保持原始数据不变,那就更好了。