![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
#include <p3m_heffte.impl.hpp>
Inheritance diagram for CoulombTuningAlgorithm< FloatType, Architecture, FFTConfig >:
Collaboration diagram for CoulombTuningAlgorithm< FloatType, Architecture, FFTConfig >:Protected Member Functions | |
| P3MParameters & | get_params () override |
| constexpr std::tuple< int, int, int > | get_memory_layout () const |
Protected Member Functions inherited from TuningAlgorithm | |
| auto | get_n_trials () |
| void | increment_n_trials () |
| void | reset_n_trials () |
| double | get_m_time (Utils::Vector3i const &mesh, int &tuned_cao, double &tuned_r_cut_iL, double &tuned_alpha_L, double &tuned_accuracy) |
Get the optimal alpha and the corresponding computation time for a fixed mesh. | |
| double | get_mc_time (Utils::Vector3i const &mesh, int cao, double &tuned_r_cut_iL, double &tuned_alpha_L, double &tuned_accuracy) |
Get the optimal alpha and the corresponding computation time for a fixed mesh and cao. | |
Additional Inherited Members | |
Protected Attributes inherited from TuningAlgorithm | |
| System::System & | m_system |
| double | m_prefactor |
| std::unique_ptr< TuningLogger > | m_logger = nullptr |
| int | cao_min = -1 |
| int | cao_max = -1 |
| int | cao_best = -1 |
| double | m_r_cut_iL_min = -1. |
| double | m_r_cut_iL_max = -1. |
Static Protected Attributes inherited from TuningAlgorithm | |
| static auto constexpr | time_granularity = 5. |
| Granularity of the time measurement (milliseconds). | |
| static auto constexpr | max_n_consecutive_trials = 40 |
| Maximal number of consecutive trials that don't improve runtime. | |
| static auto constexpr | time_sentinel = std::numeric_limits<double>::max() |
| Value for invalid time measurements. | |
Definition at line 839 of file p3m_heffte.impl.hpp.
|
inline |
Definition at line 859 of file p3m_heffte.impl.hpp.
|
inlineoverridevirtual |
Implements TuningAlgorithm.
Definition at line 933 of file p3m_heffte.impl.hpp.
References P3MParameters::accuracy, comm_cart, CUDA, Utils::Vector< T, N >::data(), Utils::Vector< T, N >::norm(), p3m_k_space_error(), p3m_k_space_error_gpu(), p3m_real_space_error(), P3MStateCommon< FloatType >::params, stream, CoulombP3MState< FloatType, FFTConfig >::sum_q2, CoulombP3MState< FloatType, FFTConfig >::sum_qpart, and this_node.
|
inlineoverridevirtual |
Implements TuningAlgorithm.
Definition at line 973 of file p3m_heffte.impl.hpp.
References Utils::Vector< T, N >::broadcast(), P3MParameters::mesh, P3MStateCommon< FloatType >::params, stream, and CoulombP3MState< FloatType, FFTConfig >::sum_qpart.
|
inlineoverridevirtual |
Reimplemented from TuningAlgorithm.
Definition at line 891 of file p3m_heffte.impl.hpp.
References comm_cart, CUDA, CoulombP3MState< FloatType, FFTConfig >::fft, CoulombTuningAlgorithm< FloatType, Architecture, FFTConfig >::get_memory_layout(), and stream.
|
inlineconstexprprotected |
Definition at line 850 of file p3m_heffte.impl.hpp.
References Utils::COLUMN_MAJOR, and stream.
Referenced by CoulombTuningAlgorithm< FloatType, Architecture, FFTConfig >::fft_decomposition_veto().
|
inlineoverrideprotectedvirtual |
Implements TuningAlgorithm.
Definition at line 848 of file p3m_heffte.impl.hpp.
References P3MStateCommon< FloatType >::params.
|
inlineoverridevirtual |
Implements TuningAlgorithm.
Definition at line 1016 of file p3m_heffte.impl.hpp.
References Utils::Vector< T, N >::broadcast(), P3MParameters::mesh, TuningAlgorithm::Parameters::mesh, P3MStateCommon< FloatType >::params, and stream.
|
inlineoverridevirtual |
Implements TuningAlgorithm.
Definition at line 883 of file p3m_heffte.impl.hpp.
References System::System::coulomb, Coulomb::Solver::impl, TuningAlgorithm::m_system, and stream.
|
inlineoverridevirtual |
Implements TuningAlgorithm.
Definition at line 865 of file p3m_heffte.impl.hpp.
References TuningAlgorithm::m_system, and System::System::on_coulomb_change().
|
inlineoverridevirtual |
Implements TuningAlgorithm.
Definition at line 867 of file p3m_heffte.impl.hpp.
References P3MParameters::accuracy, System::System::box_geo, TuningLogger::Coulomb, CUDA, TuningAlgorithm::m_logger, TuningAlgorithm::m_prefactor, TuningAlgorithm::m_system, P3MStateCommon< FloatType >::params, stream, CoulombP3MState< FloatType, FFTConfig >::sum_q2, CoulombP3MState< FloatType, FFTConfig >::sum_qpart, and this_node.