期刊文献+
共找到8篇文章
< 1 >
每页显示 20 50 100
基于OpenCL的Viola-Jones人脸检测算法性能优化研究 被引量:12
1
作者 贾海鹏 张云泉 +1 位作者 袁良 李士刚 《计算机学报》 EI CSCD 北大核心 2016年第9期1775-1789,共15页
Viola-Jones人脸检测算法是最为成功的可实用的人脸检测算法之一.然而,随着该算法所在领域数据处理规模的不断扩大,现有算法的性能已经越来越无法满足日益增长的交互性与实时性要求.使用GPU计算平台提升该算法性能,以满足日益增长的实... Viola-Jones人脸检测算法是最为成功的可实用的人脸检测算法之一.然而,随着该算法所在领域数据处理规模的不断扩大,现有算法的性能已经越来越无法满足日益增长的交互性与实时性要求.使用GPU计算平台提升该算法性能,以满足日益增长的实时性要求已经成为研究热点.然而,该算法在对GPU的实现和优化中,存在线程间负载不均衡的非规则特性,如果仅使用传统的优化方法,则难以在GPU计算平台上达到较高性能.针对此种情况,该文构建了针对此类算法的并行优化框架,通过Uberkernel、粗粒度并行、Persistent Thread、线程与数据的动态映射、全局及本地队列等优化方法的应用,突破了负载不均衡非规则特性导致的性能瓶颈,大幅提高了人脸检测算法在GPU计算平台上的性能.同时,该文通过对不同GPU计算平台关键性能参数的定义、抽取和传递,实现了该算法在不同GPU计算平台间的性能移植.实验结果表明,与OpenCV2.4中经过高度优化的CPU版本在Intel Xeon X5550CPU上的性能相比,优化后的算法在AMD HD7970和NVIDIA GTX680两个不同GPU计算平台上分别达到了11.24-20.27和9.24-17.62倍的加速比,不仅实现了高性能,而且实现了在不同GPU计算平台间的性能移植. 展开更多
关键词 OPENCL 负载不均衡 任务队列 线程与任务动态映射 性能移植
下载PDF
Improving performance portability for GPU-specific Open CL kernels on multi-core/many-core CPUs by analysis-based transformations
2
作者 Mei WEN Da-fei HUANG +1 位作者 Chang-qing XUN Dong CHEN 《Frontiers of Information Technology & Electronic Engineering》 SCIE EI CSCD 2015年第11期899-916,共18页
OpenCL is an open heterogeneous programming framework. Although OpenCL programs are func- tionally portable, they do not provide performance portability, so code transformation often plays an irreplaceable role. When ... OpenCL is an open heterogeneous programming framework. Although OpenCL programs are func- tionally portable, they do not provide performance portability, so code transformation often plays an irreplaceable role. When adapting GPU-specific OpenCL kernels to run on multi-core/many-core CPUs, coarsening the thread granularity is necessary and thus has been extensively used. However, locality concerns exposed in GPU-specific OpenCL code are usually inherited without analysis, which may give side-effects on the CPU performance. Typi- cally, the use of OpenCL's local memory on multi-core/many-core CPUs may lead to an opposite performance effect, because local-memory arrays no longer match well with the hardware and the associated synchronizations are costly. To solve this dilemma, we actively analyze the memory access patterns using array-access descriptors derived from GPU-specific kernels, which can thus be adapted for CPUs by (1) removing all the unwanted local-memory arrays together with the obsolete barrier statements and (2) optimizing the coalesced kernel code with vectorization and locality re-exploitation. Moreover, we have developed an automated tool chain that makes this transformation of GPU-specific OpenCL kernels into a CPU-friendly form, which is accompanied with a scheduler that forms a new OpenCL runtime. Experiments show that the automated transformation can improve OpenCL kernel performance on a multi-core CPU by an average factor of 3.24. Satisfactory performance improvements axe also achieved on Intel's many-integrated-core coprocessor. The resultant performance on both architectures is better than or comparable with the corresponding OpenMP performance. 展开更多
关键词 OpenCL Performance portability Multi-core/many-core CPU Analysis-based transformation
原文传递
Bellman-Ford算法性能可移植的GPU并行优化 被引量:7
3
作者 刘磊 王燕燕 +2 位作者 申春 李玉祥 刘雷 《吉林大学学报(工学版)》 EI CAS CSCD 北大核心 2015年第5期1559-1564,共6页
提出了一种面向GPU的性能可移植的并行归约求极值优化算法和全局访存优化算法,对Bellman-Ford算法进行并行化改造,以解决不同类型GPU设备上都存在的并行粒度不足和全局内存访问不连续等问题。实验结果表明:本文的优化算法在NVIDIA和AM... 提出了一种面向GPU的性能可移植的并行归约求极值优化算法和全局访存优化算法,对Bellman-Ford算法进行并行化改造,以解决不同类型GPU设备上都存在的并行粒度不足和全局内存访问不连续等问题。实验结果表明:本文的优化算法在NVIDIA和AMD的多款GPU设备上都取得了很好的效果,经本文算法优化后的程序性能较原始GPU并行版本提升3~6倍。 展开更多
关键词 计算机软件 Bellman-Ford算法 GPU并行编程及优化技术 并行归约算法 性能移植
下载PDF
SEMD:一种面向实际数值模拟软件的跨平台自动性能优化编程工具
4
作者 张鹏 张爱清 +1 位作者 莫则尧 王景焘 《计算物理》 CSCD 北大核心 2024年第1期52-63,共12页
针对手工软件性能优化缺乏可复用性和可移植性的问题,设计实现一种面向实际数值模拟软件的跨平台自动性能优化编程工具SEMD(Single element-based computing multiple data)。SEMD采用数值模拟领域基于网格的高层语义对数值计算循环进... 针对手工软件性能优化缺乏可复用性和可移植性的问题,设计实现一种面向实际数值模拟软件的跨平台自动性能优化编程工具SEMD(Single element-based computing multiple data)。SEMD采用数值模拟领域基于网格的高层语义对数值计算循环进行抽象,完全屏蔽底层硬件特征和性能优化实现,使得基于其编写的数值计算子程序能够自动实现跨平台性能可移植。典型算例测试结果显示:在X86、ARM、GPU三种不同架构的处理器上,SEMD的整体性能优化效果超过国际上的同类产品。此外,SEMD在结构、流体、电磁等领域实际数值模拟软件的研制中也得到了初步应用,支撑4款软件热点数值计算子程序平均性能提升164%. 展开更多
关键词 跨平台自动性能优化 性能移植 数值计算循环 编程接口
原文传递
基于Kokkos模板元编程的性能可移植求解器开发
5
作者 郑亮 黎坤运 +6 位作者 周兴彬 李永辉 于要杰 向玉开 胡健 柴华 郭黎 《数据与计算发展前沿》 CSCD 2024年第1期12-20,共9页
【目的】解决面向多样化异构计算架构的求解器应用编程问题。【应用背景】超级计算机的硬件架构日益多样化,新的异构架构因生态不够完善,往往导致软件移植研发门槛过高、研发周期过长,以及存在针对不同硬件反复适配、移植等问题。【方... 【目的】解决面向多样化异构计算架构的求解器应用编程问题。【应用背景】超级计算机的硬件架构日益多样化,新的异构架构因生态不够完善,往往导致软件移植研发门槛过高、研发周期过长,以及存在针对不同硬件反复适配、移植等问题。【方法】在Kokkos代数算子库基础上,开发一套面向国产E级计算环境的“性能可移植”模板元接口开源框架,用于线性代数求解器编程。【结果】本文给出其用于Krylov子空间算法的简单编程示范,实现了面向国产异构处理器的线性代数求解器移植,部分求解器相较于10核超线程Xeon CPU有数十倍以上加速。【结论】性能可移植编程可成为应对多样化异构计算的解决方案。 展开更多
关键词 性能移植 Kokkos 模板元编程 线性代数求解器
下载PDF
ParM:基于国产处理器的异构并行编程模型
6
作者 朱文龙 江嘉治 +1 位作者 黄聃 肖侬 《计算机工程与科学》 CSCD 北大核心 2023年第9期1521-1531,共11页
随着算力需求的增长,各种国产异构计算设备不断出现,这些设备都有其专用的编程模型,开发者需要根据不同设备的架构特点在专用的编程模型上进行开发,导致开发出的代码在设备间不具有可移植性。近年来国外已经出现了支持多种计算设备的统... 随着算力需求的增长,各种国产异构计算设备不断出现,这些设备都有其专用的编程模型,开发者需要根据不同设备的架构特点在专用的编程模型上进行开发,导致开发出的代码在设备间不具有可移植性。近年来国外已经出现了支持多种计算设备的统一异构并行编程模型,但针对国产设备的异构编程模型的研究和实现还比较少。针对该问题,开发了一套性能可移植的异构编程模型ParM。该编程模型以C++库的形式提供,屏蔽了大量的底层实现细节,降低了并行编程难度。该编程框架目前支持的后端设备有x86 CPU、NVIDIA GPU、华为鲲鹏处理器和华为昇腾AI处理器,并且对各种后端设备进行了性能优化。在各种设备上的性能测试表明,ParM编程模型的性能可以达到原始代码的90%以上。 展开更多
关键词 性能移植 并行编程模型 性能计算 异构计算 国产处理器
下载PDF
CUDA下单源最短路径算法并行优化 被引量:3
7
作者 张晗 钱育蓉 +2 位作者 王跃飞 陈人和 田宸玮 《计算机工程与设计》 北大核心 2019年第8期2181-2189,共9页
为设计基于固定序的Bellman-Ford算法在CUDA平台下并行优化方案,结合算法计算密集和数据密集的特点。从核函数计算层面,提出访存优化方法和基于固定序优化线程发散;从CPU-GPU传输层面,提出基于CUDA流优化数据传输开销方法。对不同显卡... 为设计基于固定序的Bellman-Ford算法在CUDA平台下并行优化方案,结合算法计算密集和数据密集的特点。从核函数计算层面,提出访存优化方法和基于固定序优化线程发散;从CPU-GPU传输层面,提出基于CUDA流优化数据传输开销方法。对不同显卡进行测试,参照共享内存容量划分线程块、缩减迭代后向量维度并使用CUDA流缩短首次计算时延,相比传统算法,改进后并行算法加速比在200倍左右。该并行优化方案验证了固定序在CUDA平台具有可行性和可移植性,可作为多平台研究参照。 展开更多
关键词 固定序改进算法 Bellman-Ford算法 并行计算 性能移植 图形处理器 统一计算设备架构
下载PDF
在Intel Knights Corner和NVIDIA Kepler架构上OpenACC的性能可移植性分析 被引量:1
8
作者 王一超 秦强 +1 位作者 施忠伟 林新华 《计算机科学》 CSCD 北大核心 2015年第1期75-78,共4页
OpenACC是一套基于指导语句方式的并行编程语言标准。编程者可以通过在代码中添加符合该标准的指导语句,经OpenACC编译器的编译,将串行代码并行化地移植到加速器或者协处理器上,进而获得异构加速器所带来的加速效果。OpenACC与CUDA和Ope... OpenACC是一套基于指导语句方式的并行编程语言标准。编程者可以通过在代码中添加符合该标准的指导语句,经OpenACC编译器的编译,将串行代码并行化地移植到加速器或者协处理器上,进而获得异构加速器所带来的加速效果。OpenACC与CUDA和OpenCL这类异构并行编程技术的不同之处在于,它的目的是使编程者在应用移植过程中不需要考虑加速器或协处理器的底层硬件架构,从而降低编程难度。同时它也具有仅需维护一套代码便可在不同硬件平台上运行的优良跨平台性。因此,OpenACC是一个值得研究的并行编程标准。如今的异构加速硬件设备呈现出多元化趋势。在2013年11月的Top500榜单上排名第一的"天河二号"使用了48000块构建在Intel Knights Corner架构之上的协处理器。与此同时,发布不久的NVIDIA公司最新的Kepler架构GPU产品由于多年来的GPU市场积累也迅速形成了可观的用户群体。对于并非追求性能极限的应用移植者而言,寻求应用性能和移植简易性之间的平衡是相当重要的议题。只需要编写一套代码便可运行在这两种硬件平台上的OpenACC正迎合了用户在移植简易性上的需求。解决了移植的简易性之后,同一个应用在不同硬件平台上的性能表现便成了用户最想了解的问题。通过实验和构建性能模型向读者展示使用OpenACC移植的应用在Intel Knights Corner和NVIDIA Kepler架构硬件上的性能可移植性。 展开更多
关键词 OpenACC 性能移植 性能计算
下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部