Masaki Murooka
55ecd58a3c
Bug https://gitlab.com/libeigen/eigen/-/issues/1415 : add missing EIGEN_DEVICE_FUNC to diagonal_product_evaluator_base.
2020-03-20 13:37:37 +09:00
Rasmus Munk Larsen
4da2c6b197
Remove reference to non-existent unary_op_base class.
2020-03-19 18:23:06 +00:00
Rasmus Munk Larsen
eda90baf35
Add missing arguments to numext::absdiff().
2020-03-19 18:16:55 +00:00
Joel Holdsworth
d5c665742b
Add absolute_difference coefficient-wise binary Array function
2020-03-19 17:45:20 +00:00
Everton Constantino
6ff5a14091
Reenabling packetmath unsigned tests, adding dummy pabs for relevant unsigned
...
types.
2020-03-19 17:31:49 +00:00
Joel Holdsworth
232f904082
Add shift_left<N> and shift_right<N> coefficient-wise unary Array functions
2020-03-19 17:24:06 +00:00
Joel Holdsworth
54aa8fa186
Implement integer square-root for NEON
2020-03-19 17:05:13 +00:00
Allan Leal
37ccb86916
Update NullaryFunctors.h
2020-03-16 11:59:02 +00:00
Deven Desai
7158ed4e0e
Fixing HIP breakage caused by the recent commit that introduces Packet4h2 as the Eigen::Half packet type
2020-03-12 01:06:24 +00:00
Joel Holdsworth
d53ae40f7b
NEON: Added int64_t and uint64_t packet math
2020-03-10 22:46:19 +00:00
Joel Holdsworth
4b9ecf2924
NEON: Added int8_t and uint8_t packet math
2020-03-10 22:46:19 +00:00
Joel Holdsworth
ceaabd4e16
NEON: Added int16_t and uint16_t packet math
2020-03-10 22:46:19 +00:00
Joel Holdsworth
d5d3cf9339
NEON: Added uint32_t packet math
2020-03-10 22:46:19 +00:00
Joel Holdsworth
eacf97f727
NEON: Implemented half-size vectors
2020-03-10 22:46:19 +00:00
Joel Holdsworth
5f411b729e
NEON: Set packet_traits<double> flags
2020-03-10 22:46:19 +00:00
Joel Holdsworth
88337acae2
test/packetmath: Add tests for all integer types
2020-03-10 22:46:19 +00:00
Joel Holdsworth
9e68977578
test/packetmath: Made negate non-mandatory
2020-03-10 22:46:19 +00:00
Sami Kama
b733b8b680
remove duplicate pset1 for half and add some comments about why we need expose pmul/add/div/min/max on host
2020-03-10 20:28:43 +00:00
Ram-Z
a45d28256d
Don't restrict CMAKE_BUILD_TYPE
...
This prevents projects that add Eigen using `add_subdirectory` from using their own custom CMAKE_BUILD_TYPE and have Eigen respect the same custom flags.
2020-02-28 20:46:53 +00:00
Cédric Hubert
98bfc5aaa8
Update MarketIO.h
2020-02-28 12:41:51 +00:00
Rasmus Munk Larsen
52a2fbbb00
Revert "avoid selecting half-packets when unnecessary"
...
This reverts commit 5ca10480b0
2020-02-25 01:07:43 +00:00
Rasmus Munk Larsen
235bcfe08d
Revert "Pick full packet unconditionally when EIGEN_UNALIGNED_VECTORIZE"
...
This reverts commit 44df2109c8
2020-02-25 01:07:28 +00:00
Rasmus Munk Larsen
d7a42eade6
Revert "do not pick full-packet if it'd result in more operations"
...
This reverts commit e9cc0cd353
2020-02-25 01:07:15 +00:00
Rasmus Munk Larsen
6ac37768a9
Revert "add some static checks for packet-picking logic"
...
This reverts commit 7769600245
2020-02-25 01:07:04 +00:00
Rasmus Munk Larsen
87cfa4862f
Revert "Disable test in test/vectorization_logic.cpp, which is currently failing with AVX."
...
This reverts commit b625adffd8
2020-02-25 01:04:56 +00:00
Rasmus Munk Larsen
b625adffd8
Disable test in test/vectorization_logic.cpp, which is currently failing with AVX.
2020-02-24 23:28:25 +00:00
Tobias Bosch
f0ce88cff7
Include <sstream> explicitly, and don't rely on the implicit include via <complex>.
...
This implicit dependency does no longer exist in a recent llbm release (sha 78be61871704).
2020-02-24 23:09:36 +00:00
Ilya Tokar
eb6cc29583
Avoid a division in NonBlockingThreadPool::Steal.
...
Looking at profiles we spend ~10-20% of Steal on simply computing
random % size. We can reduce random 32-bit int into [0, size) range with
a single multiplication and shift. This transformation is described in
https://lemire.me/blog/2016/06/27/a-fast-alternative-to-the-modulo-reduction/
2020-02-14 16:02:57 -05:00
Francesco Mazzoli
7769600245
add some static checks for packet-picking logic
2020-02-07 18:16:16 +01:00
Francesco Mazzoli
e9cc0cd353
do not pick full-packet if it'd result in more operations
...
See comment and
<https://gitlab.com/libeigen/eigen/merge_requests/46#note_270622952 >.
2020-02-07 18:16:16 +01:00
Francesco Mazzoli
44df2109c8
Pick full packet unconditionally when EIGEN_UNALIGNED_VECTORIZE
...
See comment for details.
2020-02-07 18:16:16 +01:00
Francesco Mazzoli
5ca10480b0
avoid selecting half-packets when unnecessary
...
See
<https://stackoverflow.com/questions/59709148/ensuring-that-eigen-uses-avx-vectorization-for-a-certain-operation >
for an explanation of the problem this solves.
In short, for some reason, before this commit the half-packet is
selected when the array / matrix size is not a multiple of
`unpacket_traits<PacketType>::size`, where `PacketType` starts out
being the full Packet.
For example, for some data of 100 `float`s, `Packet4f` will be
selected rather than `Packet8f`, because 100 is not a multiple of 8,
the size of `Packet8f`.
This commit switches to selecting the half-packet if the size is
less than the packet size, which seems to make more sense.
As I stated in the SO post I'm not sure that I'm understanding the
issue correctly, but this fix resolves the issue in my program. Moreover,
`make check` passes, with the exception of line 614 and 616 in
`test/packetmath.cpp`, which however also fail on master on my machine:
CHECK_CWISE1_IF(PacketTraits::HasBessel, numext::bessel_i0, internal::pbessel_i0);
...
CHECK_CWISE1_IF(PacketTraits::HasBessel, numext::bessel_i1, internal::pbessel_i1);
2020-02-07 18:16:16 +01:00
Eugene Zhulenev
f584bd9b30
Fail at compile time if default executor tries to use non-default device
2020-02-06 22:43:24 +00:00
Eugene Zhulenev
3fda850c46
Remove dead code from TensorReduction.h
2020-01-29 18:45:31 +00:00
Jeff Daily
b5df8cabd7
fix hip-clang compilation due to new HIP scalar accessor
2020-01-20 21:08:52 +00:00
Deven Desai
6d284bb1b7
Fix for HIP breakage - 200115. Adding a missing EIGEN_DEVICE_FUNC attr
2020-01-16 00:51:43 +00:00
Srinivas Vasudevan
f6c6de5d63
Ensure Igamma does not NaN or Inf for large values.
2020-01-14 21:32:48 +00:00
Rasmus Munk Larsen
6601abce86
Remove rogue include in TypeCasting.h. Meta.h is already included by the top-level header in Eigen/Core.
2020-01-14 21:03:53 +00:00
Eugene Zhulenev
b9362fb8f7
Convert StridedLinearBufferCopy::Kind to enum class
2020-01-13 11:43:24 -08:00
Everton Constantino
5a8b97b401
Switching unpacket_traits<Packet4i> to vectorizable=true.
2020-01-13 16:08:20 -03:00
Everton Constantino
42838c28b8
Adding correct cache sizes for PPC architecture.
2020-01-13 16:58:14 +00:00
Christoph Hertzberg
1d0c45122a
Removing executable bit from file mode
2020-01-11 15:02:29 +01:00
Christoph Hertzberg
35219cea68
Bug #1790 : Make areApprox
check numext::isnan
instead of bitwise equality (NaNs don't have to be bitwise equal).
2020-01-11 14:57:22 +01:00
Srinivas Vasudevan
2e099e8d8f
Added special_packetmath test and tweaked bounds on tests.
...
Refactor shared packetmath code to header file.
(Squashed from PR !38 )
2020-01-11 10:31:21 +00:00
Rasmus Munk Larsen
e1ecfc162d
call Explicitly ::rint and ::rintf for targets without c++11. Without this, the Windows build breaks when trying to compile numext::rint<double>.
2020-01-10 21:14:08 +00:00
Joel Holdsworth
da5a7afed0
Improvements to the tidiness and completeness of the NEON implementation
2020-01-10 18:31:15 +00:00
Anuj Rawat
452371cead
Fix for gcc build error when using Eigen headers with AVX512
2020-01-10 18:05:42 +00:00
mehdi-goli
601f89dfd0
Adding RInt vector support for SYCL.
2020-01-10 18:00:36 +00:00
Matthew Powelson
2ea5a715cf
Properly initialize b vector in SplineFitting
...
InterpolateWithDerivative does not initialize the be vector correctly. This issue is discussed In stackoverflow question 48382939.
2020-01-09 21:29:04 +00:00
Rasmus Munk Larsen
9254974115
Don't add EIGEN_DEVICE_FUNC to random() since ::rand is not available in Cuda.
2020-01-09 21:23:09 +00:00