CN112148361B - 一种用于处理器加密算法移植的方法及系统 - Google Patents

一种用于处理器加密算法移植的方法及系统 Download PDF

Info

Publication number
CN112148361B
CN112148361B CN202010891735.3A CN202010891735A CN112148361B CN 112148361 B CN112148361 B CN 112148361B CN 202010891735 A CN202010891735 A CN 202010891735A CN 112148361 B CN112148361 B CN 112148361B
Authority
CN
China
Prior art keywords
core
calculation
processor
data
slave
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010891735.3A
Other languages
English (en)
Other versions
CN112148361A (zh
Inventor
魏志强
王丹丹
邢彪
杨永全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ocean University of China
Qingdao National Laboratory for Marine Science and Technology Development Center
Original Assignee
Ocean University of China
Qingdao National Laboratory for Marine Science and Technology Development Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ocean University of China, Qingdao National Laboratory for Marine Science and Technology Development Center filed Critical Ocean University of China
Priority to CN202010891735.3A priority Critical patent/CN112148361B/zh
Publication of CN112148361A publication Critical patent/CN112148361A/zh
Application granted granted Critical
Publication of CN112148361B publication Critical patent/CN112148361B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)

Abstract

本发明公开了一种用于处理器加密算法移植的系统及方法,属于异构众核处理器技术领域。本发明方法包括:使用两级并行的编程模型,将处理器主核串行程序中的计算密集型数据或访存密集型数据,分配至处理器从核;处理器从核通过批量访存DMA的处理方式对分配的计算密集型数据或访存密集型数据,存放至核局存LDM空间进行快速计算,所述快速计算完成后,即完成对处理器加密算法的移植;所述快速计算过程中,通过同步和加锁操作对执行中竞争的资源进行分配。本发明提出的方法,实现了资源的合理化分配,减小了算法的工作量,通信的时间,实现了计算隐藏访存。

Description

