| M. Matsuda, M. Sato, and Y. Ishikawa. Efficient Implementation of Portable C*-like Data-Parallel Library in C+ + . Proc. of the 1997 Advances in Parallel and Distributed Computing, March 1997. |
....temporaries. This technique is known as Expression Templates [5] or in the implementation of Valarray class [6] In our previous work, we applied the technique, which we called template closure, to eliminate temporaries appearing in a distributed array class on a distributed memory machine [7]. It is successful in an array class which models after Thinking Machines Corp s data parallel C language C , where all operations are elementwise and an implementation makes copies in communications. In this paper, we present an implementation of a parallel array class with ghost cells employing ....
M. Matsuda, M. Sato, and Y Ishikawa. Efficient Implementation of Portable C*-like DataParallel Library in C++, In Proc. of the 1997 Advances in Parallel and Distributed Computing, March 1997.
....such as iterative solvers. The array class employs a technique using STL Adaptors [11] for efficiency, because a straightforward implementation of an array class would suffer from the well known temporary problem [3] This technique, known as Expression Templates [13, 4] or Template Closure [6], allows us to evaluate the entire expression as a whole and effectively eliminates temporaries. We further extend it to handle the parallel array class with ghost cells. Ghost cells, also called as guard cells or envelopes, are the overlapping boundary elements of a block in a distributed array. ....
....and two temporaries are necessary to hold the results from A B and A B C. Since most C compilers cannot optimize them in general, array libraries may suffer from these overheads. The library deals with this problem by a technique known as Expression Templates [13, 4] or Template Closure [6]. This technique makes the evaluation of expressions including overloadings as fast as the hand coded C routines. Figure 1 shows a sketch of an array class and its overloading of an addition. The additions on the right hand side create objects of class expr add, each of which represents a ....
M. Matsuda, M. Sato, and Y. Ishikawa. Efficient Implementation of Portable C*-like Data-Parallel Library in C+ + . Proc. of the 1997 Advances in Parallel and Distributed Computing, March 1997.
.... This technique is known as Expression Templates [5, 6] or found in the implementation of the Valarray class [7] In our previous work, we applied the technique, which we called Template Closure, to eliminate temporaries appearing in a parallel array class on a distributed memory machine [8]. It is successful for an array class which is modeled after Thinking Machines Corp s data parallel C language C , where all operations are elementwise and an implementation makes copies during communications. In this paper, we present an implementation of a parallel array class with ghost cells ....
M. Matsuda, M. Sato, and Y. Ishikawa. Efficient Implementation of Portable C*- like Data-Parallel Library in C+ +. Proc. of the 1997 Advances in Parallel and Distributed Computing, March 1997.
....such as iterative solvers. The array class employs a technique using STL Adaptors [11] for efficiency, because a straightforward implementation of an array class would suffer from the well known temporary problem [3] This technique, known as Expression Templates [13, 4] or Template Closure [6], allows us to evaluate the entire expression as a whole and effectively eliminates temporaries. We further extend it to handle the parallel array class with ghost cells. Ghost cells, also called as guard cells or envelopes, are the overlapping boundary elements of a block in a distributed array. ....
....and two temporaries are necessary to hold the results from A B and A B C. Since most C compilers cannot optimize them in general, array libraries may suffer from these overheads. The library deals with this problem by a technique known as Expression Templates [13, 4] or Template Closure [6]. This technique makes the evaluation of expressions including overloadings as fast as the hand coded C routines. Figure 1 shows a sketch of an array class and its overloading of an addition. The additions on the right hand side create objects of class expradd, each of which represents a ....
M. Matsuda, M. Sato, and Y. Ishikawa. Efficient Implementation of Portable C*-like Data-Parallel Library in C+ + . Proc. of the 1997 Advances in Parallel and Distributed Computing, March 1997.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC