openmp相关内容

减少OpenMp中的数组

我试图并行化以下程序,但不知道如何减少数组。我知道这是不可能这样做,但有另一个选择吗?谢谢。(我在m上添加了减少,这是错误的,但想要如何做的建议。) include #include #include #include using namespace std; int A [] = {84, ..
发布时间:2016-10-11 22:36:46 C/C++开发

C ++ OpenMP Parallel For Loop - std :: vector的替代方法

根据此主题, OpenMP和STL向量,其中的数据结构是在并行for循环中的 shared std :: vector?主要方面是速度,向量可能需要在循环期间调整大小。 解决方案 “在多个线程写入单个容器的情况下,”STL向量容器不是线程安全的“。这只是真的,如正确地说,如果你调用的方法,可以导致重新分配的底层数组 std :: vector 成立。 push_back(), pop_ba ..
发布时间:2016-10-11 21:03:43 C/C++开发

计算时间的实时运行时的差异

我有以下问题:我有来衡量一个程序需要执行的时间。该计划的一个标量版则可以与下面的code,但使用OpenMP时,它的工作原理我的电脑上,但不是在资源,我应该使用。 事实上: 标程序RT 34S OpenMP程序RT 787-9 这就是我的电脑(一切工作)-compiled与Visual Studio 在我的ressource必须使用(我认为的Linux,用gcc编译): 标 ..
发布时间:2016-08-25 09:43:44 C/C++

OpenMP的段错误

我想OpenMP并行添加到工作code(只是一个为循环),但是我无法摆脱分段错误的。问题由此产生行: POS + =的sprintf(COM + POS,“%D”,我); COM 是一个字符数组,我试图把它定义为字符COM [255] 或的char * COM =的malloc(255 * sizeof的(字符)),内外在为循环。我加了私有(COM)到的#pragma OMP并行的当我 ..
发布时间:2016-08-25 09:43:22 C/C++

从OpenMP的MPI到

我不知道怎么以下OpenMP程序转换为MPI程序 的#include< omp.h> #定义CHUNKSIZE 100 的#define N 1000INT主(INT ARGC,CHAR *的argv []) {INT I,大块; 浮动[N],B [N],C [N];/ *一些初始化* / 对于(i = 0; I< N;我++) 一个由[i] = B [i]于= I * 1 ..
发布时间:2016-08-24 15:27:18 C/C++

OpenMP的风向标:我这样做对吗?

我做了一个程序,计算Fibonacci序列。我具有不同数量的线程执行它(例如1,2,10),但执行时间几乎保持相同(大约0.500mm秒)。 我使用在Ubuntu和GNU GCC编译器$ C $的cblock。在$ C $我的cblock链接的库 gomp 和定义的标记 -fopenmp 编译器。 的#include< omp.h> #包括LT&;&stdio.h中GT; #包括L ..
发布时间:2016-08-24 15:02:31 C/C++

OpenMP的 - 循环线程分配

假设我有一个指数0到n-1的阵列。有没有一种方法来选择每个线程会处理哪些细胞?例如线程0将处理单元0和5,线程1会处理单元1和6等.. 解决方案 您甚至可以更明确: 的#pragma OMP并行 { INT第n = omp_get_num_threads(); INT第i = omp_get_thread_num(); 的for(int i =第i个; I< N, ..
发布时间:2016-08-24 15:01:39 C/C++

如何OpenMP指令由编译器处理

我不知道如何的OpenMP 指令是由编译器处理, 如gcc? 例如,在此code INT主(INT ARGC,CHAR *的argv []) { OMP的#pragma并行 的printf(“你好,世界\\ n”); 返回0; } 请问GCC的preprocessor通过修改C code 更换的OpenMP指令用 其他一些code? 什么是code等之后 p ..
发布时间:2016-08-24 13:25:55 C/C++

"关键的"整函数

我想使用OpenMP的,我也永远无法在同一时间运行两次这一功能。在另一个世界,这不会是一个问题: INT富(无效){ mutex->锁(); .... mutex->发行(); } 我如何能实现同样的事情在OpenMP的? 解决方案 使用:的#pragma OMP关键(CriticalSection1) { //你这里的东西 } 修改 我希望这是更清晰 ..
发布时间:2016-08-24 13:17:00 C/C++

OpenMP的慢多个线程,想不通

我得到了我的下面code使用OpenMP运行速度较慢的问题: 块= NX /确定nthreads; INT I,J; 对于(INT T = 0; T< N;吨++){ OMP的#pragma并行默认(共享)私人(I,J)时间表(静态块) 为(ⅰ= 1; I&所述;为nx / 2 + 1;我++){ 为(J = 1; J< NX-1; J ++){ ..
发布时间:2016-08-24 13:09:37 C/C++

使用OpenMP并行化

我有这种并行code的问题,我想我必须使用关键的条款,但我不知道如何... 的#include<&stdio.h中GT; #包括LT&; SYS / time.h中>#定义N4 5000 #定义N5 5000 #定义PIXMAX 10 #定义NUM_THREADS 4INT I,J,K; INT组织相容[PIXMAX],图像[N4] [N5]无效calculate_histo为(in ..
发布时间:2016-08-24 12:52:09 C/C++

- [R封装C / C ++和OpenMP:如何让" Makevars"根据&QUOT文件; mypackage的/ src目录/"夹?

我正在开发Mac OSX上的R封装的一些低级别 C / C ++ code和的OpenMP 支持。在 C ++ code使用 RCPP 包写的。我的世界“”Makevars'文件被放置在〜/ .R / 文件夹中。该文件看起来像下面。 CC =铛 - OMP CXX =铛,OMP ++PKG_CFLAGS =墙-pedantic PKG_CFLAGS = -fopenmp PKG_CXXFLA ..
发布时间:2016-08-23 12:22:20 C/C++

OpenMP的:不能嵌套并行for循环

我要与并行在它内部循环回路。我的code是这样的: 的#pragma OMP并行私人(JB,IB)共享(N,NB,LB,lastBlock,林俊杰,W,WT)时间表(动态)//私有(IB,JB )共享的(N,NB,LB,lastBlock,林俊杰,W,WT)//与OMP并行循环 对于(JB = 0; JB<铌; JB ++) { INT LBH =( ..
发布时间:2016-08-23 11:42:35 C/C++开发