Skip to content
This repository has been archived by the owner on Jul 12, 2023. It is now read-only.

vectorization for loop when computing sensitivity for time domain #14

Open
sgkang opened this issue May 19, 2018 · 4 comments
Open

vectorization for loop when computing sensitivity for time domain #14

sgkang opened this issue May 19, 2018 · 4 comments

Comments

@sgkang
Copy link
Contributor

sgkang commented May 19, 2018

Requires modification in empymod I guess at the moment, but make another speed up.

@leonfoks
Copy link

@sgkang Which loop are you talking about here?

@prisae
Copy link
Member

prisae commented Aug 31, 2018

Hi @leonfoks, just my 2 cents, @sgkang might correct me if I remember it wrong. This issue was opened when we improved the speed through improving the implementation of the Hankel and Fourier transform filters using empymod. By comparing then runtimes of simpegEM1D and empymod I saw that most time is wasted by looping over frequencies and wavenumbers. In empymod, the kernel is calculated in one go for all frequencies, offsets, and wavenumbers (matrix of dimension [nfreq, noff, nk]), which is significantly faster. I think we put somewhere some numbers/runtimes, but I cannot remember... (@sgkang, did we talk about that on Slack, in emails, or on a GitHub issue/pull request?). I'll write a separate comment in your pull request #19 with some further comments.

@sgkang
Copy link
Contributor Author

sgkang commented Oct 17, 2018

Hi @leonfoks and @prisae sorry for being late. I meant for the loop for each layer, in def projectFields for time-domain code.

@prisae
Copy link
Member

prisae commented Oct 17, 2018

Not sure if I understand @sgkang , so you still think there are modifications required in empymod (and if so, please expand a bit), or is it something you have to modify en simpegEM1D?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants