一个openmp多线程c++程序,要在程序中多个线程同时调用一个函数的话,会出现问题吗? 测试结果总和单线程的结果不一致,但是差别很小,不知道为什么。示例代码如下: #ifdef openmp omp_set_num_threads(NUM_THREADS); // multhreads for #pragma omp parallel for #endif for (i=0; i<10; i++) { test_function(); } test_function()里面定义了很多种数据类型,例如: test_function() { int a[10]; char ...
by gridbird - C/C++ - 2014-06-04 15:54:49 阅读(5512) 回复(6)
测试了linux下c++和openmp的多线程程序,发现还不如单线程快,各位高手碰到过这个问题吗?代码如下:各位可以测试一下,代码正确。
#include
第一次用openmp 做个并行多线程编程。
#include
openmp的一个程序,刚开始编译不通过,然后改了一下栈空间大小: ulimit -s 10000000 . 程序编译通过, 但是运行出错 libgomp: Thread creation failed: Cannot allocate memory ,即使一个很小的测试程序也出这样的错误。然后把栈空间改小,编译通过的程序就会出现段错误。请高手指点一下了。
openmp编程中, #pragma omp parallel for private()中可以指定数组吗? 如果我指定#pragma omp parallel for private(a); a为一数组: int a[20]; 如果多个进程的话,是不是需要占用多倍的a数组的内存,private只是说是变量的副本,副本的意思是不是每个进程都会有一个a数组的内存? private的用法和在程序中定义: int a[进程数][20] 到底有什么区别? 多谢高手指点!
我的CPU的信息如下:
Intel(R) Pentium(R) Dual CPU E2160 @ 1.80GHz 1.80GHz
我在网上找到的这段代码,来执行的
#include
openmp的问题 编译运行一个简单的测试程序使用了 #pragma omp parallel for 能够运行 但是没有omp.h,没法使用函数怎么办? 直接从别人那里考一个omp.h能行么? google了半天,没找到解决方法,哪位帮帮忙,多谢
我的开发平台是VC2008 express,编译器支持openmp,但是没有相关的头文件与库文件 哪位好心穿三个文件上来 omp.h VCOMP.lib VCOMP.dll