我想在基于 Pytorch 的项目中进行交叉验证。而且我也没有找到pytorch提供的删除当前模型和清空GPU内存的方法。你能告诉我该怎么做吗?
我们有一些夜间构建的机器安装了cuda库,但没有安装cuda的GPU.这些机器能够构建启用cuda的程序,但它们无法运行这些程序.
在我们的自动夜间构建过程中,我们的cmake脚本使用cmake命令
find_package(CUDA)
确定是否安装了cuda软件.这会CUDA_FOUND在安装了cuda软件的平台上设置cmake变量.这很棒,而且效果很好.何时CUDA_FOUND设置,可以构建启用cuda的程序.即使机器没有cuda功能的GPU.
但是,使用cuda的测试程序自然会在非GPU cuda机器上失败,导致我们的夜间仪表板看起来"脏".所以我希望cmake避免在这样的机器上运行这些测试.但我仍然想在这些机器上构建cuda软件.
得到一个积极的CUDA_FOUND结果后,我想测试一个实际GPU的存在,然后设置一个变量,比如说CUDA_GPU_FOUND,以反映这一点.
让cmake测试是否存在具有cuda功能的gpu的最简单方法是什么?
这需要在三个平台上运行:Windows与MSVC,Mac和Linux.(这就是为什么我们首先使用cmake)
编辑:在答案中有一些很好看的建议,如何编写程序来测试GPU的存在.仍然缺少的是让CMake在配置时编译和运行该程序的方法.我怀疑TRY_RUNCMake 中的命令在这里很重要,但不幸的是,这个命令几乎没有记录,我无法弄清楚如何让它工作.这个问题的CMake部分可能是一个更加困难的问题.也许我应该把这个问题作为两个单独的问题......
我有一台带有集成Intel HD 3000和i7内核的MacBook Pro 13'.
我必须使用并行编程.
我的教学顾问无法告诉我它是否适用于我的MacBook.
我可以在笔记本电脑上运行测试吗? +我发现了这个,但只有一个Linux和Windows SDK ...也许Linux版本也适用于Mac.
我该怎么办 ?
我一直在寻找有关使用GPU加速LINQ查询的可能性的可靠信息.
到目前为止我已经"调查过"的技术:
简而言之,甚至可以对GPU上的对象进行内存中过滤吗?
假设我们有一些对象的列表,我们想要过滤类似的东西:
var result = myList.Where(x => x.SomeProperty == SomeValue);
Run Code Online (Sandbox Code Playgroud)
关于这个的任何指针?
提前致谢!
UPDATE
我会尝试更具体地说明我想要实现的目标:)
目标是使用任何技术,能够以绝对最快的方式过滤对象列表(范围从~50 000到〜2 000 000).
在完成过滤(sum,min,max等)时对数据执行的操作是使用内置的LINQ方法完成的,并且对于我们的应用程序已经足够快,所以这不是问题.
瓶颈是"简单地"过滤数据.
UPDATE
只是想补充一点,我已经测试了大约15个数据库,包括MySQL(检查可能的集群方法/ memcached解决方案),H2,HSQLDB,VelocityDB(目前正在进一步调查),SQLite,MongoDB等,而NONE就足够了过滤数据的速度(当然,NO-sql解决方案不提供像sql那样,但你得到了想法)和/或返回实际数据.
只是总结一下我/我们需要的东西:
一种数据库,能够在不到100毫秒的时间内对200列和大约250 000行的数据进行排序.
我目前有parallellized LINQ的解决方案,它能够(在特定的机器上)只花纳米过滤时每行-seconds 和处理的结果!
所以,我们需要像子纳米每行5秒-过滤.
日志文件中的一些数字:
Total tid för 1164 frågor: 2579
Run Code Online (Sandbox Code Playgroud)
这是瑞典语并翻译:
Total time for 1164 queries: 2579
Run Code Online (Sandbox Code Playgroud)
在这种情况下,查询是这样的查询:
WHERE SomeProperty = SomeValue
Run Code Online (Sandbox Code Playgroud)
这些查询都是在225639行上并行完成的.
因此,225639行在大约2.5秒内在存储器中被过滤1164次.
这是9,5185952917007032597107300413827e-9秒/行,但是,还包括数字的实际处理!我们做Count(非null),总计数,Sum,Min,Max,Avg,Median.因此,我们对这些过滤行进行了7次操作.
所以,我们可以说it's实际上快7倍比数据库we've尝试,因为我们不要做任何聚集的东西,在这种情况下!
总而言之,与内存LINQ过滤相比,为什么数据库在过滤数据方面如此差劲?微软真的做得这么好,以至于无法与它竞争吗?:)
虽然内存中过滤应该更快,但我不想要感觉它更快.我想知道什么是更快,如果可能的 …
我现在在Android上编程,我想知道我们现在是否可以使用GPGPU for Android?我曾经听说Renderscript将来可能会在GPGPU上执行.但我想知道我们现在是否有可能在GPGPU上进行编程?如果我可以在Android GPGPU上编程,我在哪里可以找到一些教程或示例程序?感谢您的帮助和建议.
到目前为止,我知道OpenGL ES库现在加速使用GPU,但我想使用GPU进行计算.我想要做的是加速计算,以便我希望使用一些API库,如OpenCL.
我知道:
https://github.com/lsegal/barracuda
自01/11以来尚未更新
和
http://rubyforge.org/projects/ruby-opencl/
自03/10以来尚未更新.
这些项目已经死了吗?或者他们根本没有改变,因为他们的功能,OpenCL/Ruby从那时起没有改变.有人使用这些项目吗?运气好的话?
如果没有,你能为Ruby推荐另一个opencl gem吗?或者这种呼叫通常是如何完成的?只需从Ruby调用raw C?
什么时候要求
nvidia-smi
Run Code Online (Sandbox Code Playgroud)
它给出了这个错误:
Failed to initialize NVML: GPU access blocked by the operating system
Run Code Online (Sandbox Code Playgroud)
其他信息:
$ nvcc --verion
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Mon_Feb_16_22:59:02_CST_2015
Cuda compilation tools, release 7.0, V7.0.27
Run Code Online (Sandbox Code Playgroud)
并且:
$ lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 425M] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GF108 High Definition Audio Controller (rev a1)
Run Code Online (Sandbox Code Playgroud)
在互联网上搜索了很多,我找不到解决这个问题的方法.当我使用ipython笔记本并想运行Caffe框架时,它会出现以下错误:
Check failed: error == cudaSuccess (38 vs. 0) no CUDA-capable …Run Code Online (Sandbox Code Playgroud) 在Google Collab中,您可以选择在cpu或gpu环境中运行的笔记本.现在我有一台配有NVDIA Cuda兼容GPU 1050和最新款anaconda的笔记本电脑.如何使用类似的功能,我可以简单地让我的python在GPU上运行?