草庐IT

并行性

全部标签

android - 并行平移和缩放动画

我想将一些View从任何位置移动到屏幕的中心并平行缩放。如果这太复杂,translate和scale顺序也是可以接受的。但我都做不到。我认为这是枢轴点的问题。但抱歉,我没有找到解决办法。请帮忙。可能对开发游戏的人来说很容易,我什么也没做。下面是我的代码:privatevoidmoveViewToScreenCenter(finalViewview){DisplayMetricsdm=newDisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);intstatusBarOffset=dm.heightP

c++ - (Embedding Mono) 域的并行激活

我想知道是否可以激活多个Mono域并从本地代码并行执行它们:我使用以下代码来激活域:///Createanewdomain.m_domain=mono_domain_create();///Activatethedomain.mono_domain_set(m_domain,0);///Invokesomefunction...mono_runtime_invoke(m_method,m_objectInstance,NULL,&exception); 最佳答案 是的,这是可以做到的。鉴于Mono虚拟可执行文件在嵌入时与C应用程序一

c++ - 想知道为什么 OpenMP 代码不能并行化

我刚开始学习如何使用OpenMP.我试图弄清楚为什么以下代码不能与VisualStudio2008并行运行。它编译并运行良好。但是它在我的四核机器上只使用一个内核。这是我试图移植到MATLAB的代码的一部分混合功能。任何指针表示赞赏。#pragmaompparallelfordefault(shared)private(dz,t,v,ts_count)reduction(+:sum_v)for(t=0;trandn();v+=mrdt*(tv-v)+vv_v_sqrt_dt*dz+vv_vv_v_dt*(dz*dz-1.);sum_v+=v;if(t==ts_count-1){int_

c++ - 如何有条件地终止 OpenMP 中的并行区域?

我有一个带有C++程序的OpenMP。并行区域中有包含#pragmaomptask的并行区域。现在,我想知道如何根据任何正在运行的线程满足的条件终止并行区域。#pragmaompparallel{#pragmaomptask{//uponreachingaconditioniwouldliketobreakoutoftheparallelregion.(allthreadsshouldexitthisparallelregion)}} 最佳答案 您不能过早地终止并行结构。OpenMP对此没有构造,它指定并行区域可能只有一个导出点(因

c++ - CUDA。如何展开前 32 个线程以便它们并行执行?

我知道“每个warp包含连续的、增加的线程ID的线程,第一个warp包含线程0”,所以前32个线程应该在第一个warp中。我还知道一个warp中的所有线程都在任何可用的流式多处理器上同时执行。据我了解,因此,如果只执行一个warp,则不需要线程同步。但是如果我在倒数第二个ifblock中删除任何__syncthreads(),下面的代码会产生错误的答案。我试图找到原因,但最终一无所获。我真的希望得到你的帮助,所以你能告诉我这段代码有什么问题吗?为什么我不能只离开最后一个__syncthreads()并得到正确的答案?#defineBLOCK_SIZE128__global__voidr

Git多版本并行开发实践

 本文目的:实现多个项目同时进行的git多版本管理工作流。  名词解释:         feature-XXXX:特性分支指CCS中一个项目或者一个迭代,在该分支上开发,完成后,合并,最后,删除该分支,开发人员(xxxx可以自己根据该分支)         develop :开发分支,开发环境基于该分支构建,开发人员关注该分支,一个大融合分支,该分支体现了此时进行的所有项目的特性功能。         test(release):测试分支,测试环境基于该分支构建,测试人员关注该分支,该分支包含即将上线的特性功能。                  hotfix:为了修复某个bug,从mast

c++ - 为什么并行 for_each 需要前向迭代器?

我正在设计一个遍历多个容器的迭代器,因此有一个代理对象作为返回类型。因此,它能做的最好的事情就是成为一个输入迭代器(这是因为正向迭代器要求reference是一个实际的引用类型,而据我所知,这对于输入迭代器来说并非如此见)。(让我说)普通的for_each对我的迭代器来说就像一个魅力。然而,当我查看它的并行版本时,我看到它只接受前向迭代器。因此,我不能使用返回代理对象的复杂迭代器,这很烦人。另一方面,我在网上查看了其他值得注意的实现,这并不像我最初想象的那么普遍-例如,英特尔TBB为每个接受输入迭代器的人提供了自己的并行。我的问题是:为什么并行std::for_each不能与输入迭代器

c++ - 编译包含动态并行性的代码失败

我正在使用CUDA5.5和计算能力为3.5的NVDIAGeForceGTX780进行动态并行编程。我在内核函数中调用内核函数,但它给了我一个错误:error:callinga__global__function("kernel_6")froma__global__function("kernel_5")isonlyallowedonthecompute_35architectureorabove我做错了什么? 最佳答案 你可以这样做nvcc-arch=sm_35-rdc=truesimple1.cu-osimple1-lcudade

c++ - OpenMP 并行化抑制矢量化

我是OpenMP的新手,我正在尝试使用OpenMP并行化以下代码:#pragmaompparallelforfor(intk=0;k=0;j--){outX[k+j*m]=inB2[j+n*k]/inA2[j*n+j];for(inti=0;i并行化外循环非常简单,但为了优化它,我还想并行化最内层循环(遍历i的循环)。但是当我尝试这样做时:#pragmaompparallelforfor(inti=0;i编译器不会对内部循环进行矢量化(“由于可能出现别名,循环版本化为矢量化”),这使得它运行得更慢。我使用gcc-ffast-math-std=c++11-fopenmp-O3-msse2

c++ - 并行编程和 C++

我最近写了很多关于并行计算和编程的文章,我确实注意到在并行计算方面出现了很多模式。注意到Microsoft已经发布了一个库以及MicrosoftVisualC++2010社区技术预览(名为并行模式库)我想知道您一直在使用和遇到的可能值得记住的常见并行编程模式有哪些?在使用C++编写并行程序时,您是否遵循任何惯用语和似乎不断出现的模式? 最佳答案 模式:生产者/消费者一个线程产生数据一个线程消费数据循环并行如果你能证明每个循环都是独立的每次迭代都可以在单独的线程中完成重新绘制线程其他线程会工作并更新数据结构,但一个线程会重新绘制屏幕。