草庐IT

cuda-c-programming-guide

全部标签

c++ - 是否可以解决 CUDA 内存碎片问题?

我正在尝试分配一些内存,但有时会出现“内存不足”错误。cudaMemGetInfo表示我需要更多可用内存。因此,内存碎片问题。有可能解决这个问题吗?是否可以将元素放入内存中,而不是一个一个地放入内存中,然后碎片化成我可以放入内存中的几个和平点? 最佳答案 如果你因为内存碎片而“内存不足”,那么你使用内存的方式就存在一些错误!!您负责对该内存进行碎片化,考虑重新设计您的程序,例如使用内存池来避免过多的新/删除以避免内存碎片 关于c++-是否可以解决CUDA内存碎片问题?,我们在StackO

Linux shell 脚本 : How can I stop a first program when the second will have finished?

我在Linux中有两个程序(例如shell脚本):NeverEnding.shAllwaysEnds.sh第一个永远不会停止,所以我想在后台运行它。第二个停止没有问题。我想制作一个Linuxshell脚本,同时调用它们,但会自动停止(例如,终止)第一个当第二个有完成。如果需要,允许使用特定的命令行工具。 最佳答案 您可以使用&将第一个发送到后台,并通过$!获取它的PID。然后在第二个在前台完成后你可以杀死第一个:#!/bin/bashNeverEnding.sh&pid=$!AllwaysEnds.shkill$pid您实际上不需要

C++11 标准与 CUDA 6.0

我想在我的CUDA6.0项目中为我的C++文件使用C++11标准。当我将CUDA6.0NsightEclipse设置中的编译器更改为g++并添加-std=c++11选项时,我收到了很多这样的错误:error:namespace"std::__gnu_cxx"hasnomember"__normal_iterator"显然,我必须为CUDA和我的C++文件“选择”一次编译器。我该怎么做?安装支持未记录的C++11的CUDA6.5不是一个选项。 最佳答案 问题是CUDA6.0不支持C++11标准,当将-std=c++11选项传递给编译器

java - Ubuntu Java : Find a specific program's pid and kill the program

我正在尝试制作一个应用程序来检查此特定应用程序是否正在运行,然后在指定的时间后终止该应用程序。我打算获取应用程序的pid。如何获取应用程序的pid?谢谢 最佳答案 你可以试试ps-aux|grepfoobar用于获取pid,然后针对它发出kill命令,或者您可能想使用pkillfoobar,在这两种情况下,foobar都是您要终止的应用程序的名称。 关于java-UbuntuJava:Findaspecificprogram'spidandkilltheprogram,我们在StackO

c++ - 错误 : 'GL/glfw3.h: No such file or directory' when compiling C++ programs using OpenGL on Linux

我收到错误信息GL/glfw3.h:Nosuchfileordirectory当我尝试编译教程中给出的示例程序时here,“打开窗口”部分。我已经安装了他们在“在Linux上构建”部分中提到的所有库。(我的发行版是Ubuntu16.04。)我也跑成功了apt-getinstalllibglfw-dev正如我在某处发现的作为此问题的答案的建议。我认为glfw3库可能安装在编译器不知道如何自动访问的地方。我如何确定是否是这种情况,我应该把它放在哪里以便可以访问它(/usr/share?),我到底放在那里什么?我已经将在/usr/local/lib中找到的名为libglfw3.a的文件复制到

Linux/海湾合作委员会 : ldd functionality from inside a C/C++ program

是否有一种简单有效的方法可以知道给定的动态链接ELF缺少运行所需的.so,全部来自C的内部/C++程序?我需要一个功能与ldd有点相似的程序,而不是尝试执行ELF来找出系统中的(满足/未满足)依赖项。也许通过某个库询问ld-linux.so实用程序?(我是这部分linux的新手=)NOTE:readingthesourcecodeoflddwasnotveryhelpfulformyintentions:itseemsthatlddisinfactforkinganotherprocessandexecutingtheprogram.如果不执行程序就不可能知道程序具有未满足的依赖项,是

python - Tensorflow 0.7.1 与 Cuda 工具包 7.5 和 cuDNN 7.0

我最近尝试将我的Tensorflow安装从0.6升级到0.7.1(Ubuntu15.10、Python2.7),因为它被描述为与更多最新的Cuda库兼容。一切都运行良好,包括来自Tensorflow入门页面的简单测试。但是我无法使用cuDNN。使用cuDNN运行程序时,我首先收到警告“无法加载cuDNNDSO”后来程序崩溃了Itensorflow/core/common_runtime/gpu/gpu_device.cc:717]CreatingTensorFlowdevice(/gpu:0)->(device:0,name:GeForceGTX980,pcibusid:0000:01

android - Eclipse ADT 意外异常 'Cannot run program'

我已经在笔记本电脑上安装了ADTBundle。我有ubuntu13.10,但是当我打开ADT时,我看到这条消息:Unexpectedexception'Cannotrunprogram"/home/.../Descargas/adt-bundle-linux-x86_6420131030/sdk/platform-tools/adb":error=2,Noexisteelarchivooeldirectorio'whileattemptingtogetadbversionfrom'/home/.../Descargas/adt-bundle-linux-x86_64-20131030/

linux - 在 Windows 中运行时的 CUDA 性能损失

当我在Windows7(相对于Linux)中运行我的CUDA应用程序时,我注意到性能受到很大影响。我想我可能知道减速发生在哪里:无论出于何种原因,WindowsNvidia驱动程序(版本331.65)在通过运行时API调用时不会立即分派(dispatch)CUDA内核。为了说明这个问题,我分析了mergeSort应用程序(来自CUDA5.5附带的示例)。首先考虑在Linux中运行时的内核启动时间:接下来,考虑在Windows中运行时的启动时间:这post表明问题可能与批处理内核启动的Windows驱动程序有关。无论如何我可以禁用这个批处理吗?我运行的是GTX690GPU、Windows

linux - 如何在 Linux 机器上获取我的 CUDA 规范?

我正在访问一台远程计算机,该计算机具有用于CUDA计算的良好nVidia卡,但我无法找到一种方法来了解它使用的是哪种卡以及CUDA规范(版本等)是什么。我在终端上使用了“lspci”命令,但没有nvidia卡的迹象。我很确定它有nVidia卡,并且似乎安装了nvcc。但我真的很想弄清楚显卡和CUDA规范。有什么想法吗?谢谢! 最佳答案 如果您能找到CUDASDK目录的安装位置,那么您只需运行deviceQuery示例,它将告诉您所有您需要了解的信息以及更多信息。可执行文件应位于$(SDK)/C/bin/linux/release/d