gpt4 book ai didi

c++ - 由于 cuda 生成的文件,Cmake 重新运行

转载 作者:行者123 更新时间:2023-11-30 03:33:33 26 4
gpt4 key购买 nike

我有以下情况:我有一个 CMake 文件,它应该编译几个二进制目标。而且我的项目中也有CUDA

find_package(CUDA REQUIRED)
include_directories(${CUDA_INCLUDE_DIRS})
add_libraries_to_linker

当我运行我的 cmake 时,一切都很好。第一个 make target a 命令也运行顺利,但第二个 make 命令检测到 cuda 生成的文件早于 Makefile 并重新生成导致项目重建的 cmake。如何禁用 cmake 再生?我错过了什么吗?

编辑:我认为应该编辑我的问题。

我有一个 Caffe 框架,从使用它的源代码和二进制文件构建。当我启用 GPU 时 - 由于编译 make target a,Cuda 生成它的文件,所以当我运行另一个 make target 时,我看到类似的东西

Re-run cmake file: Makefile older than: Caffe/src/caffe/CMakeFiles/cuda_compile.dir/layers/cuda_compile_generated_cudnn_relu_layer.cu.o.depend

当 GPU 关闭时一切正常 - 任何 make 命令都不会导致重新生成

最佳答案

答案已在以下链接中找到:

简介:一切正常。这是 FindCUDA.cmake 的正常行为。

在第一次 make run 之后,.depend 文件将被包含到 CMake 项目中,第二次 make run 将重新编译而不重新生成 .depend 文件。第二次make后一切正常,一个模块的改动不会导致整个工程重新编译。

https://cmake.org/pipermail/cmake/2011-January/042173.html

关于c++ - 由于 cuda 生成的文件,Cmake 重新运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42761301/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com