一种用于处理器加密算法移植的方法及系统
技术领域
本发明涉及异构众核处理器技术领域,并且更具体地,涉及一种用于处理器加密算法移植的方法及系统。
背景技术
处理器的发展已经进入到了多核甚至众核时代。其中,神威太湖之光是我国自主研发具有国内计算能力最强的超级计算机,同时搭载“申威26010”异构众核处理器,其峰值运算速度超过10亿亿次量级。
“申威26010”异构众核处理器采用片上计算阵列集群和分布式共享存储相结合的异构众核体系结构,集成了4个运算核组共260个运算核心。每个核组包含1个运算控制核心(主核)和1个运算核心阵列(从核阵列),运算控制核心和运算核心均可以访问芯片上的所有主存空间。同时,“神威·太湖之光”计算机系统拥有完善的软件系统。其中,操作系统使用定制的64位Linux操作系统,支持作业调度、资源管理、并行文件系统等系统软件。并行开发环境支持国产异构众核程序的编译、性能分析、并行调试、性能监控等。编程语言可使用C/C++/Fortran语言等,在并行开发过程中核组间可采用MPI实现并行,从核之间可通过OpenACC并行编程标准或可操性更强的Athread细粒度加速线程实现并行操作。
硬件和软件的发展是相互依存的。硬件是物质基础,软件是上层建筑,物质基础决定了上层建筑。多核处理器的发展为软件的发展带来了机遇和挑战。一方面,多核处理器可以使用空间来换取时间;另一方面,多核处理器的设计架构对软件设计提出了新的要求:将程序的哪部分实现多线程可以获取最佳性能优化;如何将多线程分配到不同的从核进行执行;如何实现线程间的负载均衡;如何实现主从核数据的实时交互;传统的X86的串行程序不适用于当前异构多核架构,这就要求重写软件设计方案以适应现有的并行框架。
如上所述,“神威·太湖之光”计算机系统采用基于高密度弹性超节点和高流量复合网络架构、面向多目标优化的高效能体系结构。但是由于该体系结构的软硬件系统都是我国自主研发,与之前处理器的体系架构差距很大,并且目前处于研究初级阶段,参考资料少之又少。所以软件移植问题一直是该平台得以充分利用的最大难题。
发明内容
针对上述问题,本发明提出了一种用于处理器加密算法移植的方法,包括:
使用两级并行的编程模型,将处理器主核串行程序中的计算密集型数据或访存密集型数据,分配至处理器从核;
处理器从核通过批量访存DMA的处理方式对分配的计算密集型数据或访存密集型数据,存放至核局存LDM空间进行快速计算,所述快速计算完成后,即完成对处理器加密算法的移植;
所述快速计算过程中,通过同步和加锁操作对执行中竞争的资源进行分配。
可选的,通过同步和加锁操作对执行中竞争的资源进行分配的过程中,通过计算隐藏访存的方式进行优化分配。
可选的,移植处理前,通过gprof工具确定移植的串行程序中的热点函数,根据串行程序的数据结构确定全局变量和从核的局部变量。
可选的,从核核组之间使用MPI并行。
可选的,通过同步和加锁操作对执行中竞争的资源进行分配,根据均匀分配策略进行分配,所述均匀分配策略,具体为:
每个从核处理相同的轮次,每次从主核中获取分配的数据块,未获取的数据块平分给64个从核;
若平分后数据块存在剩余,则根据从核编号从小至大的顺序,每个从核再次分配1个数据块,直至分配完毕。
可选的,LDM的空间,以预设比例进行分配,一部分用于数据传输,另一部分用于计算;
所述用于计算部分的空间大小,设置为从核单轮次获取任务的最大长度;
可选的,计算隐藏访存的方式,以主从动态并行模式为基础。
本发明还提出了一种用于处理器加密算法移植的系统,包括:
分配单元,使用两级并行的编程模型,将处理器主核串行程序中的计算密集型数据或访存密集型数据,分配至处理器从核;
移植单元,处理器从核通过批量访存DMA的处理方式对分配的计算密集型数据或访存密集型数据,存放至核局存LDM空间进行快速计算,所述快速计算完成后,即完成对处理器加密算法的移植;
所述快速计算过程中,通过同步和加锁操作对执行中竞争的资源进行分配。
可选的,通过同步和加锁操作对执行中竞争的资源进行分配的过程中,通过计算隐藏访存的方式进行优化分配。
可选的,移植处理前,通过gprof工具确定移植的串行程序中的热点函数,根据串行程序的数据结构确定全局变量和从核的局部变量。
可选的,从核核组之间使用MPI并行。
可选的,通过同步和加锁操作对执行中竞争的资源进行分配,根据均匀分配策略进行分配,所述均匀分配策略,具体为:
每个从核处理相同的轮次,每次从主核中获取分配的数据块,未获取的数据块平分给64个从核;
若平分后数据块存在剩余,则根据从核编号从小至大的顺序,每个从核再次分配1个数据块,直至分配完毕。
可选的,LDM的空间,以预设比例进行分配,一部分用于数据传输,另一部分用于计算;
所述用于计算部分的空间大小,设置为从核单轮次获取任务的最大长度;
可选的,计算隐藏访存的方式,以主从动态并行模式为基础。
本发明提出的方法,实现了资源的合理化分配,减小了算法的工作量,通信的时间,实现了计算隐藏访存。
附图说明
图1为本发明一种用于处理器加密算法移植的方法流程图;
图2为本发明一种用于处理器加密算法移植的方法实施例流程图
图3为本发明一种用于处理器加密算法移植的方法实施例流程图
图4为本发明一种用于处理器加密算法移植的方法实施例流程图
图5为本发明一种用于处理器加密算法移植的方法实施例流程图
图6为本发明一种用于处理器加密算法移植的方法实施例流程图
图7为本发明一种用于处理器加密算法移植的系统结构图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
本发明提出了一种用于处理器加密算法移植的方法,如图1所示,包括:
使用两级并行的编程模型,将处理器主核串行程序中的计算密集型数据或访存密集型数据,分配至处理器从核;
处理器从核通过批量访存DMA的处理方式对分配的计算密集型数据或访存密集型数据,存放至核局存LDM空间进行快速计算,所述快速计算完成后,即完成对处理器加密算法的移植;
快速计算过程中,通过同步和加锁操作对执行中竞争的资源进行分配。
其中,通过同步和加锁操作对执行中竞争的资源进行分配的过程中,通过计算隐藏访存的方式进行优化分配。
移植处理前,通过gprof工具确定移植的串行程序中的热点函数,根据串行程序的数据结构确定全局变量和从核的局部变量。
从核核组之间使用MPI并行。
通过同步和加锁操作对执行中竞争的资源进行分配,根据均匀分配策略进行分配,所述均匀分配策略,具体为:
每个从核处理相同的轮次,每次从主核中获取分配的数据块,未获取的数据块平分给64个从核;
若平分后数据块存在剩余,则根据从核编号从小至大的顺序,每个从核再次分配1个数据块,直至分配完毕。
LDM的空间,以预设比例进行分配,一部分用于数据传输,另一部分用于计算;
用于计算部分的空间大小,设置为从核单轮次获取任务的最大长度;
计算隐藏访存的方式,以主从动态并行模式为基础。
下面结合本发明实施例对本发明进行进一步说明:
本发明实施例基于异构众核处理器实现,异构众核处理器架构示意图如图2所示,针对异构众核处理器完成对加密算法的移植,及对移植的优化,流程如图3所示,包括:
在移植部分,主要使用两级并行编程模型将串行程序中计算密集型数据或访存密集型数据分配到从核并行实现,如图4所示,同时从核通过DMA的方式如图5所示,将分配的数据放在自身的LDM空间进行快速计算,在并行过程中通过同步和加锁操作对程序执行中竞争的资源实现合理化分配;
在优化部分,采用充分利用局存LDM空间缓解主存访问压力、DMA批量访问内存和计算隐藏访存方法来提高算法的性能。
在执行移植操作之前,使用gprof工具分析需要移植的串行程序中的热点函数,分析程序的数据结构确定一些全局变量和从核的局部变量如图6所示,为了充分发挥从核计算性能,核组之间采用MPI并行,从核之间使用OpenACC或可操性更强的Athread细粒度加速线程实现并行操作。
异构众核处理器中从核访问主存空间主要有两种方式:一种是离散访存(gld/gst),另一种是批量访存(DMA)。
本发明使用DMA(批量内存访问)方式将主存数据获取到从核局存(LDM)空间,在DMA传输中依赖于CPU的大量中断负载,CPU只是初始化这个传输动作,传输动作本身是由DMA控制器来实行和完成,数据传输开销相对较小。
充分利用从核局存LDM空间,从核从LDM空间获取数据进行计算仅需要十几cycle,然而从核从主存空间获取数据进行计算需要几百cycle,所以需要使用DMA批量访问主存,以减少从核访问主存空间的次数,从核分配数据采用尽可能均匀分配策略,每个从核处理相同的轮次,每次从主核中获取分配的数据块,多余的数据块平分给64个从核,如果还有剩余的数据块,则根据从核号从小到大,每个从核的任务数量加1,直到任务分配完毕。
从核局存大小64KB,其中一部分用于数据传输,另一部分用于计算,尽量缩小数据传输和计算的开销比例,可以有效降低时间消耗,将54KB局存空间设置为从核单轮次获取任务的最大长度,剩余空间用于存储从主存中获取的需要频繁使用的变量和常量,从而避免每次使用相关参数的时候都要进行主从通信,而且将多个数据项存储在结构体中,这样从核在获取这些数据时,只进行一次数据请求,可以有效减少通信的时间消耗。
考虑带宽特性,在主从动态并行模式的基础上采用计算隐藏访存优化数据传输性能,主从动态并行模式是主核负责任务分配,从核负责任务计算并回写计算结果,该并行方法比较适合从核计算任务的计算时间不固定或者针对一些任务并行的程序,从而提高计算和并行效率。
计算隐藏访存过程包含三类模块,分别是任务划分模块、从核计算模块和数据更新模块,每个从核计算模块都代表一个完整的从核执行周期,每个任务划分模块和每个数据更新模块都负责为其相应的从核计算模块划分任务和更新数据,其中任务划分模块和数据更新模块都由主核负责,且为串行执行。
当从核处于第N个执行周期时,主核先为第N+1个从核执行周期划分任务,再将第N-1个从核执行周期计算出的中间数据更新到最终结果中,因此,该并行模式在保证功能正确性的前提下,实现了主核任务划分和数据更新过程与从核的计算过程的高效重叠,从而实现了计算隐藏访存。
本发明还提出了一种用于处理器加密算法移植的系统200,如图7所示,包括:
分配单元201,使用两级并行的编程模型,将处理器主核串行程序中的计算密集型数据或访存密集型数据,分配至处理器从核;
移植单元202,处理器从核通过批量访存DMA的处理方式对分配的计算密集型数据或访存密集型数据,存放至核局存LDM空间进行快速计算,所述快速计算完成后,即完成对处理器加密算法的移植;
所述快速计算过程中,通过同步和加锁操作对执行中竞争的资源进行分配。
其中,通过同步和加锁操作对执行中竞争的资源进行分配的过程中,通过计算隐藏访存的方式进行优化分配。
移植处理前,通过gprof工具确定移植的串行程序中的热点函数,根据串行程序的数据结构确定全局变量和从核的局部变量。
从核核组之间使用MPI并行。
通过同步和加锁操作对执行中竞争的资源进行分配,根据均匀分配策略进行分配,所述均匀分配策略,具体为:
每个从核处理相同的轮次,每次从主核中获取分配的数据块,未获取的数据块平分给64个从核;
若平分后数据块存在剩余,则根据从核编号从小至大的顺序,每个从核再次分配1个数据块,直至分配完毕。
LDM的空间,以预设比例进行分配,一部分用于数据传输,另一部分用于计算;
所述用于计算部分的空间大小,设置为从核单轮次获取任务的最大长度;
计算隐藏访存的方式,以主从动态并行模式为基础。
本发明提出的方法,实现了资源的合理化分配,减小了算法的工作量,通信的时间,实现了计算隐藏访存。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种用于处理器加密算法移植的方法,所述方法包括:
使用两种同步运行的编程模型,将处理器主核串行程序中的计算密集型数据或访存密集型数据,分配至处理器从核;
处理器从核通过批量访存DMA的处理方式对分配的计算密集型数据或访存密集型数据,存放至核局存LDM空间进行快速计算,所述快速计算完成后,即完成对处理器加密算法的移植;
所述快速计算过程中,通过同步和加锁操作对执行中竞争的资源进行分配;
所述通过同步和加锁操作对执行中竞争的资源进行分配的过程中,通过计算隐藏访存的方式进行优化分配;
所述通过同步和加锁操作对执行中竞争的资源进行分配,根据均匀分配策略进行分配,所述均匀分配策略,具体为:
每个从核处理相同的轮次,每次从主核中获取分配的数据块,未获取的数据块平分给64个从核;
若平分后数据块存在剩余,则根据从核编号从小至大的顺序,每个从核再次分配1个数据块,直至分配完毕。
2.根据权利要求1所述的方法,所述移植处理前,通过gprof工具确定移植的串行程序中的热点函数,根据串行程序的数据结构确定全局变量和从核的局部变量。
3.根据权利要求1所述的方法,所述从核核组之间使用MPI并行。
4.根据权利要求1所述的方法,所述LDM的空间,以预设比例进行分配,一部分用于数据传输,另一部分用于计算;
所述用于计算部分的空间大小,设置为从核单轮次获取任务的最大长度。
5.根据权利要求1所述的方法,所述计算隐藏访存的方式,以主从动态并行模式为基础。
6.一种用于处理器加密算法移植的系统,所述系统包括:
分配单元,使用两种同步运行的编程模型,将处理器主核串行程序中的计算密集型数据或访存密集型数据,分配至处理器从核;
移植单元,处理器从核通过批量访存DMA的处理方式对分配的计算密集型数据或访存密集型数据,存放至核局存LDM空间进行快速计算,所述快速计算完成后,即完成对处理器加密算法的移植;
所述快速计算过程中,通过同步和加锁操作对执行中竞争的资源进行分配;
所述通过同步和加锁操作对执行中竞争的资源进行分配的过程中,通过计算隐藏访存的方式进行优化分配;
所述通过同步和加锁操作对执行中竞争的资源进行分配,根据均匀分配策略进行分配,所述均匀分配策略,具体为:
每个从核处理相同的轮次,每次从主核中获取分配的数据块,未获取的数据块平分给64个从核;
若平分后数据块存在剩余,则根据从核编号从小至大的顺序,每个从核再次分配1个数据块,直至分配完毕。
7.根据权利要求6所述的系统,所述移植处理前,通过gprof工具确定移植的串行程序中的热点函数,根据串行程序的数据结构确定全局变量和从核的局部变量。
8.根据权利要求6所述的系统,所述从核核组之间使用MPI并行。
9.根据权利要求6所述的系统,所述LDM的空间,以预设比例进行分配,一部分用于数据传输,另一部分用于计算;
所述用于计算部分的空间大小,设置为从核单轮次获取任务的最大长度。
10.根据权利要求6所述的系统,所述计算隐藏访存的方式,以主从动态并行模式为基础。
CN202010891735.3A 2020-08-27 2020-08-27 一种用于处理器加密算法移植的方法及系统 Active CN112148361B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010891735.3A CN112148361B (zh) 2020-08-27 2020-08-27 一种用于处理器加密算法移植的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010891735.3A CN112148361B (zh) 2020-08-27 2020-08-27 一种用于处理器加密算法移植的方法及系统

