4
在odeint創建控制的步進我嘗試使用使用OpenMP
typedef vector< complex<double> > state_type;
typedef runge_kutta_dopri5<state_type> error_stepper_type;
typedef controlled_runge_kutta<error_stepper_type> controlled_stepper_type;
controlled_stepper_type controlled_stepper(default_error_checker< double, openmp_range_algebra >;
但是,沒有這樣的構造在odeint存在,因此代碼不編譯openmp_range_algebra構建具有升壓:: odeint的控制步進。
我的問題:如何創建一個受控的runge_kutte-dopri5步進器,以便我可以在OpenMP中使用它?
我真的很想並行化自適應步進器,因爲這是我的程序中由於長狀態向量(長度爲2^20)而最耗時的部分。
非常感謝您的協助
您也可以考慮使用GPU。對於你的長度問題,它可能會加快你的代碼的數量級。 – headmyshoulder 2014-12-27 20:27:37