2005
DOI: 10.1007/s10766-005-3580-8
|View full text |Cite
|
Sign up to set email alerts
|

Generic Programming and High-Performance Libraries

Abstract: Generic programming is an especially attractive paradigm for developing libraries for high-performance computing because it simultaneously emphasizes generality and efficiency. In the generic programming approach, interfaces are based on sets of specified requirements on types, rather than on any particular types, allowing algorithms to inter-operate with any data types meeting the necessary requirements. These sets of requirements, known as concepts, can specify syntactic as well as semantic requirements. Bes… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2005
2005
2022
2022

Publication Types

Select...
3
3
2

Relationship

0
8

Authors

Journals

citations
Cited by 15 publications
(4 citation statements)
references
References 12 publications
0
4
0
Order By: Relevance
“…[6][7][8][9] and introduced three concepts Cell, Face and Node within the namespace Object in terms of three abstract types: Base, Topology, and Physics to achieve a better performance and maximal software reuse. These abstract types model the C++ concept of each grid entity, i.e.…”
Section: Inheritancementioning
confidence: 99%
“…[6][7][8][9] and introduced three concepts Cell, Face and Node within the namespace Object in terms of three abstract types: Base, Topology, and Physics to achieve a better performance and maximal software reuse. These abstract types model the C++ concept of each grid entity, i.e.…”
Section: Inheritancementioning
confidence: 99%
“…We can find a large literature on coding standards and software design references in (cf. [1,11,15,17,18]), and draw from many internet sources and experience acquired by/from free software projects. We describe advances in the design of LinBox in the next three sections.…”
Section: Introductionmentioning
confidence: 99%
“…The requirements in a concept can take several forms: they can require particular functions or operators to be defined (such as the increment operator in Forward Iterator), they can require certain semantic properties to be true of the functions and operators on the type (such as that incrementing two copies of the same iterator produces equal results), or they can require particular related types to exist and have certain properties (such as the value type of the iterator). The semantic properties, in particular, are interesting for the purposes of this thesis because they provide information about the behavior of particular objects that can be useful for software verification or optimization [57,126].…”
Section: Introductionmentioning
confidence: 99%