Surrogates.jl icon indicating copy to clipboard operation
Surrogates.jl copied to clipboard

Profile and optimize implementation of GEKPLS

Open vikram-s-narayan opened this issue 2 years ago • 3 comments

Profile implementation of GEKPLS and analyze and fix bottlenecks.

vikram-s-narayan avatar Jun 26 '22 06:06 vikram-s-narayan

Tasks done

I profiled the function GEKPLS and identified the potential bottlenecks, which might be causing heavy memory usage:

  • abstractinterpretation.jl
  • typeinfer.jl
  • boot.jl

And upon individual inspection, I discovered that the function _ge_compute_pls might be the most heavily resourceful function for which I will provide the profiling information soon.

@ChrisRackauckas & @vikram-s-narayan
Please look into the flame graph and suggest any possible changes!!

Here is the link to the notebook: https://julianotebook.w3spaces-preview.com/index.html

flame_graph

Spinachboul avatar Dec 15 '23 07:12 Spinachboul

It looks like you included compilation in the profiling.

ChrisRackauckas avatar Dec 17 '23 17:12 ChrisRackauckas

Yeah! I just tried to profile the whole function to get a high-level view of memory storage and time consumption. I am working on gekpls.jl where I would suggest a suitable sampling technique for based on rmse scores for different sampling methods.

It looks like you included compilation in the profiling.

Spinachboul avatar Dec 17 '23 18:12 Spinachboul