2014
DOI: 10.1007/978-3-662-44199-2_98
|View full text |Cite
|
Sign up to set email alerts
|

Elements of Design for Containers and Solutions in the LinBox Library

Abstract: We describe in this paper new design techniques used in the C++ exact linear algebra library LinBox, intended to make the library safer and easier to use, while keeping it generic and efficient. First, we review the new simplified structure for containers, based on our founding scope allocation model. We explain design choices and their impact on coding: unification of our matrix classes, clearer model for matrices and submatrices, etc. Then we present a variation of the strategy design pattern that is compris… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
5
0

Year Published

2015
2015
2016
2016

Publication Types

Select...
3
1

Relationship

3
1

Authors

Journals

citations
Cited by 4 publications
(5 citation statements)
references
References 11 publications
0
5
0
Order By: Relevance
“…There is actually a cascade of algorithms where, at each recursive cutting, a new choice of the best suited variant is performed before the final switch [68,27]. This cascade is usually non-stationary, i.e., a different scheme, bilinear or not, can be chosen at every level of recurrence.…”
Section: Design Of Fast Exact Matrix Multiplication Over Word-size Pr...mentioning
confidence: 99%
“…There is actually a cascade of algorithms where, at each recursive cutting, a new choice of the best suited variant is performed before the final switch [68,27]. This cascade is usually non-stationary, i.e., a different scheme, bilinear or not, can be chosen at every level of recurrence.…”
Section: Design Of Fast Exact Matrix Multiplication Over Word-size Pr...mentioning
confidence: 99%
“…GBLA supports the following data representations: 1. The code is optimized for prime fields F p with p ă 2 16 using SIMD vectorization [2] and storing coefficients as uint16.…”
Section: Library and Matricesmentioning
confidence: 99%
“…1 Throughout this paper, indexing is zero-based. 2 In Format 2, we separate the location of the non zero entries and the data. We store the data of the polynomials separately since there is redundancy: many lines will be of the form m i f j where m i is some monomial and f j is a polynomial in the intermediate Gröbner basis.…”
Section: Compressed Binary Formatmentioning
confidence: 99%
“…1. The code is optimized for prime fields F p with p ă 2 16 using SIMD vectorization [3] and storing coefficients as uint16. The library also supports a cofficient representation using float such that we can use the better optimized SIMD instructions for floating point arithmetic.…”
Section: Library and Matricesmentioning
confidence: 99%
“…in given situations. Some matrix characteristics 110 83 3. 1,147 98.7 69.9 988 73.9 49.0 mr-9-10-7-mat3 591 70.8 71.3 733 57.3 37.9 747 52.8 33.2 mr-9-10-7-mat7 15,787 1,632 1,565 15,416 1,103 793 15,602 1,057 591 cyc10-mat19 7,482 693 492 1,291 135 103 1,030 80.3 62.9 cyc10-mat20 17,853 1,644 1,180 2,589 274 209 2,074 171 152 cyc10-sym1-mat17 11,083 1,982 1,705 2,463 465 405 2,391 275 245 rand16-d2-2-mat11 mem mem mem 2,568 946 883 4,553 425 360 rand16-d2-2-mat12 mem mem mem 5,751 1,252 1,219 6,758 632 527 rand16-d2-2-mat13 mem mem mem mem mem mem 8,435 816 721 rand16-d2-3-mat8 2,084 500 472 2,243 339 282 1,654 144 106 rand16-d2-3-mat9 bug bug bug 2,938 827 781 2,308 236 227 rand16-d2-3-mat10 mem mem mem 2,528 922 940 4,518 427 372 rand16-d2-3-mat11 mem mem mem mem mem mem 11,254 931 696 rand16-d2-3-mat12 mem mem mem mem mem mem 15,817 1,369 1,150…”
mentioning
confidence: 99%