CUDA使用cmake单独编译问题

CUDA使用cmake单独编译问题,cuda,compilation,cmake,code-separation,Cuda,Compilation,Cmake,Code Separation,我有一个CUDA项目,我用cmake编译。它工作得很好,直到我想添加一个包含新文件(.cu和.cuh)中描述的设备函数的新类。这是CMakeList文件: project(SINS) cmake_minimum_required(VERSION 2.8) # CUDA set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "./") find_package(CUDA) # This command includes a lot of new stuff,

我有一个CUDA项目,我用cmake编译。它工作得很好,直到我想添加一个包含新文件(.cu和.cuh)中描述的设备函数的新类。这是CMakeList文件:

project(SINS)

cmake_minimum_required(VERSION 2.8)

# CUDA
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "./")

find_package(CUDA) # This command includes a lot of new stuff, see FindCUDA.cmake for details

include_directories(${CUDA_INCLUDE_DIRS}/include)

set(CUDA_LIBRARIES ${CUDA_LIBRARIES} "$ENV{CUDA_BIN_PATH}/lib64/libcurand.so")

[find ODEINT stuff]

include_directories(${PROJECT_SOURCE_DIR}/code/src)
include_directories(${PROJECT_SOURCE_DIR}/code/include)

set(SINS_SRC
    code/src/SINS_constants.cu
    code/src/SINS_IOManager.cu
    code/src/SINS_statistics.cu
    code/src/SINS_bufferGas.cu
)

set(SINS_HEADER
    code/include/SINS_constants.cuh
    code/include/SINS_IOManager.cuh
    code/include/SINS_statistics.cuh
    code/include/SINS_ODEINT.cuh
    code/include/SINS_bufferGas.cuh
)

set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-arch=sm_20;--compiler-bindir=/usr/bin/g++;-DSINS_COMPUTE_ON_GPU")

# Compile application
CUDA_ADD_EXECUTABLE(SINS code/SINS_core.cu ${SINS_SRC} ${SINS_HEADER})

# Link it to CUDA
target_link_libraries(SINS ${CUDA_LIBRARIES})
在SINS_ODEINT.cuh中:

#include "SINS_bufferGas.cuh"

struct motion_system
{   
    struct motion_functor
    {
        void operator()(T zippedStates) const
        {
            [...]
            SINS_bufferGas::doTheRobot(y);
            [...]
        }
    };
}
在SINS_bufferGas.cuh中:

#ifndef SINS_bufferGas_H
#define SINS_bufferGas_H

#include "SINS_constants.cuh"

class SINS_bufferGas
{
    public:
        __host__ __device__ static void doTheRobot(value_type &x);
};

#endif
在SINS_bufferGas.cu中:

#include "SINS_bufferGas.cuh"
__host__ __device__ void SINS_bufferGas::doTheRobot(value_type &x) {x = -666.666;}
汇编结果如下:

ptxas fatal   : Unresolved extern function '_ZN14SINS_bufferGas10doTheRobotERd'
我尝试在CUDA_NVCC_标志中添加-dc,设置变量CUDA_SEPARABLE_COMPILATION(来自FindCUDA.cmake),将本文中建议的内容进行多种组合,试图理解什么是(无cmake)但没有用

我使用的是CUDA 5.0,可以使用2.0计算功能和cmake 2.8.7-我非常希望您能解释一下发生了什么,以及如何很好地修复它。谢谢你的建议

编辑:添加David Kernin要求的信息

CMake输出:

-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done

~~~ CUDA ~~~
CUDA_BIN_PATH set to /usr/local/cuda-5.0.
-- Found CUDA: /usr/local/cuda-5.0 (found version "5.0")

~~~ ODEINT ~~~
ODEINT_PATH environment variable found and set to : /a/given/path/software/odeint

~~~ ROOT ~~~
-- Found ROOT 5.34/01 in /opt/cern/root/root_v5.34.01

~~~ Host or device ? ~~~
Simulation will be computed on GPUs.
-arch=sm_20;--compiler-bindir=/usr/bin/g++;-DSINS_COMPUTE_ON_GPU

~~~ Double or short precision ? ~~~
Double precision will be used.

~~~ Stepper ? ~~~
Fixed controlled step size will be used.

