当前位置: 首页 > 范文大全 > 公文范文 >

众核多计算模式系统的构建

时间:2022-03-17 08:14:55  浏览次数:

zoޛ)j馓U 2�)ez]ʗ@%i)ez]P0?]w3`5N7u]M4N??viPgz>ǂjn)qjbrǬ)Rxzc=O_]Pc=MWPi`Bjn't7ǀb-P0P0P0c	@%�%�%�%�%�%�R;iP0P0kW-tנPc	@	@zP	w)ez]5|zP0P0P0P0P0?ʗ@%�W-vܧʗCiivii	w馟vi	@	@P0P0P0P0P0P0P0ʗ@%�%ixvin申请存储空间作为存放数据的缓冲池,按需要建立指定数量的单向指针链表,每个指针链表代表一个数据缓冲区,在众核处理系统的计算模式切换时,可根据并行任务数目的变化修改指针链表的节点数,使每个数据缓冲区占用的存储空间按需滑动,以提高整个数据缓池数据的传递效率。

2.4 计算库动态加载

在对计算任务的执行函数进行加载时,采用动态共享库的方式,因为动态链接的共享库具有动态加载、封装实现、节省内存等优点,可以把众核计算单元的执行函数与逻辑控制程序相隔离,降低了众核计算与逻辑控制的耦合度,增加了可扩展性和灵活性。

在动态加载计算库前,需要将执行函数编译生成动态共享库,进而在程序中进行显示调用。当调用时使用动态加载API,该过程首先调用dlopen以打开指定名字的动态共享库,并获得共享对象的句柄;而后通过调用dlsym,根据动态共享库操作句柄与符号获取该符号对应的函数的执行代码地址;在取得执行代码地址后,就可以根据共享库提供的接口调用与计算任务对应的执行函数,将执行函数发射到众核计算单元,由众核计算单元根据执行函数的配置参数组织计算资源进行计算;当不会再调用共享对象时调用dlclose关闭指定句柄的动态共享库。

3 结 语

针对复杂应用领域计算任务对多种计算模式的需求,本文研究了众核处理机结构,根据NVIDIA Kepler GK110架构中Hyper⁃Q与CUDA流的特性,构建了可单任务并行计算、多任务并行计算、多任务流式计算间动态切换的众核多计算模式系统,能够提高实时计算平台的灵活性,以适应不同的任务计算需求。下一步的研究方向是挖掘GPU中硬件工作链路与SM(Streaming Multiprocessor)间的映射机制。

参考文献

[1] 任永青.逻辑核动态可重构的众核处理器体系结构[D].合肥:中国科学技术大学,2010.

[2] 许牧.可重构众核流处理器体系结构关键技术研究[D].合肥:中国科学技术大学,2012.

[3] 曹仰杰,钱德沛,伍卫国,等.众核处理器系统核资源动态分组的自适应调度算法[J].软件学报,2012(2):240⁃252.

[4] 肖汉,肖波,冯娜,等.基于CUDA的细粒度并行计算模型研究[J].计算机与数字工程,2013(5):801⁃804.

[5] 宋晓丽,王庆.基于GPGPU的数字图像并行化预处理[J].计算机测量与控制,2009(6):1169⁃1171.

[6] 邓志权.基于GPGPU的实时高质量光线投射算法研究[D].广州:华南理工大学,2012.

[7] 顾青,高能,包珍珍,等.基于GPGPU和CUDA的高速AES算法的实现和优化[J].中国科学院研究生院学报,2011(6):776⁃785.

[8] 李玉峰,吴蔚,王恺,等.基于GPGPU的JPEG2000图像压缩方法[J].电子器件,2013(2):163⁃168.

[9] FARBER Rob.高性能CUDA应用设计与开发:方法与最佳实践[M].玉龙,唐堃,译.北京:机械工业出版社,2013.

[10] NVIDIA Corparation. NVIDIA’s next generation CUDA compute architecture: fermi [R]. San Jose: NVIDIA Corparation, 2009.

[11] NVIDIA Corparation. NVIDIA’s next generation CUDA compute architecture: Kepler GK110 [R]. San Jose: NVIDIA Corparation, 2012.

[12] 余翔湛,殷丽华.动态共享内存缓冲池技术[J].哈尔滨工业大学学报,2004(3):380⁃383.

[13] 章剑,仰枫帆.一种基于异构系统的H.264/AVC运动估计算法[J].电子科技,2012(10):106⁃108.

推荐访问: 构建 模式 计算 系统 众核多
[众核多计算模式系统的构建]相关文章