Vaa3D并行程序测试-OPENMP-VS2010-加速程序
首先,我能确定的是该OPENMP测试程序通过Qt自带的MINGW编译器直接编译有效,但是我没有对VS编译器进行测试,究竟有没有提升,提升了多少我没有进行测试,因为普通的垃圾代码会被VS优化。
首先是pro文件
QMAKE_CXXFLAGS+=/openmp
QMAKE_CFLAGS += /fopenmp
有的地方说只插入第一个行即可,但是保险起见,两个都写上。
测试C文件
值得注意的是需要加上#include <omp.h>
在需要多线程的for循环前,加上#pragma omp parallel for
#include <stdio.h>
#include <omp.h>
#include<QTime>
#include<QDebug>
#include<iostream>
using namespace std;void test (int n) {//这种垃圾代码会被VS编译器优化,因此很难看出差距for(int i = 0; i < 100000+n; ++i){}printf("n %d ", n);
}int main(void)
{std::cout << "parallel begin:\n";std::cout<< "omp_get_max_threads:" << omp_get_max_threads()<<endl;#pragma omp parallel for num_threads(8)for(int i = 0; i < 8; ++i){std::cout << omp_get_thread_num();}std::cout << "\n parallel end.\n";QTime time;time.start();for(int i = 0; i < 200; ++i)test(i);printf("\n");int times1=time.elapsed();qDebug()<<times1<<"ms";#pragma omp parallel forfor(int i = 0; i < 200; ++i)test(i);printf("\n");int times2=time.elapsed();qDebug()<<times2-times1<<"ms";return 0;
}
经Qt自带的MINGW编译器编译后,第一段的运行时为74ms,第二段的运行时间为15ms,分成了8个线程,但是因为多线程有调度损耗,因此实际耗时为原来的1/5.
Vaa3D并行程序测试-OPENMP-VS2010-加速程序相关推荐
- 浅谈信息学竞赛考场策略及程序测试
浅谈信息学竞赛考场策略及程序测试 主题 本文作者是江苏省常州高级中学吴翼同学发布的信息学竞赛江苏省论文.内容对于大家备考十分有帮助,特分享给同学们,希望在中秋假期给大家的学习增加一点动力! 考场策略和 ...
- 并行网络测试软件,并行程序测试
写一个正确的并行程序要比写顺序执行程序困难. 其原因是并行程序中潜在的风险和错误的种类更多 -- 首先,在一个顺序执行程序中的错误同样会发生在并行程序中:其次,并行程序比顺序执行程序需要关注更多的风险 ...
- 基于AVX256指令集和多线程优化的双机计算加速程序
任务背景 大三上学期的课程设计任务.大概是要做一个计算加速的模型,通过将计算任务分配给两台计算机来进行计算加速,在其中的每一台计算机上再通过并行运算指令集和多线程加速,尽可能的获得高的加速比. 共同作 ...
- 前端构建工具与应用程序测试
1.前端构建工具 什么是前端构建? 什么是构建工具? 自动构建工具 Npm Scripts(推荐) Npm Scripts(NPM脚本)是一个任务执行者.NPM是安装Node时附带的一个包管理器,Np ...
- 一个简单的pingpong程序测试mpi消息通讯的开销及并行计算通讯启动时间测算
一个简单的pingpong程序测试mpi消息通讯的开销及并行计算通讯启动时间测算 一个简单的pingpong程序测试mpi消息通讯的开销 随着科技的进步,集群单节点计算能力的提高,似乎通讯开销成了并行 ...
- VS2010将程序打包(通过Microsoft Visual Studio Installer Project)
扣扣技术交流群:460189483 1. 首先打开VS2010,然后开始新建一个打包软件的项目,按照下图中红色箭头指示位置点击[新建],然后点击[项目],如下图: 2. 然后点击[安装和部署].点击[ ...
- 在程序中设置[硬件加速 级别]
[文章标题]: 在程序中设置[硬件加速 级别] [文章作者]: FishSeeWater[丰盛辉煌] [操作平台]: Windows XP [关 键字]: 硬件加速 VC++ 禁用硬件加速 设 ...
- 【2021最新版】Python 并发编程实战,用多线程、多进程、多协程加速程序运行
[2021最新版]Python 并发编程实战,用多线程.多进程.多协程加速程序运行 视频地址:https://www.bilibili.com/video/BV1bK411A7tV/ P1 Pytho ...
- 全云端万能小程序_WeTest+微信:小程序云端测试系统上线
小程序测试报告示例: 一. 云真机测试 Beta 为了方便广大开发者检测小程序程序缺陷.评估小程序产品质量,微信提供了免费的云真机测试环境以及一整套测试方案.在小程序交付到真实用户手中使用之前,你可以 ...
- Mahout学习之Mahout简介、安装、配置、入门程序测试
一.Mahout简介 查了Mahout的中文意思--驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了... 附logo: (就是他,骑在象头上的那个 ...
最新文章
- [svc]磁盘接口与RAID
- js-ajax-04
- python小数乘法_Polymorph:支持几乎所有现有协议的实时网络数据包操作框架
- 势头迅猛的儿童手表:恐陷下一个文曲星之地?
- Java中 volatile 关键字的最全总结,赶快给自己查缺补漏吧!
- 04-----赋值运算符
- 虚拟机VMware的Ubuntu下安装tensorflow详解
- Linux 2.4.x 网络协议栈QoS模块(TC)的设计与实现
- Springboot 内嵌 Tomcat 版本查看
- 1.12 线性表的链式存储结构(C语言)
- Android:LayoutInflater(布局服务)的 简单介绍 使用方法解析
- 论文中 一级标题、二级标题等 对应格式的统一修改
- Android开发 ANR异常的解决(应用程序无响应)
- 精确休息法——《万维钢.精英日课3》笔记
- #1034 : 毁灭者问题
- 【经验帖】深度学习如何训练出好的模型
- SQL Server2008下载链接以及安装教程
- DBeaver显示系统数据库不全
- 大学期间-Fans同学的11个艰难的决定
- Tas02 基础查询与排序
热门文章
- HEAD detached from XXXX解决方法 HEAD detached at origin/master 问题的解决
- 信号与系统Matlab M6-2,信号与系统matlab实验与答案
- Linux系统编程 46 -lseek函数
- c语言野指针应用,C语言中野指针的深入解析
- 索引器Indexers
- 理解Mysql prepare预处理语句
- 为什么说使用HTTP代理上网更安全?
- groupby函数详解
- Pytorch中backward(retain_graph=True)的 retain_graph参数解释
- Inter SIU520 Log阅读