电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

OpenMP程序的编译和运行VIP免费

OpenMP程序的编译和运行_第1页
1/13
OpenMP程序的编译和运行_第2页
2/13
OpenMP程序的编译和运行_第3页
3/13
SHANGHAI UNIVERSITY 学 院 计算机工程与科学学院 实验 OpenMP 程序的编译和运行 姓名 陈帅 学号 ******** 教师 刘芳芳 时间 2015.05.06 报 告 成 绩 实验2-1. OpenMP程序的编译和运行 1. 实验目的 1) 在Linux平台上编译和运行OpenMP 程序; 2) 在Windows 平台上编译和运行OpenMP 程序。 3) 掌握OpenMP 并行编程基础。 2. 实验环境 1) 硬件环境:计算机一台; 2) 软件环境:Linux、Win2003、GCC、MPICH、VS2008 或其他版本Visual Studio; 3. 实验内容 1. Linux 下OpenMP 程序的编译和运行。OpenMP 是一个共享存储并行系统上的应用编程接口,支持C/C++和FORTRAN 等语言,编译和运行简单的"Hello World"程序。在Linux 下编辑hellomp.c 源程序,或在Windows 下编辑并通过附件中的FTP 工具(端口号:1021)上传,用"gcc -fopenmp -O2 -o hellomp.out hellomp.c"命令编译,用"./hellomp.out"命令运行程序。 注:在虚拟机中当使用vi 编辑文件时,不是以ESC 键退出插入模式,可以使用“Ctrl+c”进入命令模式,然后输入wq 进行存盘退出。 代码如下: #include #include int main() { int nthreads,tid; omp_set_num_threads(8); #pragma omp parallel private(nthreads,tid) { tid=omp_get_thread_num(); printf("Hello World from OMP thread %d\n",tid); if(tid==0) { nthreads=omp_get_num_threads(); printf("Number of threads is %d\n",nthreads); } } } 安装gcc 检查GCC 是否安装完成 编写hellomp.c 编译运行 2.控制并行执行的线程数。 根据算法的要求和硬件情况,例如 CPU 数量或者核数,选择适合的线程数可以加速程序的运行。请按照下列的方法进行线程数量的设置。 //设置线程数为10 [xuyc@sv168 openmp]$ OMP_NUM_THREADS=10 //将线程数添加为环境变量 [xuyc@sv168 openmp]$ export OMP_NUM_THREADS //运行 修改hellomp.c 程序,删除omp_set_nu m_threads(8);语句 如果不定义OMP_NUM_THREADS,默认会等于CPU 数量,在8 核心的机器上,会打印出8 行"Hello World". omp_set_num_threads(8); 设置了子线程数为8,即是可以有8 个子线程并行运行。 #pragma omp parallel private(nthreads,tid) 为编译制导语句,每个线程都自己的nthreads和 tid 两个私有变量,线程对私有变量的修改不影...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

OpenMP程序的编译和运行

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部