~~~ Electric field ? ~~~
Trapping field ON

~~~ Space charge ? ~~~
Space charge OFF

~~~ Buffer gas ? ~~~
Buffer gas cooling ON (EXPERIMENTAL)

-- Configuring done
-- Generating done
-- Build files have been written to: /a/path/workdir
以及make的完整输出:

/usr/bin/cmake -H/data/pieges/fabian/SINS -B/data/pieges/fabian/SINS/workdir --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /data/pieges/fabian/SINS/workdir/CMakeFiles /data/pieges/fabian/SINS/workdir/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: entrant dans le répertoire « /data/pieges/fabian/SINS/workdir »
make -f CMakeFiles/SINS.dir/build.make CMakeFiles/SINS.dir/depend
make[2]: entrant dans le répertoire « /data/pieges/fabian/SINS/workdir »
/usr/bin/cmake -E cmake_progress_report /data/pieges/fabian/SINS/workdir/CMakeFiles 5
/usr/bin/cmake -E cmake_progress_report /data/pieges/fabian/SINS/workdir/CMakeFiles 1
/usr/bin/cmake -E cmake_progress_report /data/pieges/fabian/SINS/workdir/CMakeFiles 2
/usr/bin/cmake -E cmake_progress_report /data/pieges/fabian/SINS/workdir/CMakeFiles 3
/usr/bin/cmake -E cmake_progress_report /data/pieges/fabian/SINS/workdir/CMakeFiles 4
[ 40%] [ 80%] [100%] [100%] [100%] Building NVCC (Device) object CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_bufferGas.cu.o
cd /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src && /usr/bin/cmake -E make_directory /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/.
Building NVCC (Device) object CMakeFiles/SINS.dir/code/./SINS_generated_SINS_core.cu.o
cd /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code && /usr/bin/cmake -E make_directory /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/.
Building NVCC (Device) object CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_constants.cu.o
Building NVCC (Device) object CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_IOManager.cu.o
Building NVCC (Device) object CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_statistics.cu.o
cd /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src && /usr/bin/cmake -E make_directory /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/.
cd /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src && /usr/bin/cmake -E make_directory /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/.
cd /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src && /usr/bin/cmake -E make_directory /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/.
cd /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src && /usr/bin/cmake -D verbose:BOOL=1 -D build_configuration:STRING= -D generated_file:STRING=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_IOManager.cu.o -D generated_cubin_file:STRING=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_IOManager.cu.o.cubin.txt -P /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_IOManager.cu.o.cmake
cd /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src && /usr/bin/cmake -D verbose:BOOL=1 -D build_configuration:STRING= -D generated_file:STRING=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_bufferGas.cu.o -D generated_cubin_file:STRING=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_bufferGas.cu.o.cubin.txt -P /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_bufferGas.cu.o.cmake
cd /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src && /usr/bin/cmake -D verbose:BOOL=1 -D build_configuration:STRING= -D generated_file:STRING=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_constants.cu.o -D generated_cubin_file:STRING=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_constants.cu.o.cubin.txt -P /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_constants.cu.o.cmake
cd /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src && /usr/bin/cmake -D verbose:BOOL=1 -D build_configuration:STRING= -D generated_file:STRING=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_statistics.cu.o -D generated_cubin_file:STRING=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_statistics.cu.o.cubin.txt -P /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_statistics.cu.o.cmake
cd /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code && /usr/bin/cmake -D verbose:BOOL=1 -D build_configuration:STRING= -D generated_file:STRING=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/./SINS_generated_SINS_core.cu.o -D generated_cubin_file:STRING=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/./SINS_generated_SINS_core.cu.o.cubin.txt -P /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/SINS_generated_SINS_core.cu.o.cmake
-- Removing /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_constants.cu.o
-- Removing /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_IOManager.cu.o
-- Removing /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_bufferGas.cu.o
-- Removing /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_statistics.cu.o
-- Removing /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/./SINS_generated_SINS_core.cu.o
/usr/bin/cmake -E remove /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_constants.cu.o
/usr/bin/cmake -E remove /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/./SINS_generated_SINS_core.cu.o
/usr/bin/cmake -E remove /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_bufferGas.cu.o
/usr/bin/cmake -E remove /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_IOManager.cu.o
/usr/bin/cmake -E remove /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_statistics.cu.o
-- Generating dependency file: /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/SINS_generated_SINS_core.cu.o.NVCC-depend
-- Generating dependency file: /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_statistics.cu.o.NVCC-depend
-- Generating dependency file: /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_IOManager.cu.o.NVCC-depend
-- Generating dependency file: /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_bufferGas.cu.o.NVCC-depend
-- Generating dependency file: /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_constants.cu.o.NVCC-depend
/usr/local/cuda-5.0/bin/nvcc -M -D__CUDACC__ /data/pieges/fabian/SINS/code/src/SINS_bufferGas.cu -o /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_bufferGas.cu.o.NVCC-depend -m64 -DHAS_ROOT -DSINS_DO_ELECTRIC_FIELD -DSINS_DO_BUFFER_GAS -Xcompiler ,\"-g\" -arch=sm_20 --compiler-bindir=/usr/bin/g++ -DSINS_COMPUTE_ON_GPU -DNVCC -I/usr/local/cuda-5.0/include -I/usr/local/cuda-5.0/include/include -I/home/fabian/software/odeint -I/opt/cern/root/root_v5.34.01/include -I/data/pieges/fabian/SINS/code/src -I/data/pieges/fabian/SINS/code/include -I/usr/local/cuda-5.0/include
/usr/local/cuda-5.0/bin/nvcc -M -D__CUDACC__ /data/pieges/fabian/SINS/code/src/SINS_constants.cu -o /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_constants.cu.o.NVCC-depend -m64 -DHAS_ROOT -DSINS_DO_ELECTRIC_FIELD -DSINS_DO_BUFFER_GAS -Xcompiler ,\"-g\" -arch=sm_20 --compiler-bindir=/usr/bin/g++ -DSINS_COMPUTE_ON_GPU -DNVCC -I/usr/local/cuda-5.0/include -I/usr/local/cuda-5.0/include/include -I/home/fabian/software/odeint -I/opt/cern/root/root_v5.34.01/include -I/data/pieges/fabian/SINS/code/src -I/data/pieges/fabian/SINS/code/include -I/usr/local/cuda-5.0/include
/usr/local/cuda-5.0/bin/nvcc -M -D__CUDACC__ /data/pieges/fabian/SINS/code/src/SINS_IOManager.cu -o /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_IOManager.cu.o.NVCC-depend -m64 -DHAS_ROOT -DSINS_DO_ELECTRIC_FIELD -DSINS_DO_BUFFER_GAS -Xcompiler ,\"-g\" -arch=sm_20 --compiler-bindir=/usr/bin/g++ -DSINS_COMPUTE_ON_GPU -DNVCC -I/usr/local/cuda-5.0/include -I/usr/local/cuda-5.0/include/include -I/home/fabian/software/odeint -I/opt/cern/root/root_v5.34.01/include -I/data/pieges/fabian/SINS/code/src -I/data/pieges/fabian/SINS/code/include -I/usr/local/cuda-5.0/include
/usr/local/cuda-5.0/bin/nvcc -M -D__CUDACC__ /data/pieges/fabian/SINS/code/SINS_core.cu -o /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/SINS_generated_SINS_core.cu.o.NVCC-depend -m64 -DHAS_ROOT -DSINS_DO_ELECTRIC_FIELD -DSINS_DO_BUFFER_GAS -Xcompiler ,\"-g\" -arch=sm_20 --compiler-bindir=/usr/bin/g++ -DSINS_COMPUTE_ON_GPU -DNVCC -I/usr/local/cuda-5.0/include -I/usr/local/cuda-5.0/include/include -I/home/fabian/software/odeint -I/opt/cern/root/root_v5.34.01/include -I/data/pieges/fabian/SINS/code/src -I/data/pieges/fabian/SINS/code/include -I/usr/local/cuda-5.0/include
/usr/local/cuda-5.0/bin/nvcc -M -D__CUDACC__ /data/pieges/fabian/SINS/code/src/SINS_statistics.cu -o /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_statistics.cu.o.NVCC-depend -m64 -DHAS_ROOT -DSINS_DO_ELECTRIC_FIELD -DSINS_DO_BUFFER_GAS -Xcompiler ,\"-g\" -arch=sm_20 --compiler-bindir=/usr/bin/g++ -DSINS_COMPUTE_ON_GPU -DNVCC -I/usr/local/cuda-5.0/include -I/usr/local/cuda-5.0/include/include -I/home/fabian/software/odeint -I/opt/cern/root/root_v5.34.01/include -I/data/pieges/fabian/SINS/code/src -I/data/pieges/fabian/SINS/code/include -I/usr/local/cuda-5.0/include
-- Generating temporary cmake readable file: /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_bufferGas.cu.o.depend.tmp
-- Generating temporary cmake readable file: /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_constants.cu.o.depend.tmp
-- Generating temporary cmake readable file: /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_statistics.cu.o.depend.tmp
/usr/bin/cmake -D input_file:FILEPATH=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_constants.cu.o.NVCC-depend -D output_file:FILEPATH=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_constants.cu.o.depend.tmp -P /usr/share/cmake-2.8/Modules/FindCUDA/make2cmake.cmake
/usr/bin/cmake -D input_file:FILEPATH=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_bufferGas.cu.o.NVCC-depend -D output_file:FILEPATH=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_bufferGas.cu.o.depend.tmp -P /usr/share/cmake-2.8/Modules/FindCUDA/make2cmake.cmake
/usr/bin/cmake -D input_file:FILEPATH=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_statistics.cu.o.NVCC-depend -D output_file:FILEPATH=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_statistics.cu.o.depend.tmp -P /usr/share/cmake-2.8/Modules/FindCUDA/make2cmake.cmake
-- Generating temporary cmake readable file: /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_IOManager.cu.o.depend.tmp
/usr/bin/cmake -D input_file:FILEPATH=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_IOManager.cu.o.NVCC-depend -D output_file:FILEPATH=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_IOManager.cu.o.depend.tmp -P /usr/share/cmake-2.8/Modules/FindCUDA/make2cmake.cmake
-- Copy if different /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_constants.cu.o.depend.tmp to /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_constants.cu.o.depend
-- Copy if different /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_statistics.cu.o.depend.tmp to /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_statistics.cu.o.depend
-- Copy if different /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_bufferGas.cu.o.depend.tmp to /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_bufferGas.cu.o.depend
/usr/bin/cmake -E copy_if_different /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_constants.cu.o.depend.tmp /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_constants.cu.o.depend
/usr/bin/cmake -E copy_if_different /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_statistics.cu.o.depend.tmp /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_statistics.cu.o.depend
/usr/bin/cmake -E copy_if_different /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_bufferGas.cu.o.depend.tmp /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_bufferGas.cu.o.depend
-- Removing /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_constants.cu.o.depend.tmp and /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_constants.cu.o.NVCC-depend
-- Removing /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_statistics.cu.o.depend.tmp and /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_statistics.cu.o.NVCC-depend
-- Removing /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_bufferGas.cu.o.depend.tmp and /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_bufferGas.cu.o.NVCC-depend
/usr/bin/cmake -E remove /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_constants.cu.o.depend.tmp /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_constants.cu.o.NVCC-depend
/usr/bin/cmake -E remove /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_statistics.cu.o.depend.tmp /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_statistics.cu.o.NVCC-depend
-- Copy if different /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_IOManager.cu.o.depend.tmp to /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_IOManager.cu.o.depend
/usr/bin/cmake -E remove /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_bufferGas.cu.o.depend.tmp /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_bufferGas.cu.o.NVCC-depend
/usr/bin/cmake -E copy_if_different /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_IOManager.cu.o.depend.tmp /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_IOManager.cu.o.depend
-- Generating /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_constants.cu.o
-- Generating /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_statistics.cu.o
-- Generating /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_bufferGas.cu.o
/usr/local/cuda-5.0/bin/nvcc /data/pieges/fabian/SINS/code/src/SINS_constants.cu -c -o /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_constants.cu.o -m64 -DHAS_ROOT -DSINS_DO_ELECTRIC_FIELD -DSINS_DO_BUFFER_GAS -Xcompiler ,\"-g\" -arch=sm_20 --compiler-bindir=/usr/bin/g++ -DSINS_COMPUTE_ON_GPU -DNVCC -I/usr/local/cuda-5.0/include -I/usr/local/cuda-5.0/include/include -I/home/fabian/software/odeint -I/opt/cern/root/root_v5.34.01/include -I/data/pieges/fabian/SINS/code/src -I/data/pieges/fabian/SINS/code/include -I/usr/local/cuda-5.0/include
/usr/local/cuda-5.0/bin/nvcc /data/pieges/fabian/SINS/code/src/SINS_statistics.cu -c -o /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_statistics.cu.o -m64 -DHAS_ROOT -DSINS_DO_ELECTRIC_FIELD -DSINS_DO_BUFFER_GAS -Xcompiler ,\"-g\" -arch=sm_20 --compiler-bindir=/usr/bin/g++ -DSINS_COMPUTE_ON_GPU -DNVCC -I/usr/local/cuda-5.0/include -I/usr/local/cuda-5.0/include/include -I/home/fabian/software/odeint -I/opt/cern/root/root_v5.34.01/include -I/data/pieges/fabian/SINS/code/src -I/data/pieges/fabian/SINS/code/include -I/usr/local/cuda-5.0/include
-- Removing /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_IOManager.cu.o.depend.tmp and /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_IOManager.cu.o.NVCC-depend
/usr/local/cuda-5.0/bin/nvcc /data/pieges/fabian/SINS/code/src/SINS_bufferGas.cu -c -o /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_bufferGas.cu.o -m64 -DHAS_ROOT -DSINS_DO_ELECTRIC_FIELD -DSINS_DO_BUFFER_GAS -Xcompiler ,\"-g\" -arch=sm_20 --compiler-bindir=/usr/bin/g++ -DSINS_COMPUTE_ON_GPU -DNVCC -I/usr/local/cuda-5.0/include -I/usr/local/cuda-5.0/include/include -I/home/fabian/software/odeint -I/opt/cern/root/root_v5.34.01/include -I/data/pieges/fabian/SINS/code/src -I/data/pieges/fabian/SINS/code/include -I/usr/local/cuda-5.0/include
/usr/bin/cmake -E remove /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_IOManager.cu.o.depend.tmp /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/SINS_generated_SINS_IOManager.cu.o.NVCC-depend
-- Generating /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_IOManager.cu.o
/usr/local/cuda-5.0/bin/nvcc /data/pieges/fabian/SINS/code/src/SINS_IOManager.cu -c -o /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_IOManager.cu.o -m64 -DHAS_ROOT -DSINS_DO_ELECTRIC_FIELD -DSINS_DO_BUFFER_GAS -Xcompiler ,\"-g\" -arch=sm_20 --compiler-bindir=/usr/bin/g++ -DSINS_COMPUTE_ON_GPU -DNVCC -I/usr/local/cuda-5.0/include -I/usr/local/cuda-5.0/include/include -I/home/fabian/software/odeint -I/opt/cern/root/root_v5.34.01/include -I/data/pieges/fabian/SINS/code/src -I/data/pieges/fabian/SINS/code/include -I/usr/local/cuda-5.0/include
/opt/cern/root/root_v5.34.01/include/TMap.h(134): warning: unrecognized GCC pragma

