OpenMP之双重for循环并行计算改进

这篇文章是基于OpenMP对Github项目schneider_et_al_2016_animaldiversity进行计算速度改进,关于该项目请参考博客:
Windows10+VS2017下GSL1.8_x86和sundials2.5.0配置及GITHUB项目schneider_et_al_2016_animaldiversity编译运行

项目设置

  • 设置项目支持OpenMP,右键项目(pdef_dynamics)==>属性==>C/C++==>语言==>OpenMP支持==>是
  • 添加头文件#include <omp.h>

代码改进

该项目工程中,主函数main中主要有2个for循环,可取的思路是:

  • 由于内层循环与执行顺序无关,因此可采用并行计算,外层循环正常采用主线程执行,内层循环采用多线程并行计算
#include <omp.h> // 添加头文件
.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347254.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle ADF和Oracle Jet一起工作。 建筑模式

在本文中&#xff0c;我将考虑在Oracle ADF和Oracle Jet的组合之上实现应用程序的各种体系结构模式。 练习ADF的组织可能会考虑将Oracle Jet合并到现有项目中&#xff0c;以刷新外观并使其具有现代感和响应能力&#xff0c;并以新方式实施新功能。 它可能会考虑将Oracle Jet用于…

基本指令的编程练习-PLC认识实验-定时器/计数器功能实验

微信公众号&#xff1a;创享日记 发送关键词&#xff1a;plc1 免费获取完整无水印实验报告 【PLC认识实验】 一、实验目的 1.了解PLC软硬件结构及系统组成; 2.掌握PLC外围直流控制及负载线路的接法及上位计算机与PLC通信参数的设置; 3.了解编程软件的编程环境&#xff0c;掌握软…

C语言实用算法系列之strtok字符串分割、strcat字符串拼接、strcpy、strcmp

代码 #define _CRT_SECURE_NO_WARNINGS#include <string.h> #include <stdio.h>char string[] "A string\tof ,,tokens\nand some more tokens"; char seps[] " ,\t\n"; char *token;int main(void) {printf("Tokens:\n");// Es…

电动机正反转继电器控制系统

微信公众号&#xff1a;创享日记 发送关键词&#xff1a;plc2 免费获取完整无水印实验报告 一、实验目的 1&#xff0e;学习和掌握电动机主回路的设计及接线&#xff1b; 2&#xff0e;学习和掌握电动机控制回路的设计及联锁保护方法&#xff1b; 3&#xff0e;加深对电气控制系…

电子技术课程设计-正弦波发生及频率显示电路-电子线路CAD原理图

微信公众号&#xff1a;创享日记 发送关键词&#xff1a;电子技术课设 免费获取完整无水印实验报告付费电子线路CAD原理图源文件及其导入教程 前些天发现了十分不错的人工智能学习电子书&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&a…

C语言实用算法系列之学生管理系统_对整个结构体操作_冒泡排序

代码 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <string.h> void Save();struct SUser // 结构体定义 {int nNumb; // 学号char sName[20]; // 姓名float fMath; // 数学成绩 }g_user[100];void Print() // 打印子函数 {puts("\n学号\t姓…

PLC 控制三相异步电动机正反转实验

前些天发现了十分不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 微信公众号&#xff1a;创享日记 发送关键词&#xff1a;plc3…

功能Java示例 第4部分–首选不变性

这是称为“ Functional Java by Example”的系列文章的第4部分。 在上一部分中&#xff0c;我们讨论了一些副作用&#xff0c;并且我想进一步详细说明如何通过将不可变性引入代码中来防止以意外的方式操纵数据。 如果您是第一次来&#xff0c;最好是从头开始阅读。 它有助于…

C语言实用算法系列之学生管理系统_对整个结构体操作_选择排序_提取排序规则

代码 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <string.h> #include <stdlib.h> void Save();struct SUser {int nNumb;char sName[20];float fMath; }g_user[100];void Print() {puts("\n学号\t姓名\t数学");int i 0;while…

Altium Designer19(AD19)

微信公众号&#xff1a;创享日记 发送关键词&#xff1a;Altium 免费获取Altium Designer19 1、解压文件 2、解压后打开安装文件&#xff08;AD19 setup.exe&#xff09; 3、点击next 4、选择中文并接受协议 5、选择功能&#xff0c;Next 6、选择文件保存路径与安装路径&…

仿真proteus8.7安装

前些天发现了十分不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 微信公众号&#xff1a;创享日记 发送关键词&#xff1a;prot…

C语言实用算法系列之学生管理系统_对整个结构体操作_冒泡排序_提取排序规则

代码 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <string.h> #include <stdlib.h> void Save();struct SUser {int nNumb;char sName[20];float fMath; }g_user[100];void Print() {puts("\n学号\t姓名\t数学");int i 0;while…

servlet 异常处理_Servlet异常和错误处理示例教程

servlet 异常处理有时候我写了一篇有关Java异常处理的文章&#xff0c;但是当涉及到Web应用程序时&#xff0c;我们需要的不仅仅是Java中的异常处理。 Servlet异常 如果您注意到&#xff0c;doGet&#xff08;&#xff09;和doPost&#xff08;&#xff09;方法将抛出ServletE…

基于51单片机直流电机PWM控制器设计

前些天发现了十分不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 由STC89C52单片机、LCD1602液晶显示屏、霍尔测速传感器、3V直…

C语言实用算法系列之学生管理系统_单向链表内操作_选择排序

单向链表实现 #include <stdio.h> #include <malloc.h>typedef int DATA;struct SNode {DATA data;SNode* pNext; }; SNode* g_pHead NULL;void AddHead(DATA data) {SNode* p (SNode*)malloc(sizeof(SNode));p->data data;p->pNext g_pHead;g_pHead p…

如何从过滤器中排除URL

默认情况下&#xff0c;过滤器不支持排除特定的URL模式&#xff0c;每当您为过滤器定义URL模式时&#xff0c;任何与该模式匹配的请求都将由过滤器无例外处理。 从过滤器中排除URL的最简单方法是将过滤器映射到非常特定的模式。 在早期开发阶段完成此操作是可行的&#xff0c;…

大林算法控制仿真实验(计控实验六simulink)

前些天发现了十分不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 微信公众号&#xff1a;创享日记 发送关键词&#xff1a;计控…

C语言实用算法系列之学生管理系统_单向链表内操作_提取排序规则

代码 后续文章的排序均采用速度较快的选择排序算法。 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <string.h> #include <stdlib.h>enum {READ_ONLY,HIDE,SYSTEM 55,TEST };typedef struct SUser {int nNumb;char sName[20];float fMath…

振铃的消除仿真实验(计控实验七simulink)

前些天发现了十分不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 微信公众号&#xff1a;创享日记 发送关键词&#xff1a;计控…

C语言实用算法系列之学生管理系统_单向链表外排序_栈内数组存储链表节点指针

代码 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <string.h> #include <stdlib.h>enum {READ_ONLY,HIDE,SYSTEM 55,TEST };typedef struct SUser {int nNumb;char sName[20];float fMath; }DATA;typedef struct SNode {DATA data;SNode*…