Publications (2)

Publication Number Publication Date
CN112148361A CN112148361A (zh) 2020-12-29
CN112148361B true CN112148361B (zh) 2022-03-04

Family

ID=73889617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010891735.3A Active CN112148361B (zh) 2020-08-27 2020-08-27 一种用于处理器加密算法移植的方法及系统

Country Status (1)

Country Link
CN (1) CN112148361B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522127A (zh) * 2018-11-19 2019-03-26 西安交通大学 一种基于gpu的流体机械仿真程序异构加速方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095583B (zh) * 2016-06-20 2018-04-17 国家海洋局第一海洋研究所 基于新神威处理器的主从核协同计算编程框架
CN106775594B (zh) * 2017-01-13 2019-03-19 中国科学院软件研究所 一种基于申威26010处理器的稀疏矩阵向量乘异构众核实现方法
CN107168683B (zh) * 2017-05-05 2020-06-09 中国科学院软件研究所 申威26010众核cpu上gemm稠密矩阵乘高性能实现方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522127A (zh) * 2018-11-19 2019-03-26 西安交通大学 一种基于gpu的流体机械仿真程序异构加速方法

Also Published As

Publication number Publication date
CN112148361A (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
CN112306678B (zh) 一种基于异构众核处理器的算法并行处理方法及系统
Olmedo et al. Dissecting the CUDA scheduling hierarchy: a performance and predictability perspective
CN105487838A (zh) 一种动态可重构处理器的任务级并行调度方法与系统
US20120233486A1 (en) Load balancing on heterogeneous processing clusters implementing parallel execution
US9146609B2 (en) Thread consolidation in processor cores
CN104714850B (zh) 一种基于opencl的异构共同计算均衡方法
CN103279390B (zh) 一种面向小作业优化的并行处理系统
CN102193830B (zh) 面向众核环境的分治映射/归约并行编程模型
US20240086359A1 (en) Dynamic allocation of arithmetic logic units for vectorized operations
Chen et al. Adaptive cache aware bitier work-stealing in multisocket multicore architectures
US20170371713A1 (en) Intelligent resource management system
Ashraf et al. Toward exascale computing systems: An energy efficient massive parallel computational model
Binet et al. Multicore in production: Advantages and limits of the multiprocess approach in the ATLAS experiment
Liu et al. Funcpipe: A pipelined serverless framework for fast and cost-efficient training of deep learning models
Chen et al. Contention and locality-aware work-stealing for iterative applications in multi-socket computers
Dominico et al. An elastic multi-core allocation mechanism for database systems
CN112148361B (zh) 一种用于处理器加密算法移植的方法及系统
CN114930292A (zh) 协作式工作窃取调度器
Pilla et al. Asymptotically optimal load balancing for hierarchical multi-core systems
Panja et al. MND-MST: A Multi-Node Multi-Device Parallel Boruvka's MST Algorithm
Wei et al. Memory reduction using a ring abstraction over gpu rdma for distributed quantum monte carlo solver
Chandrashekar et al. Performance Model of HPC Application On CPU-GPU Platform
Chandrashekhar et al. Prediction Model for Scheduling an Irregular Graph Algorithms on CPU–GPU Hybrid Cluster Framework
Tarakji et al. The development of a scheduling system GPUSched for graphics processing units
Saidi et al. Optimizing two-dimensional DMA transfers for scratchpad Based MPSoCs platforms

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant