草庐IT

cuda-c-programming-guide

全部标签

c++ - boost::program_options :迭代并打印所有选项

我最近开始使用boost::program_options并发现它非常方便。也就是说,缺少一件事我无法以一种好的方式编写自己的代码:我想遍历boost::program_options::variables_map中收集的所有选项将它们输出到屏幕上。这应该成为一个方便的函数,我可以简单地调用它来列出所有设置的选项,而无需在添加新选项或每个程序时更新函数。我知道我可以检查和输出单个选项,但如上所述,这应该成为一个忽略实际选项的通用解决方案。我进一步知道我可以遍历variables_map的内容因为它只是一个扩展的std::map.然后我可以检查存储的boost::any中包含的类型。变量

c++ - 带有 Boost 的 Cuda

我目前正在编写一个CUDA应用程序并想使用boost::program_options库来获取所需的参数和用户输入。我遇到的问题是NVCC无法处理编译boost文件any.hpp给出的错误,例如1>C:\boost_1_47_0\boost/any.hpp(68):errorC3857:'boost::any':multipletemplateparameterlistsarenotallowed我在网上搜索发现是因为NVCCcannothandlethecertainconstructsusedintheboostcode但是NVCC应该将主机代码的编译委托(delegate)给C+

c++ - boost::program_options 错误或功能?

非常简单的例子:#include#includenamespacepo=boost::program_options;intmain(intargc,char*argv[]){po::options_descriptionrecipients("Recipient(s)");recipients.add_options()("csv",po::value(),"")("csv_name",po::value(),"");po::options_descriptioncmdline_options;cmdline_options.add(recipients);po::variables

c++ - CUDA 编译器 (nvcc) 宏

是否有我可以使用的CUDA的#define编译器(nvcc)宏?(如Windows的_WIN32等。)我需要这个用于在nvcc和VC++编译器之间通用的头代码。我知道我可以继续定义我自己的并将其作为参数传递给nvcc编译器(-D),但如果已经定义了一个就好了。 最佳答案 __CUDACC__我认为这不会那么微不足道。检查以下线程http://forums.nvidia.com/index.php?showtopic=32369&st=0&p=179913&#entry179913 关于c

c++:程序设置 - boost.PropertyTree 或 boost.program_options?

我一直在寻找在C++中存储程序设置或选项或配置的解决方案。这些可能是在GUI中公开的设置,需要在我的代码运行之间保存。在我的搜索中,我遇到了boost.PropertyTree这似乎是一个不错的选择。我知道boost是受人尊敬的代码,所以我很喜欢使用它,所以我开始使用它进行开发。然后我遇到了boost.program_options这似乎允许您做同样的事情,但看起来更适合程序设置的特定用例。现在我想知道哪个最适合这份工作?(或者有没有比两者都好的第三种选择)编辑:仅供引用,这是一个插件,因此它不会使用命令行选项(因为它甚至不可能)。更新我最终坚持使用boost.PropertyTree

c++ - CUDA 链接错误 - Visual Express 2008 - 由于(空)配置文件导致 nvcc 致命

在过去的2周里,我一直在广泛寻找可能的解决方案来解决我的错误。我已经成功安装了Cuda64位编译器(工具)和SDK,以及64位版本的VisualStudioExpress2008和带有Framework3.5的Windows7SDK。我正在使用WindowsXP64位。我已经确认VSE能够以64位编译,因为我使用以下网站上的步骤可以使用所有64位选项:(因为VisualExpress本身不包含64位包)http://jenshuebel.wordpress.com/2009/02/12/visual-c-2008-express-edition-and-64-bit-targets/6

c++ - 如何在 boost::program_options 中接受空值

我正在使用boost::program_options库来处理命令行参数。我需要通过-r选项接受文件名,以防万一它为空(-r不带参数)我需要使用标准输入。desc.add_options()("replay,r",boost::program_options::value(),"blablabla")在这种情况下,boost不会接受没有参数的-r并抛出异常。default_value()选项不起作用,即使用户没有给出-r选项,它也会使库返回值。任何想法如何解决? 最佳答案 请使用implicit_value方法,例如desc.add

c++ - 为什么转置 CUDA 网格(但不是它的线程 block )仍然会减慢计算速度?

编辑:似乎,至少在这种情况下,转置网格对L2缓存带宽有负面影响。这是从视觉分析器获得的。原因我还不清楚。我遇到了需要转置CUDA网格的GPU计算情况。因此,如果block_{x,y}最初作用于数据区域d_{x,y},现在它作用于数据区域d_{y,x},因此block_{y,x}将作用于数据区域d_{x,y}。下图给出了一个示例。值得一提的是,线程并不是在每个block内部转置,即一旦block被定位,threadIdx.x和threadIdx.y值以正常方式分别用于它们的x和y偏移。据我所知,理论上这种设计应该不会损害性能,因为仍然保留了内存合并模式,即block内的线程没有被转置,它

c++ - 使用 boost::program_options 接受负 double

我需要能够拥有boost::program_options解析一个double组在命令行上传递。对于正double,这没问题,当然(在add_options中使用带有std::vector的多token),但是对于否定的,我知道这些都是模棱两可的论点。以下是我想要学习的演示:mycommand--extent-1.0-2.0-3.01.02.03.0--some-other-argumentsomevalueextentistobebackedbyaBoundsclasswithatleastoneconstructorthattakesinsixindividualTargument

c++ - 如何在 Windows 上的 Release模式下避免 "program.exe has stopped working"窗口?

我正在开发VisualStudio2010上的C++软件。由于该软件应该在无法进行人工交互的服务器上运行,我真的需要摆脱这个“program.exe已停止工作”窗口,在出现错误时在发布版本中弹出。我只是希望程序终止(也许还会给出错误消息,但不一定)并且不要让它保持阻塞等待某人单击“关闭程序”按钮。我不得不提一下,我的机器上有64位Windows7Professional。我已经阅读了几件事,例如:_set_abort_behavior函数。这解决了调用abort()时的情况,但对于诸如“vector下标超出范围”之类的错误,情况并非如此。我知道我可以通过异常处理来解决其中一些错误,但并