一种基于GPU的归并排序并行实现

0️⃣归并排序流程

image-20241103004334657
  1. 分割过程:将待排序数组等分为左右子数组,再对左右子数组递归式等分,直至不可分割
  2. 合并过程:将所有子数组两两递归合并,逐步得到较大有序数组,直到得到完整有序数组

1️⃣传统的并行归并

  1. 线程映射:为每个合并操作分配一个线程

    image-20241103142839348
  2. 问题所在:随着归并的进行 → { 同时合并的数组减少 → 并行工作的线程减少 单次合并的数组更长 → 单线程运行时间变长 → \small\to\begin{cases}同时合并的数组减少\to{}并行工作的线程减少\\\\单次合并的数组更长\to{}单线程运行时间变长\end{cases}\to 同时合并的数组减少并行工作的线程减少单次合并的数组更长单线程运行时间变长导致大量线程排序完成前空闲

2️⃣并行合并历程

  1. 线程映射:为合并操作中每个列表的每个元素都分配一个线程

    image-20241103142839348
  2. 并行合并历程:对于给定量已排序的待合并表 A A A B B B

    image-20241103151323537
    • 线程索引: 为两列表中每个元素(邻居)分配一线程,线程索引 = = =元素在自己列表里的位置索引
    • 位置计算:通过二分查找,找出两列表中每个元素插入对方列表后的索引
    • 列表合并:将每个元素的两个索引相加即得元素在新的合并列表中的索引,由此得到合并列表

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL】数据类型

目录 一、常见数据类型汇总 二、数值类型 2.1 tinyint 2.2 bit 2.3 float 2.4 decimal 三、字符串类型 3.1 char 3.2 varchar 四、日期和时间类型 五、枚举和集合 5.1 enum枚举 5.2 set集合 一、常见数据类型汇总 分类数据类型说明数值类型BIT(M)二进制位。M指定…

《探索 HarmonyOS NEXT (5.0):开启构建模块化项目架构奇幻之旅 —— 动态路由 ZRouter:引领高效模块通信的智慧中枢》

ZRouter简介:是一款轻量级的动态路由框架,基于Navigation系统路由表和Hvigor插件实现的方案,可以解决多个业务模块(HAR/HSP)之间解耦和通信问题,从而实现业务复用和功能扩展。 ZRouter出处ZRouter&#xff…

网络原理(数据链路层)->以太网帧格式解

前言 大家好我是小帅,今天我们来了解以太网帧格式 个人主页 文章目录 1.数据链路层1.1 认识以太⽹1.2 MAC地址(⽹卡的硬件地址)1.2.1 对⽐理解MAC地址和IP地址 1.3 认识MTU1.4 MTU对IP协议的影响1. 5 MTU对UDP协议的影响1.6 MTU对于TCP协议的…

银行金融知识竞赛活动策划方案

根据《中国人民银行**市中心支行“创新金融服务,支持经济发展”业务竟赛活动实施方案》安排,中支决定于9月28日举办**市人民银行系统“创新金融服务,支持经济发展”现场业务竞赛,为确保业务竞赛组织工作顺利开展,特制定…

渗透测试练习题解析 7 (CTF web)

一、[红明谷CTF 2021]write_shell 1 考点: 1、PHP 短标签 2、 符号的使用 通过代码可知 check 是一个过滤函数,利用正则的方式过滤掉 空格、php、eval 等一些关键字或符号,$dir 是路径,这个值可以通过 actionpwd 获取到&#…

VBA中类的解读及应用第十七讲:类,让文本框在激活时改变颜色(下)

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。 类,是非常抽象的,更具研究的价值。随着我们学习、应用VBA的深入&#xff0…

如何下载安装TestLink?

一、下载TestLink、XAMPP TestLink 下载 |SourceForge.net 备用:GitHub - TestLinkOpenSourceTRMS/testlink-code: TestLink开源测试和需求管理系统 下载XAMPP: Download XAMPP 注意:TestLink与PHP版本有关系,所以XA…

基于SpringBoot+微信小程序+协同过滤算法+二维码订单位置跟踪的农产品销售平台-新

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: “农产品商城”小程序…

实现旺店通到金蝶云星空的数据集成:技术详解

旺店通旗舰版数据集成到金蝶云星空案例分享:入库瞬时成本-生产入库单-1 在企业日常运营中,数据的高效流转和准确对接是确保业务顺利进行的关键。本文将聚焦于一个具体的系统对接集成案例——如何将旺店通旗舰版的数据集成到金蝶云星空,以实现…

selinux与防火墙

一.selinux (1).什么是selinux SELinux是Security-Enhanced Linux的缩写,意思是安全强化的linu。 SELinux是对程序、文件等权限设置依据的一个内核模块。由于启动网络服务的也是程序,因此刚好也 是能够控制网络服务能否访问系统资源的一道关卡。 (2)…

【论文精读】LPT: Long-tailed prompt tuning for image classification

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀论文精读_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 摘要 2. …

链表详解(三)

目录 链表功能实现链表的查找SLNode* SLFind(SLNode* phead, SLNDataType x)代码 链表任意位置前插入void SLInsert(SLNode**pphead,SLNode* pos, SLNDataType x)代码 链表任意位置前删除void SLErase(SLNode**pphead,SLNode* pos)代码 链表任意位置后插…

有php转go项目经验者优先?

新的一周又来了,今天分享的是上海某公司的一面面经,内容主要就是go、mysql和项目,职位要求如下: 发现一个很有意思的点—有php转go项目经验者优先。想不到还有这种好事,本人就是php转go,跟我有相同经历的朋…

【AI换脸整合包及教程】AI 换脸新潮流:FaceFusion 3.0.0,开启无限创意之旅

在科技飞速发展的今天,人工智能已经深入到我们生活的各个角落。其中,AI 换脸技术以其惊人的创造力和趣味性,吸引了无数人的目光。而在众多 AI 换脸工具中,FaceFusion 3.0.0 脱颖而出,成为了引领潮流的佼佼者。 一、AI …

【智慧中控项目】

智慧中控 前言一、搭建开发环境1.需要做什么?1.1 刷机和启动OrangePi Zero2(全志H616芯片)1.2 在PC上安装虚拟机VM(安装VirtualBox或VMware:这是常用的虚拟机软件工具)1.3 在虚拟机VM(VirtualBo…

“短线看涨”,上升周期中,抓以小波段行情,落袋为安

使用技巧 短线看涨指标属于副图公式,短线怎么操作?看蓝色短期安全线 这个公式主要是在上升周期中,抓以小波段行情为主,落袋为安 弱水三千 只取一瓢 公式 DIFM:(EMA(C,240)-EMA(C,520)); DEAM:EMA(DIFM,180); MACD&#xff08…

21_双端 diff 算法

目录 双端比较的原理非理想状况的处理方式添加新元素移除不存在的元素 在上一节中,我们实现了简单的 diff 算法,简单的 diff 算法利用 key 属性,尽可能的复用 DOM 元素,并通过移动 DOM 元素来完成更新,从而减少不断创建…

微服务实战系列之玩转Docker(十六)

导览 前言Q:基于容器云如何实现高可用的配置中心一、etcd入门1. 简介2. 特点 二、etcd实践1. 安装etcd镜像2. 创建etcd集群2.1 etcd-node12.2 etcd-node22.3 etcd-node3 3. 启动etcd集群 结语系列回顾 前言 Docker,一个宠儿,一个云原生领域的…

注册信息的提交

动态网页是指能够根据用户的操作或输入动态变化的网页。与静态网页相比,动态网页具有交互性和可变性。 一 动态网页概念 动态网页通常使用脚本语言(如JavaScript)与服务器进行交互,从服务器获取数据并动态更新网页内容。常见的动…

aws 部署测试环境服务+ip域名绑定

aws 部署springboot vue ip域名绑定域名 1.新建实例之后,作为测试环境开放mysql入出站规则,route53域名,红框中放入阿里云域名 1.设置出入站规则 实例应用安全组 2.mysql aws部署,redis,java环境,参见之前文章腾讯…