/opt/cern/root/root_v5.34.01/include/TMap.h(135): warning: unrecognized GCC pragma

/opt/cern/root/root_v5.34.01/include/TMap.h(176): warning: unrecognized GCC pragma

-- Generating temporary cmake readable file: /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/SINS_generated_SINS_core.cu.o.depend.tmp
/usr/bin/cmake -D input_file:FILEPATH=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/SINS_generated_SINS_core.cu.o.NVCC-depend -D output_file:FILEPATH=/data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/SINS_generated_SINS_core.cu.o.depend.tmp -P /usr/share/cmake-2.8/Modules/FindCUDA/make2cmake.cmake
/opt/cern/root/root_v5.34.01/include/TMap.h(134): warning: unrecognized GCC pragma

/opt/cern/root/root_v5.34.01/include/TMap.h(135): warning: unrecognized GCC pragma

/opt/cern/root/root_v5.34.01/include/TMap.h(176): warning: unrecognized GCC pragma

-- Copy if different /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/SINS_generated_SINS_core.cu.o.depend.tmp to /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/SINS_generated_SINS_core.cu.o.depend
/usr/bin/cmake -E copy_if_different /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/SINS_generated_SINS_core.cu.o.depend.tmp /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/SINS_generated_SINS_core.cu.o.depend
-- Removing /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/SINS_generated_SINS_core.cu.o.depend.tmp and /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/SINS_generated_SINS_core.cu.o.NVCC-depend
/usr/bin/cmake -E remove /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/SINS_generated_SINS_core.cu.o.depend.tmp /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/SINS_generated_SINS_core.cu.o.NVCC-depend
-- Generating /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/./SINS_generated_SINS_core.cu.o
/usr/local/cuda-5.0/bin/nvcc /data/pieges/fabian/SINS/code/SINS_core.cu -c -o /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/./SINS_generated_SINS_core.cu.o -m64 -DHAS_ROOT -DSINS_DO_ELECTRIC_FIELD -DSINS_DO_BUFFER_GAS -Xcompiler ,\"-g\" -arch=sm_20 --compiler-bindir=/usr/bin/g++ -DSINS_COMPUTE_ON_GPU -DNVCC -I/usr/local/cuda-5.0/include -I/usr/local/cuda-5.0/include/include -I/home/fabian/software/odeint -I/opt/cern/root/root_v5.34.01/include -I/data/pieges/fabian/SINS/code/src -I/data/pieges/fabian/SINS/code/include -I/usr/local/cuda-5.0/include
Generated /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_bufferGas.cu.o successfully.
Generated /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_constants.cu.o successfully.
Generated /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_IOManager.cu.o successfully.
Generated /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/src/./SINS_generated_SINS_statistics.cu.o successfully.
/opt/cern/root/root_v5.34.01/include/TMap.h(134): warning: unrecognized GCC pragma

