cuda - 在 Cmake 项目中指定 openmp CUDA 标志

在 cmake 项目中如何将 openmp 标志传递给 NVCC? 我的这个项目的 CMakeLists.txt 看起来像这样,但编译失败并显示“未定义对 `omp_get_wtime' 的引用”消息。

cmake_minimum_required (VERSION 2.8.2)

set (CMAKE_MODULE_PATH 
  "${CMAKE_SOURCE_DIR}/cmake" 
  ${CMAKE_MODULE_PATH}
)

find_package (CUDA 4.0 REQUIRED)

if(OPENMP_FOUND)
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}
${OpenMP_EXE_LINKER_FLAGS}") endif()

set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib)
set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib)

if(UNIX)
  add_definitions(-DUNIX)
endif(UNIX)

add_subdirectory(xor)

CUDA_BUILD_CLEAN_TARGET()

最佳答案

我刚刚发现将 find_package (OpenMP) 添加到之前的脚本中就可以了。

https://stackoverflow.com/questions/9313585/

相关文章:

c# - 在 IIS 服务器上发布 C# 控制台应用程序

sql - 查找某个点之后或之前的值

hive - 使用 Apache Hive session 化我的日志数据的更好方法?

javascript - window.getSelection() 的值在回调期间发生变化

ruby-on-rails - 设计注册表单的路线

visual-studio-2010 - Visual Studio 2010 中缺少添加可部署程序

python - subprocess.Popen 不是线程安全的?

.net - 如何设置 "user cannot change password"AD属性

mysql - 导入mysql数据中断,如何恢复?

php - php中var-export函数的反义词是什么?