Loading cmake/dca_config.cmake +7 −7 Original line number Diff line number Diff line Loading @@ -237,12 +237,12 @@ endif() ################################################################################ # Single precision measurements # TODO: change to ON by default after merging and testing the two particle accumulator. option(DCA_WITH_SINGLE_PRECISION_MEASUREMENTS "Measure in single precision." OFF) mark_as_advanced(DCA_WITH_SINGLE_PRECISION_MEASUREMENTS) # TODO: maybe change to ON by default. option(DCA_WITH_SINGLE_PRECISION_TP_MEASUREMENTS "Measure in single precision." OFF) mark_as_advanced(DCA_WITH_SINGLE_PRECISION_TP_MEASUREMENTS) if (DCA_WITH_SINGLE_PRECISION_MEASUREMENTS) dca_add_config_define(DCA_WITH_SINGLE_PRECISION_MEASUREMENTS) if (DCA_WITH_SINGLE_PRECISION_TP_MEASUREMENTS) dca_add_config_define(DCA_WITH_SINGLE_PRECISION_TP_MEASUREMENTS) endif() ################################################################################ Loading Loading @@ -278,9 +278,9 @@ else() endif() if (DCA_WITH_SINGLE_PRECISION_MEASUREMENTS) set(MC_ACCUMULATION_SCALAR float) set(TP_ACCUMULATION_SCALAR float) else() set(MC_ACCUMULATION_SCALAR double) set(TP_ACCUMULATION_SCALAR double) endif() option(DCA_WITH_MANAGED_MEMORY "Use managed memory allocator." OFF) Loading include/dca/config/accumulation_options.hpp.in +1 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ namespace config { // dca::config:: struct AccumulationOptions { using MCAccumulationScalar = @MC_ACCUMULATION_SCALAR@; using TPAccumulationScalar = @TP_ACCUMULATION_SCALAR@; static constexpr bool memory_savings = @MEMORY_SAVINGS@; Loading include/dca/config/cmake_options.hpp +1 −2 Original line number Diff line number Diff line Loading @@ -40,8 +40,7 @@ struct CMakeOptions { static const std::string dca_profiler; static const std::string dca_with_autotuning; static const std::string dca_with_gnuplot; static const std::string dca_with_reduced_vertex_function; static const std::string dca_with_single_precision_measurements; static const std::string dca_with_single_precision_tp_measurements; static const std::string dca_with_memory_savings; static const std::string dca_with_managed_memory; Loading include/dca/phys/dca_data/dca_data.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,7 @@ public: using Concurrency = typename Parameters::concurrency_type; using Lattice = typename Parameters::lattice_type; constexpr static int DIMENSION = Lattice::DIMENSION; using TpAccumulatorScalar = typename Parameters::MC_measurement_scalar_type; using TpAccumulatorScalar = typename Parameters::TP_measurement_scalar_type; using TDmn = func::dmn_0<domains::time_domain>; using WDmn = func::dmn_0<domains::frequency_domain>; Loading include/dca/phys/dca_step/cluster_solver/ctaux/ctaux_accumulator.hpp +6 −7 Original line number Diff line number Diff line Loading @@ -167,9 +167,8 @@ private: void accumulate_single_particle_quantities(); void accumulate_equal_time_quantities(); using AccumType = typename Parameters::MC_measurement_scalar_type; void accumulate_equal_time_quantities(const std::array<linalg::Matrix<AccumType, linalg::GPU>, 2>& M); void accumulate_equal_time_quantities(const std::array<linalg::Matrix<AccumType, linalg::CPU>, 2>& M); void accumulate_equal_time_quantities(const std::array<linalg::Matrix<double, linalg::GPU>, 2>& M); void accumulate_equal_time_quantities(const std::array<linalg::Matrix<double, linalg::CPU>, 2>& M); void accumulate_two_particle_quantities(); Loading @@ -192,8 +191,8 @@ protected: std::array<std::vector<vertex_singleton_type>, 2> hs_configuration_; std::array<dca::linalg::Matrix<AccumType, device_t>, 2> M_; std::array<dca::linalg::Matrix<AccumType, linalg::CPU>, 2> M_host_; std::array<dca::linalg::Matrix<double, device_t>, 2> M_; std::array<dca::linalg::Matrix<double, linalg::CPU>, 2> M_host_; func::function<double, func::dmn_0<domains::numerical_error_domain>> error; func::function<double, func::dmn_0<Feynman_expansion_order_domain>> visited_expansion_order_k; Loading Loading @@ -437,7 +436,7 @@ void CtauxAccumulator<device_t, Parameters, Data>::accumulate_equal_time_quantit template <dca::linalg::DeviceType device_t, class Parameters, class Data> void CtauxAccumulator<device_t, Parameters, Data>::accumulate_equal_time_quantities( const std::array<linalg::Matrix<AccumType, linalg::GPU>, 2>& M) { const std::array<linalg::Matrix<double, linalg::GPU>, 2>& M) { for (int s = 0; s < 2; ++s) M_host_[s].setAsync(M[s], thread_id, s); for (int s = 0; s < 2; ++s) Loading @@ -448,7 +447,7 @@ void CtauxAccumulator<device_t, Parameters, Data>::accumulate_equal_time_quantit template <dca::linalg::DeviceType device_t, class Parameters, class Data> void CtauxAccumulator<device_t, Parameters, Data>::accumulate_equal_time_quantities( const std::array<linalg::Matrix<AccumType, linalg::CPU>, 2>& M) { const std::array<linalg::Matrix<double, linalg::CPU>, 2>& M) { equal_time_accumulator_.accumulateAll(hs_configuration_[0], M[0], hs_configuration_[1], M[1], current_sign); Loading Loading
cmake/dca_config.cmake +7 −7 Original line number Diff line number Diff line Loading @@ -237,12 +237,12 @@ endif() ################################################################################ # Single precision measurements # TODO: change to ON by default after merging and testing the two particle accumulator. option(DCA_WITH_SINGLE_PRECISION_MEASUREMENTS "Measure in single precision." OFF) mark_as_advanced(DCA_WITH_SINGLE_PRECISION_MEASUREMENTS) # TODO: maybe change to ON by default. option(DCA_WITH_SINGLE_PRECISION_TP_MEASUREMENTS "Measure in single precision." OFF) mark_as_advanced(DCA_WITH_SINGLE_PRECISION_TP_MEASUREMENTS) if (DCA_WITH_SINGLE_PRECISION_MEASUREMENTS) dca_add_config_define(DCA_WITH_SINGLE_PRECISION_MEASUREMENTS) if (DCA_WITH_SINGLE_PRECISION_TP_MEASUREMENTS) dca_add_config_define(DCA_WITH_SINGLE_PRECISION_TP_MEASUREMENTS) endif() ################################################################################ Loading Loading @@ -278,9 +278,9 @@ else() endif() if (DCA_WITH_SINGLE_PRECISION_MEASUREMENTS) set(MC_ACCUMULATION_SCALAR float) set(TP_ACCUMULATION_SCALAR float) else() set(MC_ACCUMULATION_SCALAR double) set(TP_ACCUMULATION_SCALAR double) endif() option(DCA_WITH_MANAGED_MEMORY "Use managed memory allocator." OFF) Loading
include/dca/config/accumulation_options.hpp.in +1 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ namespace config { // dca::config:: struct AccumulationOptions { using MCAccumulationScalar = @MC_ACCUMULATION_SCALAR@; using TPAccumulationScalar = @TP_ACCUMULATION_SCALAR@; static constexpr bool memory_savings = @MEMORY_SAVINGS@; Loading
include/dca/config/cmake_options.hpp +1 −2 Original line number Diff line number Diff line Loading @@ -40,8 +40,7 @@ struct CMakeOptions { static const std::string dca_profiler; static const std::string dca_with_autotuning; static const std::string dca_with_gnuplot; static const std::string dca_with_reduced_vertex_function; static const std::string dca_with_single_precision_measurements; static const std::string dca_with_single_precision_tp_measurements; static const std::string dca_with_memory_savings; static const std::string dca_with_managed_memory; Loading
include/dca/phys/dca_data/dca_data.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,7 @@ public: using Concurrency = typename Parameters::concurrency_type; using Lattice = typename Parameters::lattice_type; constexpr static int DIMENSION = Lattice::DIMENSION; using TpAccumulatorScalar = typename Parameters::MC_measurement_scalar_type; using TpAccumulatorScalar = typename Parameters::TP_measurement_scalar_type; using TDmn = func::dmn_0<domains::time_domain>; using WDmn = func::dmn_0<domains::frequency_domain>; Loading
include/dca/phys/dca_step/cluster_solver/ctaux/ctaux_accumulator.hpp +6 −7 Original line number Diff line number Diff line Loading @@ -167,9 +167,8 @@ private: void accumulate_single_particle_quantities(); void accumulate_equal_time_quantities(); using AccumType = typename Parameters::MC_measurement_scalar_type; void accumulate_equal_time_quantities(const std::array<linalg::Matrix<AccumType, linalg::GPU>, 2>& M); void accumulate_equal_time_quantities(const std::array<linalg::Matrix<AccumType, linalg::CPU>, 2>& M); void accumulate_equal_time_quantities(const std::array<linalg::Matrix<double, linalg::GPU>, 2>& M); void accumulate_equal_time_quantities(const std::array<linalg::Matrix<double, linalg::CPU>, 2>& M); void accumulate_two_particle_quantities(); Loading @@ -192,8 +191,8 @@ protected: std::array<std::vector<vertex_singleton_type>, 2> hs_configuration_; std::array<dca::linalg::Matrix<AccumType, device_t>, 2> M_; std::array<dca::linalg::Matrix<AccumType, linalg::CPU>, 2> M_host_; std::array<dca::linalg::Matrix<double, device_t>, 2> M_; std::array<dca::linalg::Matrix<double, linalg::CPU>, 2> M_host_; func::function<double, func::dmn_0<domains::numerical_error_domain>> error; func::function<double, func::dmn_0<Feynman_expansion_order_domain>> visited_expansion_order_k; Loading Loading @@ -437,7 +436,7 @@ void CtauxAccumulator<device_t, Parameters, Data>::accumulate_equal_time_quantit template <dca::linalg::DeviceType device_t, class Parameters, class Data> void CtauxAccumulator<device_t, Parameters, Data>::accumulate_equal_time_quantities( const std::array<linalg::Matrix<AccumType, linalg::GPU>, 2>& M) { const std::array<linalg::Matrix<double, linalg::GPU>, 2>& M) { for (int s = 0; s < 2; ++s) M_host_[s].setAsync(M[s], thread_id, s); for (int s = 0; s < 2; ++s) Loading @@ -448,7 +447,7 @@ void CtauxAccumulator<device_t, Parameters, Data>::accumulate_equal_time_quantit template <dca::linalg::DeviceType device_t, class Parameters, class Data> void CtauxAccumulator<device_t, Parameters, Data>::accumulate_equal_time_quantities( const std::array<linalg::Matrix<AccumType, linalg::CPU>, 2>& M) { const std::array<linalg::Matrix<double, linalg::CPU>, 2>& M) { equal_time_accumulator_.accumulateAll(hs_configuration_[0], M[0], hs_configuration_[1], M[1], current_sign); Loading