`
- 浏览:
269767 次
- 性别:
- 来自:
沈阳
-
今天开始学习并行程序的开发,刚刚知道Visual Studio 2008里的Visual C++就可以实现,于是在里面写了个程序。
并设置了C/C++->Language->将OpenMP支持改为“是/(OpenMP)”。
于是欣喜若狂的Run,结果……
出了一个错误的对话框:
没有找到VCOMP90D.DLL,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。
当然,我是不会重装的了~~
查了一下,才知道,原来VS2008在做OPenMP程序的时候,需要VCOMP90D.DLL的支持。
所以,最简单的办法就是从
C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\Debug_NonRedist\x86\Microsoft.VC90.DebugOpenMP
把它拷贝到当前的debug的目录了,下面是运行的结果,确实是并行处理了。
或者是把那个dll文件拷贝到window\system32底下就ok了。。
执行果然正确了。。wish you succeed!!
My Paralle C code:
#include<stdio.h>
int main(int argc, char* argv[])
{
#pragma omp parallel for
for (int i = 0; i < 10; i++ )
{
printf("i = %d\n", i);
}
return 0;
}
详细内容请见附件。。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在这个例子中,"并行openmp程序实现生产者消费者"可能是通过OpenMP库来创建两个线程,一个扮演生产者的角色,另一个扮演消费者的角色。生产者线程负责生成数据,而消费者线程则处理这些数据。这种模式在处理大量数据...
#### 三、编写第一个OpenMP程序 下面是一个简单的OpenMP“Hello World”示例程序: ```c #include #include int main(int argc, char* argv[]) { int id; #pragma omp parallel private(id) { id = omp_get...
##### 第一个 OpenMP 程序 - HelloWorld ```c #include #include int main() { int nthreads, tid; #pragma omp parallel private(tid) { tid = omp_get_thread_num(); printf("Hello World from thread =...
这些PPT为学习和理解MPI和OpenMP提供了一个良好的起点,涵盖了并行程序设计的基础知识,同时也展示了如何将这些知识应用于实际问题中。通过深入研究这些材料,开发者能够掌握并行计算的基本原理,从而在高性能计算...
OpenMP 是一个面向共享内存和分布式共享内存的多处理器多线程并行编程语言,能够被用于显式指导多线程、共享内存并行的应用程序编程接口(API)。OpenMP 具有良好的可移植性,支持多种编程语言和平台,包括 C 语言、...
然后,利用主元行对其他行进行消元,即将其他行乘以适当的比例因子后减去主元行,以消除第 I 列中第 I+1 行到第 N 行的非零元素。 串行算法的实现通常包括以下几个阶段: 1. 主元选择:遍历矩阵寻找每列的最大元素...
10. **主线程与工作线程的关系**:并行区域内的第一个线程被称为主线程,它负责创建其他线程并启动并行执行。 在这个例子程序中,你可能会看到如何使用这些OpenMP特性来实现并行计算。可能包括并行化的循环,线程...
带详细注释 用sqrt(1-x*x)函数在[0,1]上的积分值 求圆周率值并行pthread程序 西安电子科技大学 霍老师并行计算程序作业第1题 mpi和pthread 的在前段时间已经上传
- **1997年**:发布了与Fortran语言结合的第一个标准规范FORTRAN version 1.0。 - **1998年**:支持C和C++的标准规范C/C++ version 1.0发布。 - **2000年**:FORTRAN version 2.0版本发布。 - **2002年**:C/C++ ...
本实验主要介绍了如何在Linux和Windows环境下编译和运行OpenMP程序。 在Linux环境下,首先需要确保GCC编译器已经安装,因为GCC包含了对OpenMP的支持。可以通过`gcc --version`检查版本。然后,创建一个名为`hellomp...
1. **初始化阶段**:所有的OpenMP程序都是从一个单一的进程(主进程)开始。 2. **FORK阶段**:当遇到第一个并行区域构造时,主进程会创建一个线程团队(team of threads)。 3. **并行执行阶段**:程序中被并行区域...
- **第一私有变量**:初始时复制主线程中的值给其他线程,之后变为私有变量。 通过`#pragma omp parallel`指令中的`private`、`shared`、`firstprivate`等属性可以指定变量的作用域。例如: ```c #pragma omp ...
- **First Private**: 第一次私有化,将变量的值从主串复制到每个工作串。 - **Last Private**: 最后私有化,将变量的值从最后一个工作串复制回主串。 - **Reduction**: 归约,用于执行累加等操作,结果保存在一个...
1. 结构和范围:OpenMP文档的第一部分通常会介绍API的范围和目标,包括对词汇表的解释,如线程概念、OpenMP语言术语、循环术语、同步术语、任务术语和数据术语等。这些术语帮助开发者理解与OpenMP相关的专用术语和...
// 第一段代码 } #pragma omp section { // 第二段代码 } } ``` **三、Windows 平台上的 OpenMP 实现** 在 Windows 上,Visual Studio 集成了 OpenMP 支持。要启用 OpenMP,需要在项目属性的 C/C++ -> ...
本资源包含了一个名为"C 代码 阐释使用 OpenMP 的并行程序如何生成多个 不同的随机数流"的压缩包,其中包含了`random_openmp`和`random_openmp_test`两个文件,它们详细展示了如何在OpenMP并行环境中生成不重复的...
OpenMP提供了一种基于共享内存的并行编程模型,它利用多线程技术在多核处理器上实现并行化。CUDA是NVIDIA推出的一种并行计算平台和编程模型,旨在利用GPU的强大并行计算能力。而MPI是一种消息传递接口,通过在分布式...