Unverified Commit 63654be6 authored by Peter Doak's avatar Peter Doak Committed by GitHub
Browse files

Merge pull request #112 from gbalduzz/rearrange_g4

Optimize G4 by rearranging indices.
parents ed9406d2 598bfc03
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -51,8 +51,8 @@ auto real(const function<std::complex<Scalartype>, Dmn>& f, const bool check_ima
  return f_real;
}

}  // util
}  // func
}  // dca
}  // namespace util
}  // namespace func
}  // namespace dca

#endif  // DCA_FUNCTION_UTIL_REAL_COMPLEX_CONVERSION_HPP
+3 −3
Original line number Diff line number Diff line
@@ -1124,8 +1124,8 @@ void pseudoInverse(const Matrix<ScalarType, CPU>& a, Matrix<ScalarType, CPU>& a_
    gemm('N', 'C', at_a, a, a_inv);
  }
}
}  // matrixop
}  // linalg
}  // dca
}  // namespace matrixop
}  // namespace linalg
}  // namespace dca

#endif  // DCA_LINALG_MATRIXOP_HPP
+2 −2
Original line number Diff line number Diff line
@@ -372,5 +372,5 @@ std::size_t ReshapableMatrix<ScalarType, device_name, Allocator>::deviceFingerpr
    return 0;
}

}  // linalg
}  // dca
}  // namespace linalg
}  // namespace dca
+4 −4
Original line number Diff line number Diff line
@@ -74,14 +74,14 @@ template <>
struct ComplexContainer<float> {
  using type = cuFloatComplex;
};
}  // details
}  // namespace details
// dca::linalg::util::

template <typename Real>
using CudaComplex = typename details::ComplexContainer<Real>::type;

}  // util
}  // linalg
}  // dca
}  // namespace util
}  // namespace linalg
}  // namespace dca

#endif  // DCA_LINALG_UTIL_CAST_CUDA_HPP
+19 −26
Original line number Diff line number Diff line
@@ -38,8 +38,7 @@ class FunctionTransform {};
  const static bool VERBOSE = false;

public:
  template <typename scalartype_input, class domain_input, typename scalartype_output, class
  domain_output>
  template <typename scalartype_input, class domain_input, typename scalartype_output, class domain_output>
  static void execute(const func::function<scalartype_input, domain_input>& f_input,
                      func::function<scalartype_output, domain_output>& f_output) {
    if (VERBOSE)
@@ -49,8 +48,7 @@ class FunctionTransform {};
        typename dca::func::SWAP_FIRST<domain_input, type_input, type_output>::Result;
    dca::util::assert_same<TRANSFORMED_DOMAIN, domain_output>();

    DomainwiseFunctionTransform<domain_input, domain_output, type_input,
    type_output>::execute_on_first(
    DomainwiseFunctionTransform<domain_input, domain_output, type_input, type_output>::execute_on_first(
        f_input, f_output);
  }

@@ -66,13 +64,11 @@ class FunctionTransform {};
        typename dca::func::SWAP_FIRST<domain_input, type_input, type_output>::Result;
    dca::util::assert_same<TRANSFORMED_DOMAIN, domain_output>();

    DomainwiseFunctionTransform<domain_input, domain_output, type_input,
    type_output>::execute_on_first(
    DomainwiseFunctionTransform<domain_input, domain_output, type_input, type_output>::execute_on_first(
        f_input, f_output, T);
  }

  template <typename scalartype_input, class domain_input, typename scalartype_output, class
  domain_output>
  template <typename scalartype_input, class domain_input, typename scalartype_output, class domain_output>
  static void execute_on_all(const func::function<scalartype_input, domain_input>& f_input,
                             func::function<scalartype_output, domain_output>& f_output) {
    if (VERBOSE)
@@ -83,8 +79,7 @@ class FunctionTransform {};

    dca::util::assert_same<TRANSFORMED_DOMAIN, domain_output>();

    DomainwiseFunctionTransform<domain_input, domain_output, type_input,
    type_output>::execute_on_all(
    DomainwiseFunctionTransform<domain_input, domain_output, type_input, type_output>::execute_on_all(
        f_input, f_output);
  }

@@ -101,14 +96,12 @@ class FunctionTransform {};

    dca::util::assert_same<TRANSFORMED_DOMAIN, domain_output>();

    DomainwiseFunctionTransform<domain_input, domain_output, type_input,
    type_output>::execute_on_all(
    DomainwiseFunctionTransform<domain_input, domain_output, type_input, type_output>::execute_on_all(
        f_input, f_output, T);
  }

private:
  template <typename scalartype_input, class domain_input, typename scalartype_output, class
  domain_output>
  template <typename scalartype_input, class domain_input, typename scalartype_output, class domain_output>
  static void print_types(const func::function<scalartype_input, domain_input>& f_input,
                          const func::function<scalartype_output, domain_output>& f_output,
                          const bool do_all_domains = false) {
@@ -168,8 +161,8 @@ class FunctionTransform<
    func::dmn_0<phys::domains::cluster_domain<DmnScalar, dim, c_name, phys::domains::REAL_SPACE, c_shape>>> {
  using KDmn = func::dmn_0<
      phys::domains::cluster_domain<DmnScalar, dim, c_name, phys::domains::MOMENTUM_SPACE, c_shape>>;
  using RDmn = func::dmn_0<
      phys::domains::cluster_domain<DmnScalar, dim, c_name, phys::domains::REAL_SPACE, c_shape>>;
  using RDmn =
      func::dmn_0<phys::domains::cluster_domain<DmnScalar, dim, c_name, phys::domains::REAL_SPACE, c_shape>>;

public:
  template <typename ScalarInp, typename ScalarOut, class DomainInput, class DomainOutput>
@@ -187,8 +180,8 @@ class FunctionTransform<
    func::dmn_0<phys::domains::cluster_domain<DmnScalar, dim, c_name, phys::domains::MOMENTUM_SPACE, c_shape>>> {
  using KDmn = func::dmn_0<
      phys::domains::cluster_domain<DmnScalar, dim, c_name, phys::domains::MOMENTUM_SPACE, c_shape>>;
  using RDmn = func::dmn_0<
      phys::domains::cluster_domain<DmnScalar, dim, c_name, phys::domains::REAL_SPACE, c_shape>>;
  using RDmn =
      func::dmn_0<phys::domains::cluster_domain<DmnScalar, dim, c_name, phys::domains::REAL_SPACE, c_shape>>;

public:
  template <typename ScalarInp, typename ScalarOut, class DomainInput, class DomainOutput>
@@ -198,8 +191,8 @@ public:
  }
};

}  // transform
}  // math
}  // dca
}  // namespace transform
}  // namespace math
}  // namespace dca

#endif  // DCA_MATH_FUNCTION_TRANSFORM_FUNCTION_TRANSFORM_HPP
Loading