aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2015-09-08 15:37:25 -0700
committerGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2015-09-08 15:37:25 -0700
commit98f8f0db9a2241083b86803ad2e2097cd0f3765b (patch)
tree75647b0e73f6b40401090f642b892dd334a99f1d
parente3f69eb60d8d5ae63898396dad717256d4468a41 (diff)
Added support for predux_mul for CUDA devices
-rw-r--r--Eigen/src/Core/arch/CUDA/PacketMath.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/Eigen/src/Core/arch/CUDA/PacketMath.h b/Eigen/src/Core/arch/CUDA/PacketMath.h
index 195debd0d..a2d803c06 100644
--- a/Eigen/src/Core/arch/CUDA/PacketMath.h
+++ b/Eigen/src/Core/arch/CUDA/PacketMath.h
@@ -244,6 +244,13 @@ template<> EIGEN_DEVICE_FUNC inline double predux_min<double2>(const double2& a)
return fmin(a.x, a.y);
}
+template<> EIGEN_DEVICE_FUNC inline float predux_mul<float4>(const float4& a) {
+ return a.x * a.y * a.z * a.w;
+}
+template<> EIGEN_DEVICE_FUNC inline double predux_mul<double2>(const double2& a) {
+ return a.x * a.y;
+}
+
template<> EIGEN_DEVICE_FUNC inline float4 pabs<float4>(const float4& a) {
return make_float4(fabsf(a.x), fabsf(a.y), fabsf(a.z), fabsf(a.w));
}