- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有很多用.h 和.cu 编写的类,所以我尝试了可重定位设备代码(-rdc=true)。耗时约 12 秒。然后我尝试合并代码,仅使用 header 类并删除 -rdc=true,仅用了 2 秒。
代码做的是sha1(some string) 0x40000次,用于winrar加密。
这是为什么呢?目前还可以,但我的项目会变大,单独编译会有用。 -rdc=true 会降低性能是正常行为吗?
最佳答案
如果函数代码位于单独的翻译单元中,而不是在您调用的入口点的 header 中,则不会发生内联。在这种情况下,函数调用会更昂贵。您可能希望使用 inline 关键字将时间关键型函数重新定位到头文件中,以便编译器有机会内联。
单独编译可能会产生对参数使用本地地址空间的结果(请参阅 http://docs.nvidia.com/cuda/parallel-thread-execution/index.html#abstracting-abi 以了解参数传递),这比此表所示的寄存器 (http://docs.nvidia.com/cuda/parallel-thread-execution/index.html#operand-costs) 要昂贵得多。
使用 inline 关键字将类实现文件中的一些方法移动到头文件中以避免链接问题可能是一种解决方案。
关于c++ - 为什么在指定 -rdc=true 时 cuda 代码运行得更慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36496562/
我们有一个终端服务器:“server.host.com”。通常,我们将 RDP 连接到该服务器以用于我们的业务应用程序。但是,我正在执行一些数据挖掘,并希望将 .xml 文件带到本地系统进行后期处理。
我正在尝试做一个类似 Skype 的定时器风格的东西。如果用户“离开”一段时间,我会触发一些东西。我一直在将 SetWindowsHookEx() 与 WM_KEYBOARD_LL 一起使用,效果很好
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 2年前关闭。 Improve this qu
我有一个 Windows 程序,它使用 Win32 Beep(frequency, duration) 功能在发生重要事情时提醒用户。 现在我的一个用户是远程桌面连接到虚拟机,并在那里运行应用程序。其
我有一个 sikuli 脚本,它可以在 Jenkins 的 Windows Box 上执行 Siebel Tools 增量编译任务。 问题是:当我运行任务时,我总是必须打开 RDC 窗 Eloquen
下面这段代码让我通过mstsc.exe与电脑建立远程桌面连接。 string ipAddress = "XXX.XX.XXX.XXX" // IP Address of other machine
我正在尝试使用 VirtualBox 进行一些本地 RDC 测试。宿主机OSX.8,虚拟机ubuntu,VirtualBox版本4.1.22。 VM 启动正常,没有任何问题。我将其关闭并从“显示”选项
我有很多用.h 和.cu 编写的类,所以我尝试了可重定位设备代码(-rdc=true)。耗时约 12 秒。然后我尝试合并代码,仅使用 header 类并删除 -rdc=true,仅用了 2 秒。 代码
我正在使用 RDC/ActiveX 接口(interface)将应用程序从 Crystal Reports 8 移植到 Delphi 5 中的 Crystal Reports XI。 在 Crysta
我们有 Jenkins 的主从配置。我们的 .NET 项目是由在 Windows 上运行的从属 Jenkins 实例构建的。 有一堆 GUI 测试,但它们似乎只有在远程桌面连接 (RDC) sessi
我有一个 ASP.Net 框架 Web 应用程序,它试图从发票创建 .docx(或 .pdf)文件。 在我的本地机器上,在开发环境中,代码可以正常工作。 但在生产服务器中,我遇到了一个问题,即访问 I
在远程桌面连接上使用 Visual Studio 2008 进行编辑是一项疯狂的耐心练习,因为屏幕会像疯了一样地绘制和重新绘制以及重新绘制和闪烁。 有什么简单的解决方法吗? 双方都运行 Windows
我正在尝试在两个共享库中运行可重定位设备代码,它们都使用 cuda-thrust。如果我停止在 kernel.cu 中使用 thrust,一切都运行良好,这不是一个选项。 编辑:如果 rdc 被禁用,
这是一个奇怪的问题,只有在 Win8.1 中。 众所周知,如果一台机器上有一个正在运行的应用程序,当我们通过远程桌面连接连接/断开/重新连接到这台机器时,不应该有任何其他针对该应用程序的行为。但是,我
我是一名优秀的程序员,十分优秀!