

FOLLOWUS
1.College of Computer, National University of Defense Technology, Changsha 410073, China
2.State Key Laboratory of High Performance Computing, National University of Defense Technology, Changsha 410073, China
[ "Chang-qing XUN, E-mail: xunchangqing@nudt.edu.cn" ]
Received:02 April 2013,
Revised:2013-10-15,
Published:2013-11
Scan QR Code
Chang-qing XUN, Dong CHEN, Qiang LAN, et al. Efficient fine-grained shared buffer management for multiple OpenCL devices[J]. Frontiers of Information Technology & Electronic Engineering, 2013, 14(11): 859-872.
Chang-qing XUN, Dong CHEN, Qiang LAN, et al. Efficient fine-grained shared buffer management for multiple OpenCL devices[J]. Frontiers of Information Technology & Electronic Engineering, 2013, 14(11): 859-872. DOI: 10.1631/jzus.C1300078.
OpenCL programming provides full code portability between different hardware platforms
and can serve as a good programming candidate for heterogeneous systems
which typically consist of a host processor and several accelerators. However
to make full use of the computing capacity of such a system
programmers are requested to manage diverse OpenCL-enabled devices explicitly
including distributing the workload between different devices and managing data transfer between multiple devices. All these tedious jobs pose a huge challenge for programmers. In this paper
a distributed shared OpenCL memory (DSOM) is presented
which relieves users of having to manage data transfer explicitly
by supporting shared buffers across devices. DSOM allocates shared buffers in the system memory and treats the on-device memory as a software managed virtual cache buffer. To support fine-grained shared buffer management
we designed a kernel parser in DSOM for buffer access range analysis. A basic modified
shared
invalid cache coherency is implemented for DSOM to maintain coherency for cache buffers. In addition
we propose a novel strategy to minimize communication cost between devices by launching each necessary data transfer as early as possible. This strategy enables overlap of data transfer with kernel execution. Our experimental results show that the applicability of our method for buffer access range analysis is good
and the efficiency of DSOM is high.
A. Agarwal , , , R. Bianchini , , , D. Chaiken , , , K.L. Johnson , , , D. Kranz , , , J. Kubiatowicz , , , B.H. Lim , , , K. Mackenzie , , , D. Yeung . . The MIT Alewife Machine: Architecture and Performance . . Proc. 22nd Annual Int. Symp. on Computer Architecture , , 1995 . . p.2 - - 13 . . DOI: 10.1145/223982.223985 http://doi.org/10.1145/223982.223985 . .
H.E. Bal , , , A.S. Tanenbaum . . Distributed Programming with Shared Data . . Proc. Int. Conf. on Computer Languages , , 1988 . . p.82 - - 91 . . DOI: 10.1109/ICCL.1988.13046 http://doi.org/10.1109/ICCL.1988.13046 . .
V. Balasundaram , , , K. Kennedy . . A Technique for Summarizing Data Access and Its Use in Parallelism Enhancing Transformations . . Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation , , 1989 . . p.41 - - 53 . . DOI: 10.1145/73141.74822 http://doi.org/10.1145/73141.74822 . .
B.N. Bershad , , , M.J. Zekauskas , , , W.A. Sawdon . . The Midway Distributed Shared Memory System . . Compcon Spring, Digest of Papers , , 1993 . . p.528 - - 537 . . DOI: 10.1109/CMPCON.1993.289730 http://doi.org/10.1109/CMPCON.1993.289730 . .
C. Cadar , , , D. Dunbar , , , D. Engler . . KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs . . Proc. 8th USENIX Conf. on Operating Systems Design and Implementation , , 2008 . . p.209 - - 224 . . . .
D. Callahan , , , K. Kennedy . . Analysis of interprocedural side effects in a parallel programming environment . . J. Parall. Distr. Comput. , , 1988 . . 5 ( ( 5 ): ): 517 - - 550 . . DOI: 10.1016/0743-7315(88)90011-1 http://doi.org/10.1016/0743-7315(88)90011-1 . .
A. Danalis , , , G. Marin , , , C. McCurdy , , , J.S. Meredith , , , P.C. Roth , , , K. Spafford , , , V. Tipparaju , , , J.S. Vetter . . The Scalable Heterogeneous Computing (SHOC) Benchmark Suite . . Proc. 3rd Workshop on General-Purpose Computation on Graphics Processing Units , , 2010 . . p.63 - - 74 . . DOI: 10.1145/1735688.1735702 http://doi.org/10.1145/1735688.1735702 . .
G.B. Dantzig , , , E.B. Curtis . . Fourier-Motzkin elimination and its dual . . J. Comb. Theory A , , 1973 . . 14 ( ( 3 ): ): 288 - - 297 . . . .
P. Dasgupta , , , LeBlanc , , , R.J.Jr. , , , M. Ahamad , , , U. Ramachandran . . The clouds distributed operating system . . Computer , , 1991 . . 24 ( ( 11 ): ): 34 - - 44 . . DOI: 10.1109/2.116849 http://doi.org/10.1109/2.116849 . .
G. Delp , , , A. Sethi , , , D. Farber . . An Analysis of Memnet—an Experiment in High-Speed Shared-Memory Local Networking . . Symp. Proc. on Communications architectures and protocols , , 1988 . . p.165 - - 174 . . DOI: 10.1145/52324.52342 http://doi.org/10.1145/52324.52342 . .
S. Frank , , , H. Burkhardt , , , J. Rothnie . . The KSR 1: Bridging the Gap Between Shared Memory and MPPs . . Compcon Spring, Digest of Papers , , 1993 . . p.285 - - 294 . . DOI: 10.1109/CMPCON.1993.289682 http://doi.org/10.1109/CMPCON.1993.289682 . .
I. Gelado , , , J.E. Stone , , , J. Cabezas , , , S. Patel , , , N. Navarro , , , W.W. Hwu . . An Asymmetric Distributed Shared Memory Model for Heterogeneous Parallel Systems . . Proc. 15th ASPLOS on Architectural Support for Programming Languages and Operating Systems , , 2010 . . p.347 - - 358 . . DOI: 10.1145/1736020.1736059 http://doi.org/10.1145/1736020.1736059 . .
T.B. Jablin , , , P. Prabhu , , , J.A. Jablin , , , N.P. Johnson , , , S.R. Beard , , , D.I. August . . Automatic CPU-GPU Communication Management and Optimization . . Proc. 32nd ACM SIGPLAN Conf. on Programming Language Design and Implementation , , 2011 . . p.142 - - 151 . . DOI: 10.1145/1993498.1993516 http://doi.org/10.1145/1993498.1993516 . .
T.B. Jablin , , , J.A. Jablin , , , P. Prabhu , , , F. Liu , , , D.I. August . . Dynamically Managed Data for CPU-GPU Architectures . . Proc. 10th Int. Symp. on Code Generation and Optimization , , 2012 . . p.165 - - 174 . . DOI: 10.1145/2259016.2259038 http://doi.org/10.1145/2259016.2259038 . .
J. Kim , , , H. Kim , , , J.H. Lee , , , J. Lee . . Achieving a Single Compute Device Image in OpenCL for Multiple GPUs . . Proc. 16th ACM Symp. on Principles and Practice of Parallel Programming , , 2011 . . p.277 - - 288 . . DOI: 10.1145/1941553.1941591 http://doi.org/10.1145/1941553.1941591 . .
C. Lattner , , , V. Adve . . LLVM: a Compilation Framework for Lifelong Program Analysis & Transformation . . Proc. Int. Symp. on Code Generation and Optimization: Feedback-Directed and Runtime Optimization , , 2004 . . p.75 - - 87 . . . .
V.W. Lee , , , C. Kim , , , J. Chhugani , , , M. Deisher , , , D. Kim , , , A.D. Nguyen , , , N. Satish , , , M. Smelyanskiy , , , S. Chennupaty , , , P. Hammarlund , , , 等 . . Debunking the 100x GPU vs . . CPU myth: an evaluation of throughput computing on CPU and GPU. SIGARCH Comput. Archit. News , , 2010 . . 38 ( ( 3 ): ): 451 - - 460 . . DOI: 10.1145/1816038.1816021 http://doi.org/10.1145/1816038.1816021 . .
Y. Paek , , , J. Hoeflinger , , , D. Padua . . Efficient and precise array access analysis . . ACM Trans. Progr. Lang. Syst. , , 2002 . . 24 ( ( 1 ): ): 65 - - 109 . . DOI: 10.1145/509705.509708 http://doi.org/10.1145/509705.509708 . .
S. Pai , , , R. Govindarajan , , , M.J. Thazhuthaveetil . . Fast and Efficient Automatic Memory Management for GPUs Using Compiler-Assisted Runtime Coherence Scheme . . Proc. 21st Int. Conf. on Parallel Architectures and Compilation Techniques , , 2012 . . p.33 - - 42 . . DOI: 10.1145/2370816.2370824 http://doi.org/10.1145/2370816.2370824 . .
W. Pugh . . A practical algorithm for exact array dependence analysis . . ACM Commun. , , 1992 . . 35 ( ( 8 ): ): 102 - - 114 . . DOI: 10.1145/135226.135233 http://doi.org/10.1145/135226.135233 . .
S. Seo , , , G. Jo , , , J. Lee . . Performance Characterization of the NAS Parallel Benchmarks in OpenCL . . IEEE Int. Symp. on Workload Characterization , , 2011 . . p.137 - - 148 . . DOI: 10.1109/ⅡSWC.2011.6114174 http://doi.org/10.1109/ⅡSWC.2011.6114174 . .
Z. Shen , , , Z. Li , , , P.C. Yew . . An empirical study of Fortran programs for parallelizing compilers . . IEEE Trans. Parall. Distr. Syst. , , 1990 . . 1 ( ( 3 ): ): 356 - - 364 . . DOI: 10.1109/71.80162 http://doi.org/10.1109/71.80162 . .
J.A. Stratton , , , S.S. Stone , , , W.W. Hwu . . Languages and Compilers for Parallel Computing . . Springer-Verlag Berlin Heidelberg , , 2008 . . p.16 - - 30 . . DOI: 10.1007/978-3-540-89740-8 http://doi.org/10.1007/978-3-540-89740-8 . .
J.A. Stratton , , , C. Rodrigues , , , R. Sung , , , N. Obeid , , , L.W. Chang , , , N. Anssari , , , D. Liu , , , W.W. Hwu . . Parboil: a Revised Benchmark Suite for Scientific and Commercial Throughput Computing . . IMPACT Technical Report No. IMPACT-12-01, Center for Reliable and High-Performance Computing, University of Illinois at Urbana-Champaign, Champaign, Illinois, USA , , 2012 . . .
R. Triolet , , , F. Irigoin , , , P. Feautrier . . Direct parallelization of call statements . . SIGPLAN Not. , , 1986 . . 21 ( ( 7 ): ): 176 - - 185 . . DOI: 10.1145/13310.13329 http://doi.org/10.1145/13310.13329 . .
A.W.Jr. Wilson , , , R.P.Jr. LaRowe , , , M.J. Teller . . Hardware Assist for Distributed Shared Memory . . Proc. 13th Int. Conf. on Distributed Computing Systems , , 1993 . . p.246 - - 255 . . DOI: 10.1109/ICDCS.1993.287702 http://doi.org/10.1109/ICDCS.1993.287702 . .
M. Wolfe . . Implementing the PGI Accelerator Model . . Proc. 3rd Workshop on General-Purpose Computation on Graphics Processing Units , , 2010 . . p.43 - - 50 . . DOI: 10.1145/1735688.1735697 http://doi.org/10.1145/1735688.1735697 . .
Y. Yan , , , M. Grossman , , , V. Sarkar . . JCUDA: a Programmer-Friendly Interface for Accelerating Java Programs with CUDA . . Proc. 15th Int. Euro-Par Conf. on Parallel Processing , , 2009 . . p.887 - - 899 . . DOI: 10.1007/978-3-642-03869-3-82 http://doi.org/10.1007/978-3-642-03869-3-82 . .
Publicity Resources
Related Articles
Related Author
Related Institution
京公网安备11010802024621