小编use*_*565的帖子

CUDA中更快的矩阵乘法

目前,我在cuda c中制作了一个神经网络程序.因为我需要操纵矩阵乘法,所以我没有将CUBLAS用于MM.我为MM使用以下代码.我想知道是否有人有一些建议让它更快,这可能非常有用,因为我需要在学习期间使用MM数百万次.谢谢.这是MakeFile:

# cuda root
_CUDA_ROOT_ = /usr/local/cuda

NVCC = nvcc
# include and lib paths
INCLUDES=-I${_CUDA_ROOT_}/include
LIB_PATH=-L${_CUDA_ROOT_}/lib64

# libraries to link against
LIB= -lcudart -lcublas
CU_SRC= main.cu
EXE=$(CU_SRC:.cu=)
#------------------------------
# Choose your gpu arch
SM = sm_35
all: $(EXE)
$(EXE): $(CU_SRC)
        $(NVCC) -arch $(SM) $(CU_SRC) -o $(EXE) $(LIB_PATH) $(LIB)

clean:
        rm -f *.o *.cu_o $(EXE)
Run Code Online (Sandbox Code Playgroud)

这是MM代码:

__global__
void matrixMulti(float* A_d, float* B_d, float* C_d, int m, int k, int n)
{
    __shared__ float ds_A[TILE_WIDTH][TILE_WIDTH];
    __shared__ float ds_B[TILE_WIDTH][TILE_WIDTH];
    int col …
Run Code Online (Sandbox Code Playgroud)

c cuda matrix-multiplication

2
推荐指数
1
解决办法
3213
查看次数

标签 统计

c ×1

cuda ×1

matrix-multiplication ×1