本发明属于并行优化领域,涉及一种用于波形互相关双差定位算法的并行优化方法。
背景技术:
双差定位法是一种受限制比较小的相对定位算法,其基本思想是:当两个微地震震源之间的距离相对于它们各自到观测点间的距离较小,且传播路径上的速度变化也较小时,这两个震源到同一个接收点的射线路径基本相同或者相近,这使得他们之间的走时残差与两震源点之间的距离有较强的相关性,从而降低了传播路径上速度对定位结果的影响。
波形互相关利用了“发震机理相同地震波形相似”的原理,通过对相似地震波形进行互相关分析,计算同一震相的走时差,主要有时间域和频率域两种方式。通过时间域(频率域)相关函数计算相似波形的相关系数,设定相关系数阈值,获取可用的到时差数据。
结合波形互相关的双差定位法被广泛用于大范围空间尺度上大量地震事件的重新定位中。davidp.schaff等通过计算震相的互相关系数获取震相到时差,并采用双差算法1999年发生在我国辽宁岫岩地震序列进行了重新定位,结果显示使用分布稀疏的区域台站(震中距在500~1000km)仍然可将定位精度提高到5km以内。杨智娴在国内首次将相对定位算法在我国中西部大范围内使用,经重新精确定位后显示出我国中西部地区地震震源分布更加精细的图像。朱艾斓使用双差地震定位法对川西地区1992—2002年的13367个小震进行重新定位,重新定位后,地震活动沿活动断裂成线状分布现象非常突出,呈现出与地表活动构造的密切关系。黄媛将近台记录和区域台网数据联合用于双差地震定位算法,对2003年新疆巴楚-伽师ms6.8强震后404个ml≥3.5余震序列进行双差法重新精确定位,并对其进行了理论上的可行性分析,结果获得初步成功。赵翠萍对1997—2002年新疆伽师震源区150多个地震,共计几百条波形数据进行了互相关分析,虽然由于可用台站的波形数据不多,得到的互相关走时结果不多,对定位精度的改进作用也不是很明显,但是通过这项工作,实现了批量计算波形互相关走时的可能性。
技术实现要素:
为了解决大规模应用波形互相关双差定位算法时的效率问题,本发明旨在提出一种用于波形互相关双差定位算法的并行优化方法,通过对核心步骤加速并行化,从而提高计算效率。
一种用于波形互相关双差定位算法的并行优化方法,步骤如下:
步骤1,获取总任务数和总进程数,并将总任务平均分给每个进程,并得出每个进程的任务初始位置。
步骤2,计算获取初始匹配位置as1bs2。
步骤3,计算获取结束匹配位置ae1be2。
步骤4,根据获取的as1bs2位置和ae1be2位置读取对应数据进行计算。
作为本发明的进一步改进,步骤1具体包括:
步骤101,首先选定两个台站,台站a和台站b,每个台站都有n天的数据,a台站第i天的数据可表示为ai,b台站第i天的数据可表示为bi,台站a和台站b之间的数据需要进行匹配计算,匹配方式是对每个ai,都需要和bj(j>i)进行匹配计算,匹配计算格式定义为aibj(1≤i<j≤n),由此便可得到a和b匹配计算总的任务数为
步骤102,将总进程个数定义为np,目标是求总任务平均分配给每个进程后,每个进程的任务初始匹配位置as1bs2和结束匹配位置ae1be2。
步骤103,将pairs_len整除np,得到每个进程要处理的任务数量,定义为task_numk,k表示进程索引,再将pairs_len余除np,得到暂未被分配到进程的任务数量,定义为residul_day;将residul_day个任务数分配到总进程中前residul_day个进程,所以前residul_day个进程任务数task_numk(k≤residul_day)自加1;至此完成进程任务数量分配。
步骤104,根据每个进程需要处理的任务数量task_numk,累加计算
作为本发明的进一步改进,步骤2具体包括:
步骤201,将ai需要做匹配计算的个数定义为a_leni,定义
步骤202,遍历整个a_sum数组,找到第一个大于每个进程中task_num_startp值的a_sumt,并保存t值。
步骤203,t-1即为开始匹配位置as1bs2中的s1,再由t-1值得到a_sumt-1。
步骤204,将task_num_startp-a_sumt-1即可得到每个进程在第t天的需要处理的任务数量
步骤205,再把步骤204中的task_num_startp-a_sumt-1值加上t,即可得到每个进程的初始匹配位置as1bs2中的s2,至此得到了每个进程的初始匹配位置as1bs2。
作为本发明的进一步改进,步骤3具体包括:
步骤301,定义变量nday1用于记录每个进程处理的任务aibj中imax-imin+1的值,nday1代表ai中i的个数。
步骤302,定义变量nday2用于记录每个进程处理的任务aibj中jmax-jmin+1的值,nday2代表bj中j的个数。
步骤303,定义变量day1_min,day2_min用于记录每个进程处理的任务aibj中最小的i和j;同时定义day1_start,day2_start表示步骤203、步骤205求出的as1bs2中的s1和s2。
步骤304,将day1_min+nday1-1即可得到得到ae1be2中的e1,将day2_start-day2_min+nday1即可得到ae1be2中的e2。
作为本发明的进一步改进,步骤4具体包括:
步骤401,定义结构体数组stk,k为进程索引,根据每个进程的初始匹配位置as1bs2和结束匹配位置ae1be2读入数据到结构体数组stk中。
步骤402,对结构体数组stk进行计算,公式为
t为ai、bj中数据的索引,至此得计算结果。
与常规计算相比,本发明通过大规模并行分配任务至每个进程,极大的提高了计算效率。当计算数据规模较大时,或者计算复杂度高时,仅用普通常规计算难以得到较好的效率,这时便需要设计合理高效的并行优化方案。本发明提供的技术利用已经公开的资料作为基础,构建实用的并行加速方案,大量减少了数据冗余问题,极大提高了效率。
附图说明
图1为本发明的并行优化方法的流程示意图。
图2为图1中步骤1的流程示意图。
图3为图1中步骤2的流程示意图。
图4为图1中步骤3的流程示意图。
图5为图1中步骤4的流程示意图。
图6为串行和并行模式下程序的加速比和计算时间比较图。
具体实施方式
下面通过具体的实施例并结合附图对本发明做进一步的详细描述。
实施例1
如图1所示,本发明实施例所述的一种用于波形互相关双差定位算法的并行优化方法,该方法包括:
步骤1,总任务数
步骤101,首先选定两个台站,台站a和台站b,每个台站都有731天的数据,a台站第i天的数据可表示为ai,b台站第i天的数据可表示为bi,台站a和台站b之间的数据需要进行匹配计算,匹配方式是对每个ai,都需要和bj(j>i)进行匹配计算,匹配计算格式定义为aibj(1≤i<j≤n),由此便可得到a和b匹配计算总的任务数为
步骤102,进程总共1024个,目标是求总任务平均分配给每个进程后,每个进程的任务初始匹配位置as1bs2,和结束匹配位置ae1be2。
步骤103,将266815整除1024,得到每个进程要处理的任务数量为260个,定义为task_numk,k表示进程索引,再将266815余除1024,得到暂未被分配到进程的任务数量为575个,将575个任务数分配到总进程中前575个进程,所以前575个进程任务数task_numk(k≤575)自加1;至此完成进程任务数量分配。
步骤104,根据每个进程需要处理的任务数量task_numk,累加计算
步骤2,计算获取初始匹配位置as1bs2。
步骤201,将ai需要做匹配计算的个数定义为a_leni,设
步骤202,遍历整个a_sum数组,找到第一个大于每个进程中task_num_startp值的a_sumt,并保存t值。
步骤203,t-1即为开始匹配位置as1bs2中的s1,再由t-1值得到a_sumt-1。
步骤204,将task_num_startp-a_sumt-1即可得到每个进程在第t天的需要处理的任务数量。
步骤205,再把步骤204中的task_num_startp-a_sumt-1值加上t,即可得到每个进程的初始匹配位置as1bs2中的s2,至此得到了每个进程的初始匹配位置as1bs2。
步骤3,计算获取结束匹配位置ae1be2。
步骤301,定义变量nday1用于记录每个进程处理的任务aibj中imax-imin+1的值,nday1代表ai中i的个数。
步骤302,定义变量nday2用于记录每个进程处理的任务aibj中jmax-jmin+1的值,nday2代表bj中j的个数。
步骤303,定义变量day1_min,day2_min用于记录每个进程处理的任务aibj中最小的i和j;同时定义day1_start,day2_start表示步骤203、步骤205求出的as1bs2中的s1和s2。
步骤304,将day1_min+nday1-1即可得到得到ae1be2中的e1,将day2_start-day2_min+nday1即可得到ae1be2中的e2。
步骤4,根据获取的as1bs2位置和ae1be2位置读取对应数据进行计算。
步骤401,定义结构体数组stk,k为进程索引,根据每个进程的初始匹配位置as1bs2和结束匹配位置ae1be2读入数据到结构体数组stk中。
步骤402,对结构体数组stk进行计算,公式为
t为ai、bj中数据的索引,至此得到计算结果。
图6为串行和并行模式下程序的加速比和计算时间比较,左轴为加速比,右轴为计算时间,单位小时。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
深圳SEO优化公司凉山网站开发报价林芝英文网站建设楚雄企业网站改版光明网站优化按天计费报价锦州网站搜索优化公司贺州网站优化按天收费呼和浩特网络广告推广公司漳州优秀网站设计价格桐城网站建设设计公司潜江企业网站改版公司淮南网站设计报价兴安盟百度网站优化排名推荐平凉网站定制公司铜仁网页设计多少钱湘潭SEO按天扣费哪家好荆门网站优化排名报价白城建站哪家好阳泉建站公司垦利百度seo公司临夏网站优化按天收费价格襄阳模板网站建设哪家好运城网站推广公司天水网站设计多少钱山南关键词排名包年推广价格保定英文网站建设报价青岛网络广告推广公司莱芜建设网站哪家好龙岩网站改版报价肇庆百度网站优化推荐深圳高端网站设计多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运