aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Remove "false &&" left over from test.Gravatar Rasmus Munk Larsen2018-09-26
|
* Parallelize tensor contraction over the inner dimension in cases where where ↵Gravatar Rasmus Munk Larsen2018-09-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | one or both of the outer dimensions (m and n) are small but k is large. This speeds up individual matmul microbenchmarks by up to 85%. Naming below is BM_Matmul_M_K_N_THREADS, measured on a 2-socket Intel Broadwell-based server. Benchmark Base (ns) New (ns) Improvement ------------------------------------------------------------------ BM_Matmul_1_80_13522_1 387457 396013 -2.2% BM_Matmul_1_80_13522_2 406487 230789 +43.2% BM_Matmul_1_80_13522_4 395821 123211 +68.9% BM_Matmul_1_80_13522_6 391625 97002 +75.2% BM_Matmul_1_80_13522_8 408986 113828 +72.2% BM_Matmul_1_80_13522_16 399988 67600 +83.1% BM_Matmul_1_80_13522_22 411546 60044 +85.4% BM_Matmul_1_80_13522_32 393528 57312 +85.4% BM_Matmul_1_80_13522_44 390047 63525 +83.7% BM_Matmul_1_80_13522_88 387876 63592 +83.6% BM_Matmul_1_1500_500_1 245359 248119 -1.1% BM_Matmul_1_1500_500_2 401833 143271 +64.3% BM_Matmul_1_1500_500_4 210519 100231 +52.4% BM_Matmul_1_1500_500_6 251582 86575 +65.6% BM_Matmul_1_1500_500_8 211499 80444 +62.0% BM_Matmul_3_250_512_1 70297 68551 +2.5% BM_Matmul_3_250_512_2 70141 52450 +25.2% BM_Matmul_3_250_512_4 67872 58204 +14.2% BM_Matmul_3_250_512_6 71378 63340 +11.3% BM_Matmul_3_250_512_8 69595 41652 +40.2% BM_Matmul_3_250_512_16 72055 42549 +40.9% BM_Matmul_3_250_512_22 70158 54023 +23.0% BM_Matmul_3_250_512_32 71541 56042 +21.7% BM_Matmul_3_250_512_44 71843 57019 +20.6% BM_Matmul_3_250_512_88 69951 54045 +22.7% BM_Matmul_3_1500_512_1 369328 374284 -1.4% BM_Matmul_3_1500_512_2 428656 223603 +47.8% BM_Matmul_3_1500_512_4 205599 139508 +32.1% BM_Matmul_3_1500_512_6 214278 139071 +35.1% BM_Matmul_3_1500_512_8 184149 142338 +22.7% BM_Matmul_3_1500_512_16 156462 156983 -0.3% BM_Matmul_3_1500_512_22 163905 158259 +3.4% BM_Matmul_3_1500_512_32 155314 157662 -1.5% BM_Matmul_3_1500_512_44 235434 158657 +32.6% BM_Matmul_3_1500_512_88 156779 160275 -2.2% BM_Matmul_1500_4_512_1 363358 349528 +3.8% BM_Matmul_1500_4_512_2 303134 263319 +13.1% BM_Matmul_1500_4_512_4 176208 130086 +26.2% BM_Matmul_1500_4_512_6 148026 115449 +22.0% BM_Matmul_1500_4_512_8 131656 98421 +25.2% BM_Matmul_1500_4_512_16 134011 82861 +38.2% BM_Matmul_1500_4_512_22 134950 85685 +36.5% BM_Matmul_1500_4_512_32 133165 90081 +32.4% BM_Matmul_1500_4_512_44 133203 90644 +32.0% BM_Matmul_1500_4_512_88 134106 100566 +25.0% BM_Matmul_4_1500_512_1 439243 435058 +1.0% BM_Matmul_4_1500_512_2 451830 257032 +43.1% BM_Matmul_4_1500_512_4 276434 164513 +40.5% BM_Matmul_4_1500_512_6 182542 144827 +20.7% BM_Matmul_4_1500_512_8 179411 166256 +7.3% BM_Matmul_4_1500_512_16 158101 155560 +1.6% BM_Matmul_4_1500_512_22 152435 155448 -1.9% BM_Matmul_4_1500_512_32 155150 149538 +3.6% BM_Matmul_4_1500_512_44 193842 149777 +22.7% BM_Matmul_4_1500_512_88 149544 154468 -3.3%
* Don't deactivate BVH test for clang (probably, this was failing for very old ↵Gravatar Christoph Hertzberg2018-09-25
| | | | versions of clang)
* Fix documentation of reshape to vectors.Gravatar Gael Guennebaud2018-09-25
|
* Merge with default.Gravatar Gael Guennebaud2018-09-23
|\
| * Fix logic in diagonal*dense product in a corner case.Gravatar Gael Guennebaud2018-09-22
| | | | | | | | The problem was for: diag(1x1) * mat(1,n)
| * Demangle Travseral and Unrolling in ReduxGravatar Gael Guennebaud2018-09-21
| |
| * Fiw shadowing of last and allGravatar Gael Guennebaud2018-09-21
| |
| * Replace unused PREDICATE by corresponding STATIC_ASSERTGravatar Christoph Hertzberg2018-09-21
| |
* | Add reshaped<>() shortcuts when returning vectors and remove the reshaping ↵Gravatar Gael Guennebaud2018-09-21
| | | | | | | | version of operator()(all)
| * Add missing plugins to DynamicSparseMatrix -- fix sparse_extra_3Gravatar Gael Guennebaud2018-09-21
| |
| * fix unalignedcount for avx512Gravatar Gael Guennebaud2018-09-21
| |
| * Add more debug outputGravatar Gael Guennebaud2018-09-21
| |
| * Fix vectorization logic unit test for AVX512Gravatar Gael Guennebaud2018-09-21
| |
| * Improve slice-vectorization logic for redux (significant speed-up for ↵Gravatar Gael Guennebaud2018-09-21
| | | | | | | | reduxion of blocks)
* | merge with default EigenGravatar Gael Guennebaud2018-09-21
|\|
* | Doc fixesGravatar Gael Guennebaud2018-09-21
| |
| * Merged indexing cleanup (pull request PR-506)Gravatar Gael Guennebaud2018-09-21
| |\
| * | Fix EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE for AVX512 or ↵Gravatar Gael Guennebaud2018-09-21
| | | | | | | | | | | | | | | | | | AVX with malloc aligned on 8 bytes only. This change also make it future proof for AVX1024
| * | Collapsed revisionGravatar Eugene Zhulenev2018-09-20
| | | | | | | | | | | | | | | | | | * Split cxx11_tensor_executor test * Register test parts with EIGEN_SUFFIXES * Fix EIGEN_SUFFIXES in cxx11_tensor_executor test
| | * Fix docGravatar Gael Guennebaud2018-09-20
| | |
| | * Add indexing namespaceGravatar Gael Guennebaud2018-09-20
| | |
| | * Fix shadowingGravatar Gael Guennebaud2018-09-20
| | |
* | | Fix doc wrt previous changeGravatar Gael Guennebaud2018-09-19
| | |
* | | Update reshaped API to use RowMajor/ColMajor directly as integral values ↵Gravatar Gael Guennebaud2018-09-19
| | | | | | | | | | | | | | | | | | instead of introducing RowOrder/ColOrder types. The API changed from A.respahed(rows,cols,RowOrder) to A.template reshaped<RowOrder>(rows,cols).
| | * ease transition by adding placeholders::all/last/and as deprecatedGravatar Gael Guennebaud2018-09-17
| | |
| | * Move all, last, end from Eigen::placeholders namespace to Eigen::, and ↵Gravatar Gael Guennebaud2018-09-15
| |/ | | | | | | rename end to lastp1 to avoid conflicts with std::end.
| * Merged eigen/eigen into defaultGravatar Rasmus Munk Larsen2018-09-20
| |\
| * | Initialize BlockIteratorState in a C++03 compatible way.Gravatar Rasmus Munk Larsen2018-09-20
| | |
| | * mergeGravatar Gael Guennebaud2018-09-20
| | |\
| | * | Fix MPrealSupportGravatar Gael Guennebaud2018-09-20
| | | |
| | * | Fix GPU support.Gravatar Gael Guennebaud2018-09-20
| | | |
| | * | Rename test/array.cpp to test/array_cwise.cpp to avoid conflicts with the ↵Gravatar Gael Guennebaud2018-09-20
| | | | | | | | | | | | | | | | array header.
| | * | Fix warningGravatar Gael Guennebaud2018-09-20
| | | |
| | * | Fix regression introduced by the previous fix for AVX512.Gravatar Gael Guennebaud2018-09-20
| | | | | | | | | | | | | | | | It brokes the complex-complex case on SSE.
| | | * Workaround for spurious "array subscript is above array bounds" warnings ↵Gravatar Christoph Hertzberg2018-09-20
| | | | | | | | | | | | | | | | with g++4.x
| | * | Workaround increases required alignment warningGravatar Gael Guennebaud2018-09-20
| | | |
| | | * Avoid warning "suggest braces around initialization of subobject".Gravatar Christoph Hertzberg2018-09-20
| | | | | | | | | | | | | | | | This test is not run in C++03 mode, so no compatibility is lost.
| | * | Fix gebp kernel for real+complex in case only reals are vectorized (e.g., ↵Gravatar Gael Guennebaud2018-09-20
| | | | | | | | | | | | | | | | | | | | | | | | AVX512). This commit also removes "half-packet" from data-mappers: it was not used and conceptually broken anyways.
| | * | Fix warnings in AVX512Gravatar Gael Guennebaud2018-09-20
| | |/
| | * Disable ignoring attributes warningGravatar Gael Guennebaud2018-09-20
| |/
| * Cast to longer type.Gravatar Rasmus Munk Larsen2018-09-19
| |
| * Silence compiler warning.Gravatar Rasmus Munk Larsen2018-09-19
| |
| * Silence more compiler warnings.Gravatar Rasmus Munk Larsen2018-09-19
| |
| * Silence compiler warnings in ThreadPoolInterface.h.Gravatar Rasmus Munk Larsen2018-09-19
| |
| * Rename Symbolic namespace to symbolic to be consistent with numext namespaceGravatar Gael Guennebaud2018-09-15
| |
| * Merged in ezhulenev/eigen-02 (pull request PR-501)Gravatar Rasmus Munk Larsen2018-09-19
| |\ | | | | | | | | | Enable DSizes type promotion with c++03
| | * Support static dimensions (aka IndexList) in Tensor::resize(...)Gravatar Eugene Zhulenev2018-09-18
| | |
| * | bug #1600: initialize m_info to InvalidInput by default, even though m_info ↵Gravatar Gael Guennebaud2018-09-18
| | | | | | | | | | | | is not accessible until it has been initialized (assert)
| | * Enable DSizes type promotion with c++03 compilersGravatar Eugene Zhulenev2018-09-18
| |/