| T. L. Veldhuizen. Arrays in Blitz++. In Proceedings of the 2nd International Scientific Computing in Object-Oriented Parallel Environments (ISCOPE'98), volume 1505 of Lecture Notes in Computer Science. Springer-Verlag, 1998. 20 134 |
....of the applications. In recent years, some e orts to enable objectorientation for parallel computing have been made, mainly in the C community. Ecient and standard conforming compilers, mathematical base libraries reduced the performance gap between classical approaches and object oriented codes [14]. Parallel programming standards like the Message passing interface provide support for object oriented languages and e orts to establish objectoriented frameworks for parallel computing are ongoing [15, 8, 11] In this paper, we investigate how object oriented methods can help in the ....
T. Veldhuizen. Arrays in blitz++. In D. Caromel, R. Oldehoeft, and M. Tholburn, editors, Computing in Object-Oriented Parallel Environments (ISCOPE'98), pages 223-231, 1998.
....designed to support generic programming. But it was realized that C templates could provide more than just simple parameter instantiations; they could also enable static computations to be performed. This capability has been intensively used to design ecient scienti c libraries, for example [14, 18]. However, since this usage does not correspond to the original goal for templates, writing such templates is cumbersome and error prone. Furthermore, the C language lacks ways to enforce constraints on template parameters, and the compiler blindly transforms the code at the risk of producing ....
T.L. Veldhuizen. Arrays in Blitz++. In Proceedings of the International Symposium on Computing in Object-Oriented Parallel Environments, number 1505 in Lecture Notes in Computer Science, Santa Fe, NM, USA, December 1998. Springer-Verlag.
....the return value of the function having an indirect reference to an invalid handle. We resolve this issue by using reference counting smart pointers, via an extra level of indirection, for accessing delayed handles. Expression Templates. We use expression templates similar to those in Blitz [17] and POOMA II [12] for parsing array expressions such as r = b A x. Construction of such expressions is fully in lined. Execution of the assignment operator = triggers the actual construction of the DAG of delayed operations representing the expression. Careful Separation of Copy Constructors ....
T. L. Veldhuizen. Arrays in Blitz++. In ISCOPE'98: Proceedings of the 2nd International Scientific Computing in Object-Oriented Parallel Environments, number 1505 in LNCS, page 223 ff. Springer-Verlag, 1998.
....as possible, thus operations on two dimensional or threedimensional data would use as much of the same code as possible. To this end, a general container class, Array , was created. Array is templated on data type and dimension. The class is quite similar to the blitz class described in [55]. For efficiency reasons, the methods of template meta programs [54] and expression templates [53] were introduced by Todd Veldhuizen (author of the aforementioned blitz package) The primary advantages of using Array as a container class are as follows: 1. a fairly natural syntax 2. slicing ....
T. Veldhuizen. Arrays in blitz++. In Proceedings of the 2nd International Scientific Computing in Object-Oriented Parallel Environments (ISCOPE'98), Lecture Notes in Computer Science. Springer-Verlag, 1998. BIBLIOGRAPHY 131
No context found.
Veldhuizen, T.L.: Arrays in Blitz++. In: Computing in Object-Oriented Parallel Environments: Second International Symposium (ISCOPE 98). Volume 1505 of Lecture Notes in Computer Science., Springer-Verlag (1998) 223-230
No context found.
Todd L. Veldhuizen. Arrays in Blitz++. In Computing in Object-Oriented Parallel Environments: Second International Symposium (ISCOPE 98), volume 1505 of Lecture Notes in Computer Science, pages 223--230. Springer-Verlag, 1998. URL http://osl.iu.edu/~tveldhui/ papers/.
....give programmers a clear mental model of what simpli cations the compiler is guaranteed to perform, and make progress on the problem of abstraction penalty in imperative languages. 1 Introduction In our experience developing high performance numerical libraries for objectoriented languages [17, 14] we have found that industrial compilers fail to eliminate abstraction reliably. In fact, the best optimizing compilers, while achieving remarkably good performance, are capricious, achieving that performance only when some unpredictable phrasing of the program is presented. This paper reports on ....
Todd L. Veldhuizen. Arrays in Blitz++. In Computing in Object-Oriented Parallel Environments: Second International Symposium (ISCOPE 98), volume 1505 of Lecture Notes in Computer Science, pages 223-230. Springer-Verlag, 1998.
....tree, evaluating the expression. C semantics require that this traversal be done at compile For example, x y z might be parsed as the template type Expr Array,Plus,Expr Array,Times,Array time, so the resulting loop is efficient. This technique is the basis of C libraries such as Blitz [19] and POOMA [9] Of these approaches, expression template based array libraries have been popular for C , since they deliver efficiency without compiler extensions. It turns out that templates in C are strikingly like partial evaluation. A partial evaluator takes a program, performs the ....
Veldhuizen, T. L. Arrays in Blitz++. In Proceedings of the 2nd International Scientific Computing in Object-Oriented Parallel Environments (ISCOPE'98) (1998), Lecture Notes in Computer Science, Springer-Verlag.
....give programmers a clear mental model of what simplifications the compiler is guaranteed to perform, and make progress on the problem of abstraction penalty in imperative languages. 1 Introduction In our experience developing high performance numerical libraries for objectoriented languages [17, 14] we have found that industrial compilers fail to eliminate abstraction reliably. In fact, the best optimizing compilers, while achieving remarkably good performance, are capricious, achieving that performance only when some unpredictable phrasing of the program is presented. This paper reports on ....
Todd L. Veldhuizen. Arrays in Blitz++. In Computing in Object-Oriented Parallel Environments: Second International Symposium (ISCOPE 98), volume 1505 of Lecture Notes in Computer Science, pages 223--230. Springer-Verlag, 1998.
....example w.data[i] expr.eval(i)# For eacharray position i, expr.eval(i) traverses the parse tree, evaluating the expression. C semantics require that this traversal be done at compile time, so the resulting loop is efficient. This technique is the basis of C libraries such as Blitz [19] and POOMA [9] Of these approaches, expression template based array libraries have been popular for C , since they deliver efficiency without compiler extensions. It turns out that templates in C are strikingly like partial evaluation. A partial evaluator takes a program, performs the ....
Veldhuizen, T. L. Arrays in Blitz++. In Proceedings of the 2nd International Scientific Computing in Object-OrientedParallel Environments (ISCOPE'98) (1998), Lecture Notes in Computer Science, Springer-Verlag.
No context found.
T. L. Veldhuizen. Arrays in Blitz++. In Proceedings of the 2nd International Scientific Computing in Object-Oriented Parallel Environments (ISCOPE'98), volume 1505 of Lecture Notes in Computer Science. Springer-Verlag, 1998. 20 134
No context found.
Todd L. Veldhuizen. Arrays in Blitz++. In Proceedings of the 2nd International Scientific Computing in Object-Oriented Parallel Environments (ISCOPE'98), volume 1505 of Lecture Notes in Computer Science. Springer-Verlag, 1998.
No context found.
T.L. Veldhuizen, "Arrays in Blitz++," Proc. Second Int'l Scientific Computing in Object-Oriented Parallel Environments (ISCOPES'98), Lecture Notes in Computer Science, Springer-Verlag, New York, 1998, pp. 223--230.
No context found.
T. L. Veldhuizen, Arrays in Blitz++, in: Proceedings of the 2nd International Scientific Computing in Object-Oriented Parallel Environments (ISCOPE'98), Lecture Notes in Computer Science, Springer-Verlag, 1998. 1.2, 6
No context found.
Todd L. Veldhuizen. Arrays in blitz++. In Proceedings of the 2nd International Scientific Computing in Object-Oriented Parallel Environments (ISCOPE'98), Lecture Notes in Computer Science. Springer-Verlag, 1998.
No context found.
T. L. Veldhuizen. Arrays in Blitz++. In Computing in Object-Oriented Parallel Environments, Second International Symposium ISCOPE 98, volume 1505 of Lecture Notes in Computer Science, pages 223--230. Springer-Verlag, 1998.
No context found.
Todd Veldhuizen. Arrays in blitz++. In Proceedings of ISCOPE, volume 1505 of LNCS. Springer-Verlag, 1998.
No context found.
T. L. Veldhuizen. Arrays in blitz++. In Proceedings of the 2nd International Scientific Computing in Object-Oriented Parallel Environments (ISCOPE'98), Lecture Notes in Computer Science. Springer-Verlag, 1998.
No context found.
Todd Veldhuizen. Arrays in blitz++. In Proceedings of ISCOPE, volume 1505 of LNCS. Springer-Verlag, 1998.
No context found.
Todd Veldhuizen. Arrays in blitz++. In Proceedings of ISCOPE, volume 1505 of LNCS. Springer-Verlag, 1998.
No context found.
Todd L. Veldhuizen. Arrays in Blitz++. In Proceedings of the 2nd International Scientific Computing in Object-Oriented Parallel Environments (ISCOPE'98), pages 223--?? Springer-Verlag, 1998.
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