scholarly journals Tpetra, and the Use of Generic Programming in Scientific Computing

2012 ◽  
Vol 20 (2) ◽  
pp. 115-128 ◽  
Author(s):  
C.G. Baker ◽  
M.A. Heroux

We present Tpetra, a Trilinos package for parallel linear algebra primitives implementing the Petra object model. We describe Tpetra's design, based on generic programming via C++ templated types and template metaprogramming. We discuss some benefits of this approach in the context of scientific computing, with illustrations consisting of code and notable empirical results.

2002 ◽  
Vol 10 (4) ◽  
pp. 329-337 ◽  
Author(s):  
Bruce Greer ◽  
John Harrison ◽  
Greg Henry ◽  
Wei Li ◽  
Peter Tang

The 64-bit Intel® Itanium® architecture is designed for high-performance scientific and enterprise computing, and the Itanium processor is its first silicon implementation. Features such as extensive arithmetic support, predication, speculation, and explicit parallelism can be used to provide a sound infrastructure for supercomputing. A large number of high-performance computer companies are offering Itanium® -based systems, some capable of peak performance exceeding 50 GFLOPS. In this paper we give an overview of the most relevant architectural features and provide illustrations of how these features are used in both low-level and high-level support for scientific and engineering computing, including transcendental functions and linear algebra kernels.


2003 ◽  
Vol 13 (01) ◽  
pp. 53-64 ◽  
Author(s):  
ERIC GAMESS

In this paper, we address the goal of executing Java parallel applications in a group of nodes of a Beowulf cluster transparently chosen by a metacomputing system oriented to efficient execution of Java bytecode, with support for scientific computing. To this end, we extend the Java virtual machine by providing a message passing interface and quick access to distributed high performance resources. Also, we introduce the execution of parallel linear algebra methods for large objects from sequential Java applications by invoking SPLAM, our parallel linear algebra package.


2013 ◽  
Vol 333-335 ◽  
pp. 2218-2221 ◽  
Author(s):  
Feng Xin Chen

In this paper, we use some examples to discuss the necessity of using computer software to convert mathematical theory into numerical computations, which can combine classical theory with modern computing and make the abstract concept visualized, then give the future engineer a good foundation for further studies in mathematics as well as other subjects.


2013 ◽  
Vol 11 (2) ◽  
pp. 239-248 ◽  
Author(s):  
Hrachya Astsatryan ◽  
Vladimir Sahakyan ◽  
Yuri Shoukouryan ◽  
Michel Daydé ◽  
Aurelie Hurault ◽  
...  

2003 ◽  
Vol 11 (4) ◽  
pp. 321-327 ◽  
Author(s):  
Martin J. Cole ◽  
Steven G. Parker

Generic programming using the C++ template facility has been a successful method for creating high-performance, yet general algorithms for scientific computing and visualization. However, adding template code tends to require more template code in surrounding structures and algorithms to maintain generality. Compiling all possible expansions of these templates can lead to massive template bloat. Furthermore, compile-time binding of templates requires that all possible permutations be known at compile time, limiting the runtime extensibility of the generic code. We present a method for deferring the compilation of these templates until an exact type is needed. This dynamic compilation mechanism will produce the minimum amount of compiled code needed for a particular application, while maintaining the generality and performance that templates innately provide. Through a small amount of supporting code within each templated class, the proper templated code can be generated at runtime without modifying the compiler. We describe the implementation of this goal within the SCIRun dataflow system. SCIRun is freely available online for research purposes.


2013 ◽  
Vol 21 (1-2) ◽  
pp. 43-61
Author(s):  
Bruno Bachelet ◽  
Antoine Mahul ◽  
Loïc Yon

In generic programming, software components are parameterized on types. When available, a static specialization mechanism allows selecting, for a given set of parameters, a more suitable version of a generic component than its primary version. The normal C++ template specialization mechanism is based on the type pattern of the parameters, which is not always the best way to guide the specialization process: type patterns are missing some information on types that could be relevant to define specializations. The notion of a concept, which represents a set of requirements (including syntactic and semantic aspects) for a type, is known to be an interesting approach to control template specialization. For many reasons, concepts were dropped from C++11 standard, this article therefore describes template metaprogramming techniques for declaring concepts, modeling relationships (meaning that a type fulfills the requirements of a concept), and refinement relationships (meaning that a concept refines the requirements of another concept). From a taxonomy of concepts and template specializations based on concepts, an automatic mechanism selects the most appropriate version of a generic component for a given instantiation. Our purely library-based solution is also open for retroactive extension: new concepts, relationships, and template specializations can be defined at any time; such additions will then be picked up by the specialization mechanism.


Author(s):  
Douglas L. Dorset ◽  
Barbara Moss

A number of computing systems devoted to the averaging of electron images of two-dimensional macromolecular crystalline arrays have facilitated the visualization of negatively-stained biological structures. Either by simulation of optical filtering techniques or, in more refined treatments, by cross-correlation averaging, an idealized representation of the repeating asymmetric structure unit is constructed, eliminating image distortions due to radiation damage, stain irregularities and, in the latter approach, imperfections and distortions in the unit cell repeat. In these analyses it is generally assumed that the electron scattering from the thin negativelystained object is well-approximated by a phase object model. Even when absorption effects are considered (i.e. “amplitude contrast“), the expansion of the transmission function, q(x,y)=exp (iσɸ (x,y)), does not exceed the first (kinematical) term. Furthermore, in reconstruction of electron images, kinematical phases are applied to diffraction amplitudes and obey the constraints of the plane group symmetry.


Sign in / Sign up

Export Citation Format

Share Document