aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/util
Commit message (Collapse)AuthorAge
* bug #1584: Improve random (avoid undefined behavior).Gravatar Alexey Frunze2018-08-08
|
* PR 465: Fix issue in RowMajor assignment in plain_matrix_type_row_major::typeGravatar Justin Carpentier2018-08-10
| | | | The type should be RowMajor
* Fixing typo.Gravatar Mehdi Goli2018-08-08
|
* Adding EIGEN_UNROLL_LOOP macro.Gravatar Mehdi Goli2018-08-08
|
* bug #1580: Fix cuda clang build. STL is not supported, so std::equal_to and ↵Gravatar Rasmus Munk Larsen2018-08-01
| | | | | | | std::not_equal breaks compilation. Update the definition of EIGEN_CONSTEXPR_ARE_DEVICE_FUNC to exclude clang. See also PR 450.
* Fix two regressions introduced in previous merges: bad usage of ↵Gravatar Gael Guennebaud2018-08-01
| | | | EIGEN_HAS_VARIADIC_TEMPLATES and linking issue.
* Using the suggested modification.Gravatar Mehdi Goli2018-08-01
|
* variadic version of assert which can take a parameter pack as its input.Gravatar Mehdi Goli2018-08-01
|
* Fixed issue which made documentation not getting built anymoreGravatar Christoph Hertzberg2018-07-24
|
* fix typoGravatar Gael Guennebaud2018-07-23
|
* Disable type traits for stdlibc++ <= 4.9.3Gravatar Eugene Zhulenev2018-07-20
|
* Fix determination of EIGEN_HAS_TYPE_TRAITSGravatar Gael Guennebaud2018-07-19
|
* Add MIPS changes missing from previous merge.Gravatar Alexey Frunze2018-07-18
|
* Disable type traits for GCC < 5.1.0Gravatar Eugene Zhulenev2018-07-18
|
* applying EIGEN_DECLARE_TEST to *gpu* testsGravatar Deven Desai2018-07-17
| | | | | | | | | | | | | Also, a few minor fixes for GPU tests running in HIP mode. 1. Adding an include for hip/hip_runtime.h in the Macros.h file For HIP __host__ and __device__ are macros which are defined in hip headers. Their definitions need to be included before their use in the file. 2. Fixing the compile failure in TensorContractionGpu introduced by the commit to "Fuse computations into the Tensor contractions using output kernel" 3. Fixing a HIP/clang specific compile error by making the struct-member assignment explicit
* bug #1572: use c++11 atomic instead of volatile if c++11 is available, and ↵Gravatar Gael Guennebaud2018-07-17
| | | | disable multi-threaded GEMM on non-x86 without c++11.
* Relax the condition to not only work on Android.Gravatar Rasmus Munk Larsen2018-07-13
|
* Clang produces incorrect Thumb2 assembler when using alloca.Gravatar Rasmus Munk Larsen2018-07-13
| | | | Don't define EIGEN_ALLOCA when generating Thumb with clang.
* bug #1571: fix is_convertible<from,to> with "from" a reference.Gravatar Gael Guennebaud2018-07-13
|
* Forward declaring std::array does not work with all std libs, so let's just ↵Gravatar Gael Guennebaud2018-07-13
| | | | include <array>
* Add support for MIPS SIMD (MSA)Gravatar Alexey Frunze2018-07-06
|
* Fix compilation regarding std::arrayGravatar Gael Guennebaud2018-07-12
|
* Cleanup the mess in Eigen/Core by moving CUDA/HIP stuff at more appropriate ↵Gravatar Gael Guennebaud2018-07-12
| | | | | | places (Macros.h), and alignment/vectorization logic is now in util/ConfigureVectorization.h
* Merged in deven-amd/eigen (pull request PR-402)Gravatar Gael Guennebaud2018-07-12
|\ | | | | | | Adding support for using Eigen in HIP kernels.
* | Remove useless specialization thanks to is_convertible being more robust.Gravatar Gael Guennebaud2018-07-12
| |
* | spellcheckGravatar Gael Guennebaud2018-07-12
| |
* | Make is_convertible more robust and conformant to std::is_convertibleGravatar Gael Guennebaud2018-07-12
| |
* | Fix double ;;Gravatar Gael Guennebaud2018-07-11
| |
| * merging updates from upstreamGravatar Deven Desai2018-07-11
| |\ | |/ |/|
* | Add internall::is_identity compile-time helperGravatar Gael Guennebaud2018-07-11
| |
* | Fix conversion warningGravatar Gael Guennebaud2018-07-10
| |
* | Introduce the macro ei_declare_local_nested_eval to help allocating on the ↵Gravatar Gael Guennebaud2018-07-09
| | | | | | | | | | | | stack local temporaries via alloca, and let outer-products makes a good use of it. If successful, we should use it everywhere nested_eval is used to declare local dense temporaries.
| * updates based on PR feedbackGravatar Deven Desai2018-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two major changes (and a few minor ones which are not listed here...see PR discussion for details) 1. Eigen::half implementations for HIP and CUDA have been merged. This means that - `CUDA/Half.h` and `HIP/hcc/Half.h` got merged to a new file `GPU/Half.h` - `CUDA/PacketMathHalf.h` and `HIP/hcc/PacketMathHalf.h` got merged to a new file `GPU/PacketMathHalf.h` - `CUDA/TypeCasting.h` and `HIP/hcc/TypeCasting.h` got merged to a new file `GPU/TypeCasting.h` After this change the `HIP/hcc` directory only contains one file `math_constants.h`. That will go away too once that file becomes a part of the HIP install. 2. new macros EIGEN_GPUCC, EIGEN_GPU_COMPILE_PHASE and EIGEN_HAS_GPU_FP16 have been added and the code has been updated to use them where appropriate. - `EIGEN_GPUCC` is the same as `(EIGEN_CUDACC || EIGEN_HIPCC)` - `EIGEN_GPU_DEVICE_COMPILE` is the same as `(EIGEN_CUDA_ARCH || EIGEN_HIP_DEVICE_COMPILE)` - `EIGEN_HAS_GPU_FP16` is the same as `(EIGEN_HAS_CUDA_FP16 or EIGEN_HAS_HIP_FP16)`
| * syncing this fork with upstreamGravatar Deven Desai2018-06-13
| |\
* | | Extend CUDA support to matrix inversion and selfadjointeigensolverGravatar Andrea Bocci2018-06-11
| | |
* | | Make is_same_dense compatible with different scalar types.Gravatar Gael Guennebaud2018-07-03
| |/ |/|
* | Don't use std::equal_to inside cuda kernels since it's not supported.Gravatar Benoit Steiner2018-06-07
| |
| * Adding support for using Eigen in HIP kernels.Gravatar Deven Desai2018-06-06
| | | | | | | | | | | | | | | | | | This commit enables the use of Eigen on HIP kernels / AMD GPUs. Support has been added along the same lines as what already exists for using Eigen in CUDA kernels / NVidia GPUs. Application code needs to explicitly define EIGEN_USE_HIP when using Eigen in HIP kernels. This is because some of the CUDA headers get picked up by default during Eigen compile (irrespective of whether or not the underlying compiler is CUDACC/NVCC, for e.g. Eigen/src/Core/arch/CUDA/Half.h). In order to maintain this behavior, the EIGEN_USE_HIP macro is used to switch to using the HIP version of those header files (see Eigen/Core and unsupported/Eigen/CXX11/Tensor) Use the "-DEIGEN_TEST_HIP" cmake option to enable the HIP specific unit tests.
* | Fix MSVC warning C4290: C++ exception specification ignored except to ↵Gravatar Gael Guennebaud2018-06-07
| | | | | | | | indicate a function is not __declspec(nothrow)
* | Set EIGEN_IDEAL_MAX_ALIGN_BYTES correctly for AVX512 buildsGravatar Mark D Ryan2018-05-17
|/ | | | | | | | | | | | bug #1548 The macro EIGEN_IDEAL_MAX_ALIGN_BYTES is being incorrectly set to 32 on AVX512 builds. It should be set to 64. In the current code it is only set to 64 if the macro EIGEN_VECTORIZE_AVX512 is defined. This macro does get defined in AVX512 builds in Core, but only after Macros.h, the file that defines EIGEN_IDEAL_MAX_ALIGN_BYTES, has been included. This commit fixes the issue by setting EIGEN_IDEAL_MAX_ALIGN_BYTES to 64 if __AVX512F__ is defined.
* Fix internal::is_integral<size_t/ptrdiff_t> with MSVC 2013 and older.Gravatar Gael Guennebaud2018-05-22
|
* fix stupid typoGravatar Gael Guennebaud2018-05-18
|
* is_convertible<T,Index> does not seems to work well with MSVC 2013, so let's ↵Gravatar Gael Guennebaud2018-05-18
| | | | rather use __is_enum(T) for old MSVC versions
* add some internal checksGravatar Gael Guennebaud2018-05-18
|
* Add specializations of is_arithmetic for long long in c++11Gravatar Gael Guennebaud2018-04-23
|
* Disable -Wshadow when compiling with g++Gravatar Christoph Hertzberg2018-04-21
|
* fix linking issueGravatar Gael Guennebaud2018-04-13
|
* bug #1520: workaround some -Wfloat-equal warnings by calling std::equal_toGravatar Gael Guennebaud2018-04-11
|
* Extend list of MSVC versionsGravatar Gael Guennebaud2018-04-04
|
* commit 45e9c9996da790b55ed9c4b0dfeae49492ac5c46 (HEAD -> memory_fix)Gravatar Gael Guennebaud2018-04-03
| | | | | | | | | | | | | | | | | Author: George Burgess IV <gbiv@google.com> Date: Thu Mar 1 11:20:24 2018 -0800 Prefer `::operator new` to `new` The C++ standard allows compilers much flexibility with `new` expressions, including eliding them entirely (https://godbolt.org/g/yS6i91). However, calls to `operator new` are required to be treated like opaque function calls. Since we're calling `new` for side-effects other than allocating heap memory, we should prefer the less flexible version. Signed-off-by: George Burgess IV <gbiv@google.com>