Gael Guennebaud
|
79cb875249
|
merge
|
2015-03-27 10:56:04 +01:00 |
|
Gael Guennebaud
|
3d59ae0203
|
Fix hypot(0,0).
|
2015-03-27 09:59:24 +01:00 |
|
Benoit Steiner
|
d3f7915aeb
|
Pulled latest update from the eigen main codebase
|
2015-03-24 13:12:14 -07:00 |
|
Benoit Steiner
|
abdbe8562e
|
Fixed the CUDA packet primitives
|
2015-03-24 10:45:46 -07:00 |
|
Gael Guennebaud
|
29eaa2b0f1
|
Make MatrixBase::is* methods aware of nested_eval.
|
2015-03-24 13:42:42 +01:00 |
|
Deanna Hood
|
83e5b7656b
|
Use M_PI instead of acos(-1) for pi
|
2015-03-22 06:04:31 +10:00 |
|
Gael Guennebaud
|
d6b2f300db
|
Fix MSVC compilation: aligned type must be passed by reference
|
2015-03-19 17:28:32 +01:00 |
|
Gael Guennebaud
|
61c45d7cfd
|
Fix comparison warning
|
2015-03-19 17:13:22 +01:00 |
|
Gael Guennebaud
|
f329d0908a
|
Improve random number generation for integer and add unit test
|
2015-03-19 15:10:36 +01:00 |
|
Benoit Jacob
|
dc04f12967
|
use unsigned short instead of uint16_t which doesn't exist in c++98
|
2015-03-17 10:31:45 -04:00 |
|
Deanna Hood
|
596be3cd86
|
Use std::arg for real numbers when c++11 is used, custom implementation otherwise
|
2015-03-17 15:28:12 +10:00 |
|
Deanna Hood
|
e26134ed62
|
Use std::round when c++11 is used, custom implementation otherwise
|
2015-03-17 14:55:14 +10:00 |
|
Deanna Hood
|
e21e29a088
|
Update cost of arg call to depend on if the scalar is complex or not
|
2015-03-17 14:04:33 +10:00 |
|
Deanna Hood
|
447a5a6b01
|
Fix VML declarations to only be for real/complex as appropriate
|
2015-03-17 13:33:31 +10:00 |
|
Deanna Hood
|
f52b78491c
|
Remove packet isNaN, isInf, isFinite
|
2015-03-17 09:26:24 +10:00 |
|
Deanna Hood
|
1c78d6f2a6
|
Add boolean not operator (!) array support
|
2015-03-17 08:29:57 +10:00 |
|
Benoit Jacob
|
364cfd529d
|
Similar to cset 3589a9c115
, also in 2px4 kernel: actual_panel_rows computation should always be resilient to parameters not consistent with the known L1 cache size, see comment
|
2015-03-16 16:28:44 -04:00 |
|
Deanna Hood
|
e1d6e6c972
|
Make cube, inverse and abs2 free-functions
|
2015-03-17 06:25:24 +10:00 |
|
Benoit Jacob
|
eb6929cb19
|
fix bug in maxsize calculation, which would cause products of size > 2048 to address the lookup table out of bounds
|
2015-03-16 16:15:47 -04:00 |
|
Deanna Hood
|
fef4e071d7
|
Rename isinf to isInf
|
2015-03-17 05:58:47 +10:00 |
|
Deanna Hood
|
46cf9cda32
|
Add isfinite array support as isFinite
|
2015-03-17 04:33:12 +10:00 |
|
Deanna Hood
|
1d76ceab55
|
Remove floor, ceil, round for complex numbers
|
2015-03-17 02:36:07 +10:00 |
|
Deanna Hood
|
717b7954ce
|
Update cost of coeff-wise arg call
|
2015-03-17 02:11:57 +10:00 |
|
Deanna Hood
|
fb68b149cb
|
Rename isnan to isNaN
|
2015-03-17 02:04:42 +10:00 |
|
Benoit Jacob
|
35c3a8bb84
|
Update Nexus 5 lookup table from combining now 2 runs of the benchmark, using the analyze-blocking-sizes partition tool. Gives better worst-case performance.
|
2015-03-16 11:05:51 -04:00 |
|
Benoit Jacob
|
e274607d7f
|
fix compilation with GCC 4.8
|
2015-03-16 10:48:27 -04:00 |
|
Benoit Jacob
|
151b8b95c6
|
Fix bug in case where EIGEN_TEST_SPECIFIC_BLOCKING_SIZE is defined but false
|
2015-03-15 19:10:51 -04:00 |
|
Benoit Jacob
|
02babb9c0f
|
Provide a empirical lookup table for blocking sizes measured on a Nexus 5. Only for float, only for Android on ARM 32bit for now.
|
2015-03-15 18:13:12 -04:00 |
|
Benoit Jacob
|
3589a9c115
|
actual_panel_rows computation should always be resilient to parameters not consistent with the known L1 cache size, see comment
|
2015-03-15 18:12:18 -04:00 |
|
Benoit Jacob
|
1dd3d89818
|
Fix a unused-var warning
|
2015-03-15 18:07:19 -04:00 |
|
Benoit Jacob
|
e56aabf205
|
Refactor computeProductBlockingSizes to make room for the possibility of using lookup tables
|
2015-03-15 18:05:12 -04:00 |
|
Benoit Jacob
|
488c15615a
|
organize a little our default cache sizes, and use a saner default L1 outside of x86 (10% faster on Nexus 5)
|
2015-03-13 14:51:26 -07:00 |
|
Gael Guennebaud
|
1330f8bbd1
|
bug #973, improve AVX support by enabling vectorization of Vector4i-like types, and enforcing alignement of Vector4f/Vector2d-like types to preserve compatibility with SSE and future Eigen versions that will vectorize them with AVX enabled.
|
2015-03-13 21:15:50 +01:00 |
|
Gael Guennebaud
|
d99ab35f9e
|
Fix internal::random(x,y) for integer types. The previous implementation could return y+1. The new implementation uses rejection sampling to get an unbiased behabior.
|
2015-03-13 21:12:46 +01:00 |
|
Doug Kwan
|
657407227e
|
Fix bug in pdiv<Packet1cd> which swaps 32-bit halves of a pair of
doubles instead of swapping the doubles.
|
2015-03-11 15:13:37 -07:00 |
|
Deanna Hood
|
f89fcefa79
|
Add hyperbolic trigonometric functions from std array support
|
2015-03-11 13:13:30 +10:00 |
|
Deanna Hood
|
a5e49976f5
|
Add log10 array support
|
2015-03-11 08:56:42 +10:00 |
|
Deanna Hood
|
19a71056ae
|
Allow calling of square(array) in addition to array.square()
|
2015-03-11 06:59:28 +10:00 |
|
Deanna Hood
|
31fdd67756
|
Additional unary coeff-wise functors (isnan, round, arg, e.g.)
|
2015-03-11 06:39:23 +10:00 |
|
Gael Guennebaud
|
0ee391863e
|
Avoid undeflow when blocking size are tuned manually.
|
2015-03-06 21:51:09 +01:00 |
|
Gael Guennebaud
|
14a5f135a3
|
bug #969: workaround abiguous calls to Ref using enable_if.
|
2015-03-06 17:51:31 +01:00 |
|
Gael Guennebaud
|
87681e508f
|
bug #978: early return for vanishing products
|
2015-03-06 16:11:22 +01:00 |
|
Gael Guennebaud
|
cd3bbffa73
|
Improve blocking heuristic: if the lhs fit within L1, then block on the rhs in L1 (allows to keep packed rhs in L1)
|
2015-03-06 14:31:39 +01:00 |
|
Gael Guennebaud
|
58740ce4c6
|
Improve product kernel: replace the previous dynamic loop swaping strategy by a more general one:
It consists in increasing the actual number of rows of lhs's micro horizontal panel for small depth such that L1 cache is fully exploited.
|
2015-03-06 10:30:35 +01:00 |
|
Gael Guennebaud
|
7550107028
|
Product optimization: implement a dynamic loop-swapping startegy to improve memory accesses to the destination matrix in the case of K-rank-update like products, i.e., for products of the kind: "large x small" * "small x large"
|
2015-03-05 10:03:46 +01:00 |
|
Benoit Steiner
|
0196141938
|
Fixed the optimized AVX implementation of the fast rsqrt function
|
2015-03-02 13:49:39 -08:00 |
|
Benoit Steiner
|
4fd7f47692
|
Added an optimized version of rsqrt for SSE and AVX that is used when EIGEN_FAST_MATH is defined.
|
2015-03-02 09:38:47 -08:00 |
|
Benoit Steiner
|
fb53384b0f
|
Improved the default implementation of prsqrt
|
2015-02-28 01:51:26 -08:00 |
|
Benoit Steiner
|
306fceccbe
|
Pulled latest updates from trunk
|
2015-02-27 13:05:26 -08:00 |
|
Benoit Steiner
|
2386fc8528
|
Added support for 32bit index on a per tensor/tensor expression. This enables us to use 32bit indices to evaluate expressions on GPU faster while keeping the ability to use 64 bit indices to manipulate large tensors on CPU in the same binary.
|
2015-02-27 12:57:13 -08:00 |
|