CUDA nvcc主机代码慢

时间:2012-06-20 08:11:07

标签: cuda nvcc

使用nvcc编译器时遇到问题。我发现使用nvcc 4.2编译的主机代码运行速度比使用g ++ 4.4.6编译的相同代码慢约5倍。我正在使用NVIDIA SDK Makefile模板来编译发布配置中的代码。在两种情况下都使用-O2优化。这怎么可能,因为nvcc应该将主机代码传递给主机编译器。有什么想法吗?

这是我的makefile:

# Add source files here
EXECUTABLE  := App
verbose=1
# C/C++ source files (compiled with gcc / c++)
CCFILES     := \
    cmdl.cpp main.cpp
# Cuda source files (compiled with cudacc)
CUFILES_sm_30       := AppCuda.cu AppHost.cpp 

# Do not link with CUTIL
OMIT_CUTIL_LIB := 1

################################################################################
# Rules and targets
ROOTDIR=/home/snpsyn/NVIDIA_GPU_Computing_SDK/C/common
include $(ROOTDIR)/../common/common.mk

1 个答案:

答案 0 :(得分:1)

使用nvcc或g ++编译c ++代码应该没有区别(CUDA compiler driver

但是尝试直接使用g ++编译所有c ++代码。在您给出的示例中,AppHost.cpp文件正在传递给nvcc而不是g ++。

如果你能提供源代码和makefile,那将会有很大的帮助。