/opt/cern/root/root_v5.34.01/include/TMap.h(135): warning: unrecognized GCC pragma

/opt/cern/root/root_v5.34.01/include/TMap.h(176): warning: unrecognized GCC pragma

/data/pieges/fabian/SINS/code/SINS_core.cu(316): warning: variable "collisionTable" is used before its value is set

/data/pieges/fabian/SINS/code/SINS_core.cu(215): warning: variable "dummy" was set but never used

/opt/cern/root/root_v5.34.01/include/TMap.h(134): warning: unrecognized GCC pragma

/opt/cern/root/root_v5.34.01/include/TMap.h(135): warning: unrecognized GCC pragma

/opt/cern/root/root_v5.34.01/include/TMap.h(176): warning: unrecognized GCC pragma

/data/pieges/fabian/SINS/code/SINS_core.cu(316): warning: variable "collisionTable" is used before its value is set

/data/pieges/fabian/SINS/code/SINS_core.cu(215): warning: variable "dummy" was set but never used

ptxas fatal   : Unresolved extern function '_ZN14SINS_bufferGas10doTheRobotERd'
-- Removing /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/./SINS_generated_SINS_core.cu.o
/usr/bin/cmake -E remove /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/./SINS_generated_SINS_core.cu.o
CMake Error at SINS_generated_SINS_core.cu.o.cmake:256 (message):
  Error generating file
  /data/pieges/fabian/SINS/workdir/CMakeFiles/SINS.dir/code/./SINS_generated_SINS_core.cu.o


make[2]: *** [CMakeFiles/SINS.dir/code/./SINS_generated_SINS_core.cu.o] Erreur 1
make[2]: quittant le répertoire « /data/pieges/fabian/SINS/workdir »
make[1]: *** [CMakeFiles/SINS.dir/all] Erreur 2
make[1]: quittant le répertoire « /data/pieges/fabian/SINS/workdir »
make: *** [all] Erreur 2

添加cmake和makefile verbose标志()并发布日志。您还可以发布SINS_core.cu的内容吗?它所在的函数可能被声明为differentlySure,尽管我不确定这是否会有帮助(而且它太大了:s),因为很多调用都隐藏在ODEINT/推力库中。本质上,这被声明为:运动系统束(SINS\u常数::NB\u离子);然后调用积分器:Nb_steps+=integrate_adaptive(theStepper()),bunch,globalState,TIME_INIT,TIME_MAX,DT_OBS,streaming_observer());如果这太大了,你可以使用nopaste()之类的服务,很好,我不知道这个网站!以下是链接: