mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-06-30 03:37:44 +00:00
251 lines
18 KiB
Diff
251 lines
18 KiB
Diff
|
|
diff --git a/Eigen/src/Core/arch/AltiVec/MatrixProduct.h b/Eigen/src/Core/arch/AltiVec/MatrixProduct.h
|
||
|
|
index 8feb88ea7..01b50b7c4 100644
|
||
|
|
--- a/Eigen/src/Core/arch/AltiVec/MatrixProduct.h
|
||
|
|
+++ b/Eigen/src/Core/arch/AltiVec/MatrixProduct.h
|
||
|
|
@@ -15,6 +15,21 @@
|
||
|
|
#define EIGEN_ALTIVEC_USE_CUSTOM_PACK 1
|
||
|
|
#endif
|
||
|
|
|
||
|
|
+#ifdef _AIX
|
||
|
|
+#define POWER_10 0x40000
|
||
|
|
+#define POWER_10_ANDUP (POWER_10)
|
||
|
|
+#include <sys/systemcfg.h>
|
||
|
|
+#define __power_10_andup() (_system_configuration.implementation & POWER_10_ANDUP)
|
||
|
|
+
|
||
|
|
+static bool check_mma_support()
|
||
|
|
+{
|
||
|
|
+ if(__power_10_andup() && __power_mma_version() == MMA_V31)
|
||
|
|
+ return true;
|
||
|
|
+ else
|
||
|
|
+ return false;
|
||
|
|
+}
|
||
|
|
+#endif
|
||
|
|
+
|
||
|
|
#include "MatrixProductCommon.h"
|
||
|
|
|
||
|
|
// Since LLVM doesn't support dynamic dispatching, force either always MMA or VSX
|
||
|
|
@@ -2481,12 +2496,21 @@ void gebp_kernel<float, float, Index, DataMapper, mr, nr, ConjugateLhs, Conjugat
|
||
|
|
//generate with MMA only
|
||
|
|
gemm_function = &Eigen::internal::gemmMMA<float, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
#elif defined(ALTIVEC_MMA_SUPPORT) && !defined(EIGEN_ALTIVEC_DISABLE_MMA)
|
||
|
|
- if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
- gemm_function = &Eigen::internal::gemmMMA<float, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
- }
|
||
|
|
- else{
|
||
|
|
- gemm_function = &Eigen::internal::gemm<float, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
- }
|
||
|
|
+ #if defined(_AIX)
|
||
|
|
+ if(check_mma_support()){
|
||
|
|
+ gemm_function = &Eigen::internal::gemmMMA<float, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm<float, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
+ }
|
||
|
|
+ #else
|
||
|
|
+ if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
+ gemm_function = &Eigen::internal::gemmMMA<float, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm<float, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
+ }
|
||
|
|
+ #endif
|
||
|
|
#else
|
||
|
|
gemm_function = &Eigen::internal::gemm<float, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
#endif
|
||
|
|
@@ -2520,12 +2544,21 @@ void gebp_kernel<std::complex<float>, std::complex<float>, Index, DataMapper, mr
|
||
|
|
//generate with MMA only
|
||
|
|
gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<float>, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
#elif defined(ALTIVEC_MMA_SUPPORT) && !defined(EIGEN_ALTIVEC_DISABLE_MMA)
|
||
|
|
- if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
- gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<float>, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
- }
|
||
|
|
- else{
|
||
|
|
- gemm_function = &Eigen::internal::gemm_complex<std::complex<float>, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
- }
|
||
|
|
+ #if defined(_AIX)
|
||
|
|
+ if (check_mma_support()){
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<float>, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complex<std::complex<float>, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
+ }
|
||
|
|
+ #else
|
||
|
|
+ if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<float>, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complex<std::complex<float>, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
+ }
|
||
|
|
+ #endif
|
||
|
|
#else
|
||
|
|
gemm_function = &Eigen::internal::gemm_complex<std::complex<float>, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
#endif
|
||
|
|
@@ -2558,12 +2591,21 @@ void gebp_kernel<float, std::complex<float>, Index, DataMapper, mr, nr, Conjugat
|
||
|
|
//generate with MMA only
|
||
|
|
gemm_function = &Eigen::internal::gemm_complexMMA<float, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
#elif defined(ALTIVEC_MMA_SUPPORT) && !defined(EIGEN_ALTIVEC_DISABLE_MMA)
|
||
|
|
- if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
- gemm_function = &Eigen::internal::gemm_complexMMA<float, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
- }
|
||
|
|
- else{
|
||
|
|
- gemm_function = &Eigen::internal::gemm_complex<float, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
- }
|
||
|
|
+ #if defined(_AIX)
|
||
|
|
+ if (check_mma_support()){
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complexMMA<float, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complex<float, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
+ }
|
||
|
|
+ #else
|
||
|
|
+ if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complexMMA<float, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complex<float, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
+ }
|
||
|
|
+ #endif
|
||
|
|
#else
|
||
|
|
gemm_function = &Eigen::internal::gemm_complex<float, std::complex<float>, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
#endif
|
||
|
|
@@ -2596,12 +2638,21 @@ void gebp_kernel<std::complex<float>, float, Index, DataMapper, mr, nr, Conjugat
|
||
|
|
//generate with MMA only
|
||
|
|
gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<float>, float, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
#elif defined(ALTIVEC_MMA_SUPPORT) && !defined(EIGEN_ALTIVEC_DISABLE_MMA)
|
||
|
|
- if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
- gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<float>, float, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
- }
|
||
|
|
- else{
|
||
|
|
- gemm_function = &Eigen::internal::gemm_complex<std::complex<float>, float, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
- }
|
||
|
|
+ #if defined(_AIX)
|
||
|
|
+ if (check_mma_support()){
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<float>, float, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complex<std::complex<float>, float, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
+ }
|
||
|
|
+ #else
|
||
|
|
+ if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<float>, float, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complex<std::complex<float>, float, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
+ }
|
||
|
|
+ #endif
|
||
|
|
#else
|
||
|
|
gemm_function = &Eigen::internal::gemm_complex<std::complex<float>, float, std::complex<float>, float, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
#endif
|
||
|
|
@@ -2633,12 +2684,21 @@ void gebp_kernel<double, double, Index, DataMapper, mr, nr, ConjugateLhs, Conjug
|
||
|
|
//generate with MMA only
|
||
|
|
gemm_function = &Eigen::internal::gemmMMA<double, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
#elif defined(ALTIVEC_MMA_SUPPORT) && !defined(EIGEN_ALTIVEC_DISABLE_MMA)
|
||
|
|
- if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
- gemm_function = &Eigen::internal::gemmMMA<double, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
- }
|
||
|
|
- else{
|
||
|
|
- gemm_function = &Eigen::internal::gemm<double, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
- }
|
||
|
|
+ #if defined(_AIX)
|
||
|
|
+ if (check_mma_support()){
|
||
|
|
+ gemm_function = &Eigen::internal::gemmMMA<double, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm<double, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
+ }
|
||
|
|
+ #else
|
||
|
|
+ if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
+ gemm_function = &Eigen::internal::gemmMMA<double, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm<double, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
+ }
|
||
|
|
+ #endif
|
||
|
|
#else
|
||
|
|
gemm_function = &Eigen::internal::gemm<double, Index, Packet, RhsPacket, DataMapper, accRows, accCols>;
|
||
|
|
#endif
|
||
|
|
@@ -2671,12 +2731,21 @@ void gebp_kernel<std::complex<double>, std::complex<double>, Index, DataMapper,
|
||
|
|
//generate with MMA only
|
||
|
|
gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<double>, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
#elif defined(ALTIVEC_MMA_SUPPORT) && !defined(EIGEN_ALTIVEC_DISABLE_MMA)
|
||
|
|
- if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
- gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<double>, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
- }
|
||
|
|
- else{
|
||
|
|
- gemm_function = &Eigen::internal::gemm_complex<std::complex<double>, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
- }
|
||
|
|
+ #if defined(_AIX)
|
||
|
|
+ if (check_mma_support()){
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<double>, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complex<std::complex<double>, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
+ }
|
||
|
|
+ #else
|
||
|
|
+ if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<double>, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complex<std::complex<double>, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
+ }
|
||
|
|
+ #endif
|
||
|
|
#else
|
||
|
|
gemm_function = &Eigen::internal::gemm_complex<std::complex<double>, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, false>;
|
||
|
|
#endif
|
||
|
|
@@ -2709,12 +2778,21 @@ void gebp_kernel<std::complex<double>, double, Index, DataMapper, mr, nr, Conjug
|
||
|
|
//generate with MMA only
|
||
|
|
gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<double>, double, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
#elif defined(ALTIVEC_MMA_SUPPORT) && !defined(EIGEN_ALTIVEC_DISABLE_MMA)
|
||
|
|
- if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
- gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<double>, double, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
- }
|
||
|
|
- else{
|
||
|
|
- gemm_function = &Eigen::internal::gemm_complex<std::complex<double>, double, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
- }
|
||
|
|
+ #if defined(_AIX)
|
||
|
|
+ if (check_mma_support()){
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<double>, double, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complex<std::complex<double>, double, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
+ }
|
||
|
|
+ #else
|
||
|
|
+ if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complexMMA<std::complex<double>, double, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complex<std::complex<double>, double, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
+ }
|
||
|
|
+ #endif
|
||
|
|
#else
|
||
|
|
gemm_function = &Eigen::internal::gemm_complex<std::complex<double>, double, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, false, true>;
|
||
|
|
#endif
|
||
|
|
@@ -2747,12 +2825,21 @@ void gebp_kernel<double, std::complex<double>, Index, DataMapper, mr, nr, Conjug
|
||
|
|
//generate with MMA only
|
||
|
|
gemm_function = &Eigen::internal::gemm_complexMMA<double, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
#elif defined(ALTIVEC_MMA_SUPPORT) && !defined(EIGEN_ALTIVEC_DISABLE_MMA)
|
||
|
|
- if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
- gemm_function = &Eigen::internal::gemm_complexMMA<double, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
- }
|
||
|
|
- else{
|
||
|
|
- gemm_function = &Eigen::internal::gemm_complex<double, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
- }
|
||
|
|
+ #if defined(_AIX)
|
||
|
|
+ if (check_mma_support()){
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complexMMA<double, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complex<double, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
+ }
|
||
|
|
+ #else
|
||
|
|
+ if (__builtin_cpu_supports ("arch_3_1") && __builtin_cpu_supports ("mma")){
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complexMMA<double, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
+ }
|
||
|
|
+ else{
|
||
|
|
+ gemm_function = &Eigen::internal::gemm_complex<double, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
+ }
|
||
|
|
+ #endif
|
||
|
|
#else
|
||
|
|
gemm_function = &Eigen::internal::gemm_complex<double, std::complex<double>, std::complex<double>, double, Index, Packet, Packetc, RhsPacket, DataMapper, accRows, accCols, ConjugateLhs, ConjugateRhs, true, false>;
|
||
|
|
#endif
|