makefile - 为 CUDA 程序创建 makefile

标签 makefile nvcc

我想使用 CUDA 和 C++ 自动编译玩具库。然后我写一个Makefile如下

CC=g++
NVCC=nvcc
CXXFLAGS= -fopenmp -O3 -Wextra -std=c++11
CUDAFLAGS= -std=c++11 -c -arch=sm_20
LIBS= -lopenblas -lpthread -lcudart -lcublas
LIBDIRS=-L/usr/local/cuda-7.5/lib64
INCDIRS=-I/usr/local/cuda-7.5/include
matrix_cuda.o: marix_cuda.cu
     $(NVCC) $(CUDAFLAGS)   matrix_cuda.cu
all: matrix_cuda.o
        $(CC) -o test matrix_blas.cpp alg.cpp test.cpp matrix_cuda.o $(LIBDIRS) $(INCDIRS) $(LIBS) $(CXXFLAGS)
clean:
    rm -rf test *.o

输入 make 我明白了

make: *** No rule to make target `marix_cuda.cu', needed by `matrix_cuda.o'.  Stop.

我以前从未写过 Makefile。我哪里出错了?

最佳答案

我认为你的 CUDA 文件名有错字

matrix_cuda.o: marix_cuda.cu
     $(NVCC) $(CUDAFLAGS)   matrix_cuda.cu

恕我直言应该是

matrix_cuda.o: matrix_cuda.cu
     $(NVCC) $(CUDAFLAGS)   matrix_cuda.cu

关于makefile - 为 CUDA 程序创建 makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34108372/

相关文章:

c++ - make/gmake 的条件依赖

java - make 和 ant 的真正用途是什么?

c++ - 如何使用 MSVC 构建 Gnuplot? (syscfg.h(377) : error)

gcc - 如何使用使用 nvcc 编译的 Cuda 共享库来编译 OpenCV 代码?

c++ - CUDA 在运行时检查 nvcc "-arch"-flag

c++ - 在 OpenWrt Makefile 中链接 pcap 库

makefile - 获取目标的依赖项列表

python - Theano 安装,nvcc 不在路径中

c++ - nvcc 致命 : Value 'sm_13' is not defined for option 'gpu-architecture'

c - 编译 CUDA 时出错