Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Add TernaryFunctors and the betainc SpecialFunction. | 2016-06-02 | |
| | | | | | | | | | | | | | | | | | | | TernaryFunctors and their executors allow operations on 3-tuples of inputs. API fully implemented for Arrays and Tensors based on binary functors. Ported the cephes betainc function (regularized incomplete beta integral) to Eigen, with support for CPU and GPU, floats, doubles, and half types. Added unit tests in array.cpp and cxx11_tensor_cuda.cu Collapsed revision * Merged helper methods for betainc across floats and doubles. * Added TensorGlobalFunctions with betainc(). Removed betainc() from TensorBase. * Clean up CwiseTernaryOp checks, change igamma_helper to cephes_helper. * betainc: merge incbcf and incbd into incbeta_cfe. and more cleanup. * Update TernaryOp and SpecialFunctions (betainc) based on review comments. | ||
* | bug #725: make move ctor/assignment noexcept. | 2016-06-03 | |
| | |||
* | Include mmintrin.h to make it possible to use mmx instructions when needed. ↵ | 2016-05-23 | |
| | | | | For example, this will enable the definition of a half packet for the Packet4f type. | ||
* | Started to vectorize the processing of 16bit floats on CPU. | 2016-05-23 | |
| | |||
* | Don't attempt to leverage the _cvtss_sh and _cvtsh_ss instructions when ↵ | 2016-04-20 | |
| | | | | compiling with clang since it's unclear which versions of clang actually support these instruction. | ||
* | Made sure all the required header files are included when trying to use fp16 | 2016-04-19 | |
| | |||
* | Merged eigen/eigen into default | 2016-04-11 | |
|\ | |||
| * | Remove all references to MKL in BLAS wrappers. | 2016-04-11 | |
| | | |||
* | | Merged eigen/eigen into default | 2016-04-07 | |
|\| | |||
| * | Added support for hardware conversion between fp16 and full floats whenever | 2016-04-06 | |
| | | | | | | | | possible. | ||
| * | Merged kmargar/eigen/tip into default | 2016-04-05 | |
| |\ | |||
| | * | enable the other includes as well | 2016-04-05 | |
| | | | |||
* | | | Merged eigen/eigen into default | 2016-04-01 | |
|\| | | |||
* | | | Add matrix condition estimator module that implements the Higham/Hager ↵ | 2016-04-01 | |
| | | | | | | | | | | | | algorithm from http://www.maths.manchester.ac.uk/~higham/narep/narep135.pdf used in LPACK. Add rcond() methods to FullPivLU and PartialPivLU. | ||
| * | | Pull math functions from the global namespace only when compiling cuda code ↵ | 2016-03-30 | |
|/ / | | | | | | | with nvcc. When compiling with clang, we want to use the std namespace. | ||
| * | some primitives ported, but missing intrinsics and crash with asm() are a ↵ | 2016-03-27 | |
|/ | | | | problem | ||
* | Made half floats usable on hardware that doesn't support them natively. | 2016-03-11 | |
| | |||
* | Added support for simple coefficient wise tensor expression using half ↵ | 2016-02-19 | |
| | | | | floats on CUDA devices | ||
* | FP16 on CUDA are only available starting with cuda 7.5. Disable them when ↵ | 2016-02-18 | |
| | | | | using an older version of CUDA | ||
* | Reverted unintended changes introduced by a bad merge | 2016-02-19 | |
| | |||
* | Added preliminary support for half floats on CUDA GPU. For now we can simply ↵ | 2016-02-19 | |
| | | | | convert floats into half floats and vice versa | ||
* | Add special functions to Eigen: lgamma, erf, erfc. | 2015-12-07 | |
| | | | | Includes CUDA support and unit tests. | ||
* | Add LU::transpose().solve() and LU::adjoint().solve() API. | 2015-12-01 | |
| | |||
* | Clean a bit the implementation of inverse permutations | 2015-10-08 | |
| | |||
* | Implement plog and pexp for AltiVec. | 2015-07-30 | |
| | |||
* | Remove deprecated Flagged expression. | 2015-09-02 | |
| | |||
* | Include SSE packetmath when AVX is enabled, and enable AVX's sine function ↵ | 2015-08-07 | |
| | | | | only in fast-math mode (as SSE) | ||
* | bug #973: update macro-level control of alignement by introducing ↵ | 2015-07-29 | |
| | | | | user-controllable EIGEN_MAX_ALIGN_BYTES and EIGEN_MAX_STATIC_ALIGN_BYTES macros. This changeset also removes EIGEN_ALIGN (replaced by EIGEN_MAX_ALIGN_BYTES>0), EIGEN_ALIGN_STATICALLY (replaced by EIGEN_MAX_STATIC_ALIGN_BYTES>0), EIGEN_USER_ALIGN*, EIGEN_ALIGN_DEFAULT (replaced by EIGEN_ALIGN_MAX). | ||
* | Define EIGEN_VECTORIZE_AVX2 and EIGEN_VECTORIZE_FMA when the corresponding ↵ | 2015-07-22 | |
| | | | | instructions can be used by the compiler | ||
* | Fixed some compiler bugs in NVCC, now compiles with CUDA. | 2015-07-22 | |
| | | | | (chtz: Manually joined sevaral commits to keep the history clean) | ||
* | Revert files to remove EIGEN_USING_NUMEXT_MATH | 2015-07-11 | |
| | |||
* | Protect against compilation errors with nvcc and numext/complex. | 2015-07-06 | |
| | | | | | Disable functions explicitely involving std::complex when compiling with nvcc. Improve code compatilibity using the new macro EIGEN_USING_NUMEXT_MATH (same spirit than EIGEN_USING_STD_MATH but for numext functions) | ||
* | Remove a few deprecated internal expressions | 2015-06-19 | |
| | |||
* | Abandon blocking size lookup table approach. Not performing as well in real ↵ | 2015-05-19 | |
| | | | | world as in microbenchmark. | ||
* | Check for the macro __ARM_NEON__ (with two underscores at the end) as well ↵ | 2015-05-12 | |
| | | | | as __ARM_NEON. The second macro is correct according to the ARM language extensions specification, but historically the first one has been more common. Some older compilers (e.g. gcc v4.6 on a Beaglebone Black) only define the first, so without this patch NEON isn't enabled. | ||
* | Pulled latest update from the eigen main codebase | 2015-03-24 | |
|\ | |||
| * | use unsigned short instead of uint16_t which doesn't exist in c++98 | 2015-03-17 | |
| | | |||
| * | Include stdint.h. Not going for cstdint because it is a C++11 addition. ↵ | 2015-03-16 | |
| | | | | | | | | Needed for uint16_t at least, in lookup-table code. | ||
| * | Provide a empirical lookup table for blocking sizes measured on a Nexus 5. ↵ | 2015-03-15 | |
| | | | | | | | | Only for float, only for Android on ARM 32bit for now. | ||
| * | Refactor computeProductBlockingSizes to make room for the possibility of ↵ | 2015-03-15 | |
| | | | | | | | | using lookup tables | ||
* | | Added support for vectorized type casting of tensors | 2015-02-27 | |
|/ | |||
* | Pulled latest updates from trunk | 2015-02-13 | |
|\ | |||
* | | Optimized version of the sin(), exp(), log() and sqrt() function for AVX | 2015-02-13 | |
| | | |||
| * | merge Tensor module within Eigen/unsupported and update gemv BLAS wrapper | 2015-02-12 | |
|/| | |||
* | | Added vectorized implementation of the exponential function for ARM/NEON | 2015-02-10 | |
| | | |||
| * | Pulled the latest changes from the trunk | 2015-02-06 | |
| |\ | |/ |/| | |||
* | | bug #936, patch 2/3: Remove EIGEN_VECTORIZE_FMA, was redundant with ↵ | 2015-01-30 | |
| | | | | | | | | EIGEN_HAS_SINGLE_INSTRUCTION_MADD | ||
* | | Introduce unified macros to identify compiler, OS, and architecture. They ↵ | 2014-11-04 | |
| | | | | | | | | are all defined in util/Macros.h and prefixed with EIGEN_COMP_, EIGEN_OS_, and EIGEN_ARCH_ respectively. | ||
* | | Merged in kmargar/eigen (pull request PR-87) | 2014-10-28 | |
|\ \ | | | | | | | | | | Extend NEON to add ARMv8 64-bit double support | ||
* | | | Bug #896: Swap order of checking __VSX__/__ALTIVEC__ | 2014-10-22 | |
| | | |