bfast icon indicating copy to clipboard operation
bfast copied to clipboard

bfast() integration

Open fdetsch opened this issue 5 years ago • 6 comments

Thanks for your work. Are there plans to integrate the "traditional" bfast() function as well?

fdetsch avatar Nov 30 '20 14:11 fdetsch

You're welcome! Yes, we are currently working on the integration of the BFAST algorithm (bfast() R function). We have an early prototype of the Python backend, and it would be integrated to the bfast-experimental branch in the near future. Regarding the OpenCL backend, it is a huge amount of work that hopefully would be somewhat ready around summer.

mortvest avatar Nov 30 '20 14:11 mortvest

Awesome! Ultimately, a Python version of R bfast() enhanced with OpenCL would be a massive benefit as regards performance. Do you expect the native Python version (ie. without OpenCL) to be already superior to R bfast() from a performance point of view?

fdetsch avatar Nov 30 '20 15:11 fdetsch

Sadly, I expect the native Python version to be a bit slower, since the most computationally intensive operations in the R version are written in C++. Multiprocessing can be utilized to get some speedup though

mortvest avatar Nov 30 '20 15:11 mortvest

Argh, alright.. in any event, I am eager to see both the native and OpenCL based approach being implemented (:

fdetsch avatar Nov 30 '20 17:11 fdetsch

@fdetsch while @mortvest is right that the most intensive parts of the R version are written in C++, this is only true for the latest version of strucchange and bfast found at https://github.com/bfast2 . The default CRAN version is slower.

Even so, I would expect the Python version to be less memory intensive because R strictly uses 4 bytes numbers.

mirt001 avatar Dec 08 '20 18:12 mirt001

Hmm, interesting. Thank you for your input @mirt001

mortvest avatar Dec 08 '20 19:12 mortvest