草庐IT

CMAKE_CUDA_ARCHITECTURES

全部标签

c++ - CMake + 库达 : compile cpp files in Cuda-mode (--x=cu)

假设我有一个文件,我们称它为foo.cpp,我的目标是在cuda模式下用nvcc编译这个文件。在命令行中,这可以通过调用轻松完成:nvcc--x=cufoo.cpp我正在苦苦挣扎的是让CMake做同样的事情。事实证明,CMake命令cuda_add_executable(foofoo.cpp)将过滤*.cpp文件并使用c++编译器(而不是nvcc)。请注意,将所有文件重命名为*.cu不是一种选择,因为代码库还必须支持非cuda构建。 最佳答案 在FindCUDAsourcecode我找到了一个选项来为特定的非.cu文件激活CUDA编

c++ - 将 CMake 与 LLVM 一起使用时出错

所以我正在尝试使用LLVM构建一个玩具编译器,并且我想使用CMake作为我的构建系统。我尝试使用sampleCMakeLists.txt来自LLVM的网站,但在运行cmake时遇到以下错误:CMakeErrorat/usr/share/llvm-3.8/cmake/LLVMConfig.cmake:178(include):includecouldnotfindloadfile:/usr/share/llvm/cmake/LLVMExports.cmakeCallStack(mostrecentcallfirst):CMakeLists.txt:4(find_package)CMake

c++ - 如何从 CMake 中隐藏 Visual Studio 中的目标

我正在使用CMake生成.sln。我想使用GoogleTest并使用那种代码来添加新测试:add_executable(my_testtest/my_test.cpp)target_link_libraries(my_testgtestgmock_main)add_test(NAMEmy_testCOMMANDmy_test)它工作正常,但是当我打开我的.sln时,我的所有目标都出现在解决方案资源管理器中:库、单元测试等。有没有办法隐藏这些目标? 最佳答案 您不能在cmake(ATM)中仅明确地做到这一点,但这里有一种方法可以更有效

c++ - CUDA 动态并行,性能差

我们在使用CUDA动态并行时遇到了性能问题。目前,CDP的执行速度至少比传统方法慢3倍。我们做了最简单的可重现代码来展示这个问题,就是把一个数组的所有元素的值都增加+1。即,a[0,0,0,0,0,0,0,.....,0]-->kernel+1-->a[1,1,1,1,1,1,1,1,1]这个简单示例的目的只是为了查看CDP是否可以像其他的一样执行,或者是否存在严重的开销。代码在这里:#include#include#defineBLOCKSIZE512__global__voidkernel_parent(int*a,intn,intN);__global__voidkernel_s

c++ - CMake 与 Qt3d 用于 Qt5?

我已经从ubuntu-developers存储库(我在Ubuntu13.04下)安装了Qt5和Qt3d,我想用CMake编译一个非常简单的应用程序(我的版本是2.8.10.1)。Qthelloworld的工作CMakeLists.txt如下:cmake_minimum_required(VERSION2.8.8)project(testproject)#Findincludesincorrespondingbuilddirectoriesset(CMAKE_INCLUDE_CURRENT_DIRON)#InstructCMaketorunmocautomaticallywhenneed

c++ - CMake:如何更改子目录项目目标的属性?

我试图在我的子项目(在本例中为poco)中组织目标,但我发现无法为ALIAS目标修改属性。我希望我的外部项目中的目标位于它们自己的文件夹中,而不是散布在项目树中的任何地方(比如visualstudio生成器)。有没有更简单的方法来添加具有我自己的属性的项目?所以代替:-CMakePredefinedTargets-ALL_BUILD-INSTALL-...-MyTargets-SomeLibrary-SomeExe-CppUnit-Crypto-Data-...我要:-CMakePredefinedTargets-ALL_BUILD-INSTALL-...-MyTargets-Some

c++ - CUDA : NVCC gives controlling expression is constant warning on assert

我在这样的断言语句中收到警告controllingexpressionisconstant:assert(...&&"errormessage");为什么要对这个断言发出警告?我怎样才能抑制这个警告?NVCC是NVIDIA的cuda编译器,我觉得是基于LLVM的。为什么它会发出此警告,而GCC或VisualC++编译器可以正常编译? 最佳答案 可移植的替代方案(可能包含在宏中)类似于:{constboolerror_message=true;assert([...]&&error_message);}澄清我的意思:#definemy

c++ - 是否可以将文件添加到 Visual Studio 中的 CMake 生成的解决方案文件夹中?

这个问题或多或少是这个问题的热身:howtogetcmaketoaddfilestomsvcssolutiontree它从来没有得到有效的答案,所以我想稍微改变一下:是否可以使用cmake2.8.3引入的cmake解决方案文件夹将文件直接添加到vs解决方案?我想做相当于VS->Solution->Add->ExistingItem的cmake。所以我的文件将出现在属于解决方案而不属于项目的文件夹中。我找到了如何使用解决方案文件夹将目标分组到文件夹中的示例,代码如下:set_property(GLOBALPROPERTYUSE_FOLDERSON)set_property(TARGET$

c++ - opencv ubuntu 12.04 Cmake错误: Source directory does not appear to contain CmakeLists. txt

我使用的是Ubuntu12.04。我试图使用http://karytech.blogspot.in/2012/05/opencv-24-on-ubuntu-1204.html中显示的步骤安装OpenCV但是当涉及到编译步骤时,我得到一个错误:clive@clive-Aspire-4755:~/OpenCV-2.4.0/build$cmake-DWITH_QT=ON-DWITH_XINE=ON-DWITH_OPENGL=ON-DWITH_TBB=ON-DBUILD_EXAMPLES=ON..CMakeError:Thesourcedirectory"/home/clive"doesnot

c++ - CMake "undefined reference to function"

我正在尝试使用CMake链接一个库(BNO055Driver)。由于BNO055驱动程序不使用CMake,并且大约一年没有更改,我决定只下载源文件并将它们放入我的项目中。然后我使用CMake创建一个库并链接它。问题是链接似乎不起作用。当我编译项目时,我得到一个undefinedreferenceto错误,其中是由BNO055驱动程序定义的函数。我是否错误地创建或链接了库?我是否需要做其他事情来定义这些功能?为了不粘贴200行代码,这里是一个简化的main.cpp产生与真实main.cpp相同的错误.如果你想看到真正的main.cpp按照下面的链接访问Github存储库#include"