草庐IT

并行机

全部标签

c++ - 使用 boost::thread 的并行任务比使用 ppl 或 OpenMP 获得更好的性能

我有一个可以并行化的C++程序。我正在使用VisualStudio2010,32位编译。简而言之,程序的结构如下#definenum_iterations64//somenumberstructresult{//somestuff}resultbest_result=initial_bad_result;for(i=0;i由于每个some_computations()都是独立的(读取了一些全局变量,但没有修改全局变量)我并行化了内部for循环。我的第一次尝试是使用boost::thread,thread_groupgroup;for(j=0;j结果不错,但我决定多尝试一下。我尝试了Op

c - Windows 上 C/C++ 的并行 API

我们正在为Windows平台开发一些东西,我们想利用当今PC中的多核。我知道在VS2010中,有ConcurrencyRuntime.不过,它仍处于测试阶段。与此同时,我们现在确实需要发布高质量的代码,对于API来说,什么是允许以后平稳过渡的好选择。其他建议? 最佳答案 我知道:IntelThreadBuildingBlocklibrary(开源)C++0x线程库支持(future某个时候跨平台)JustSoftwareC++0x线程库的实现-允许您在vs2008中使用新的c++线程库抢先一步。OpenMP-现在构建到大多数C++编

windows - CMD - 等待并行命令行完成?

我通过命令行(win7cmd)并行执行4个任务:startdefrag/Ac:startdefrag/Ad:startdefrag/Ae:startdefrag/Af:dir但是dir命令会在第一行之后立即执行。我希望在所有4个完成后执行dir命令。我该怎么做? 最佳答案 试试这个:startdefrag/Ac:startdefrag/Ad:startdefrag/Ae:startdefrag/Af::StartLoop::Checkwhetheranyofthedefragsarerunning...tasklist|Findst

android - 为什么以及何时在使用 Kotlin 的 Android 中使用协程而不是线程,因为没有并行性?

我正在研究协同例程的概念以及它在kotlin中的用法和实现。我在谷歌上搜索并阅读了一些答案,因为它在架构和性能方面与线程有何不同。这里解释得很好,Differencebetweena"coroutine"anda"thread"?公平地说,协同程序很棒,没有内存开销,性能很好,没有死锁,竞争条件等,并且易于使用。现在,这里有几件事情,我很困惑,并希望在同一方面更清楚-什么时候应该在Android中使用协程和线程?还是应该只使用协同程序?如果,我只是坚持使用协同程序,那么它将如何利用CPU内核,因为它在单线程上运行。协同例程非常好用,但它如何利用多核来提高性能。

android - 为什么以及何时在使用 Kotlin 的 Android 中使用协程而不是线程,因为没有并行性?

我正在研究协同例程的概念以及它在kotlin中的用法和实现。我在谷歌上搜索并阅读了一些答案,因为它在架构和性能方面与线程有何不同。这里解释得很好,Differencebetweena"coroutine"anda"thread"?公平地说,协同程序很棒,没有内存开销,性能很好,没有死锁,竞争条件等,并且易于使用。现在,这里有几件事情,我很困惑,并希望在同一方面更清楚-什么时候应该在Android中使用协程和线程?还是应该只使用协同程序?如果,我只是坚持使用协同程序,那么它将如何利用CPU内核,因为它在单线程上运行。协同例程非常好用,但它如何利用多核来提高性能。

python - 基本并行 python 程序在 Windows 上卡住

这是来自https://docs.python.org/2/library/multiprocessing.html#module-multiprocessing.pool的基本Python示例关于并行处理frommultiprocessingimportPooldeff(x):returnx*xif__name__=='__main__':p=Pool(5)print(p.map(f,[1,2,3]))由于某些原因我无法在我的电脑上运行。当我尝试执行第三个block时,程序卡住了。我的操作系统是Windows10。我在SpyderIDE上运行该程序,并且安装了anaconda。可能是

python - 我怎样才能并行化这个字数统计功能?

我有一些像这样的序列代码来计算单词索引,即计算并置单词对。下面的程序可以工作,只是出于说明目的而对句子列表进行了压缩。importsysfromcollectionsimportdefaultdictGLOBAL_CONCORDANCE=defaultdict(lambda:defaultdict(lambda:defaultdict(lambda:[])))defBuildConcordance(sentences):globalGLOBAL_CONCORDANCEforsentenceIndex,sentenceinenumerate(sentences):words=[wordf

windows - 并行工作的 CMD 实例的信号量

我有.bat可以同时启动X次(使用不同的参数)。我希望他们修改一个特定的文件,但必须以可控的延迟按顺序完成。理想情况下,我需要一种机制,只允许一个bat锁定文件并在需要时处理它,而不是释放它允许另一个进程进行同样的事情。 最佳答案 对jeb的回答进行了一些改进。不需要额外的锁文件。queue.txt文件可以作为它自己的锁。此外,必须保证最里面的block以SUCCESS(错误级别0)退出,以便仅在重定向失败时重试。(CALL)(注意尾随空格)是一种完全不直观但非常有效的清除任何错误的方法。此处不需要,但(CALL)(注意缺少空格)是

python - 并行化 svn up 导致客户端卡住

我正在编写一个程序来并行运行svnup,它导致机器死机。发生这种情况时,服务器没有遇到任何负载问题。使用ThreadPool.map()在subprocess.Popen()上运行命令:defcmd2args(cmd):ifisinstance(cmd,basestring):returncmdifsys.platform=='win32'elseshlex.split(cmd)returncmddeflogrun(cmd):popen=subprocess.Popen(cmd2args(cmd),stdout=subprocess.PIPE,stderr=subprocess.STD

windows - Windows 上的多个并行 MSys/MingW 安装

安装MSysgit时,我的机器上也安装了MSys(顾名思义)。当我另外为Ruby安装DevKit时,我的计算机上安装了另一个MSys副本。在为Windows安装HaskellPlatform时,我的机器上又安装了另一个MSys副本。有没有办法安装一次MSys/mingw并告诉所有其他软件在路径中进行查找? 最佳答案 GitforWindows软件包中包含的msys版本已修改,如果您尝试将其替换为现有的msys软件包,将会遇到问题。我无法对其他软件包发表评论,但基本上-不值得担心。与您尝试让多个独立包共享一个公共(public)msy