ar4 / deepwave

Wave propagation modules for PyTorch.
MIT License
210 stars 47 forks source link

Suggestion: High-order accuracy forward model for avoiding inverse crime #36

Closed izzatum closed 2 years ago

izzatum commented 3 years ago

Hi Alan,

I hope to find you well and in the best of health.

I'm wondering if DeepWave has the functionality to change the order of accuracy of the forward problem. Is such functionality available?

This would be a nice improvement since it could help us avoiding the inverse crime in the inversion.

Thanks! :)

ar4 commented 3 years ago

Hi again Muhammad,

The finite difference stencil size is unfortunately currently hard coded. I did an experiment in the past to increase it (https://github.com/ar4/deepwave/tree/8th-order) but the runtime increased substantially without seeming to significantly reduce numerical dispersion, so I abandoned it. As a quick fix to avoid being an exact inversion crime, perhaps you could reduce the time step size when generating your data? If that is not good enough, then there are some other wave propagators to consider for generating data, such as Devito and DENISE Black Edition. I will look again into making the finite difference stencil size user controllable in the future.

izzatum commented 3 years ago

Hi Alan,

Thank you for the suggestion! I will look into it. :)

On Wed, Sep 29, 2021 at 7:10 PM Alan Richardson @.***> wrote:

Hi again Muhammad,

The finite difference stencil size is unfortunately currently hard coded. I did an experiment in the past to increase it (https://github.com/ar4/deepwave/tree/8th-order https://urldefense.com/v3/__https://github.com/ar4/deepwave/tree/8th-order__;!!Nmw4Hv0!itwM2KoO2CiDjJGibrgAoHeC8cLKjpmsKY3x3eHWNef2R_qbRt3rUSLS8syMZK9fHDpBppK8Dh-E$) but the runtime increased substantially without seeming to significantly reduce numerical dispersion, so I abandoned it. As a quick fix to avoid being an exact inversion crime, perhaps you could reduce the time step size when generating your data? If that is not good enough, then there are some other wave propagators to consider for generating data, such as Devito and DENISE Black Edition. I will look again into making the finite difference stencil size user controllable in the future.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/ar4/deepwave/issues/36*issuecomment-930116194__;Iw!!Nmw4Hv0!itwM2KoO2CiDjJGibrgAoHeC8cLKjpmsKY3x3eHWNef2R_qbRt3rUSLS8syMZK9fHDpBpoEkeHx-$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ALH7GBGBETRC7LLON7ZND63UEL6ZVANCNFSM5E7VNDWA__;!!Nmw4Hv0!itwM2KoO2CiDjJGibrgAoHeC8cLKjpmsKY3x3eHWNef2R_qbRt3rUSLS8syMZK9fHDpBpoxTy0c8$ . Triage notifications on the go with GitHub Mobile for iOS https://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!Nmw4Hv0!itwM2KoO2CiDjJGibrgAoHeC8cLKjpmsKY3x3eHWNef2R_qbRt3rUSLS8syMZK9fHDpBpmPul1ST$ or Android https://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!Nmw4Hv0!itwM2KoO2CiDjJGibrgAoHeC8cLKjpmsKY3x3eHWNef2R_qbRt3rUSLS8syMZK9fHDpBpv2hjCvo$.

-- Muhammad Izzatullah

King Abdullah University of Science and Technology (KAUST) Division of Physical Sciences and Engineering Bldg. 1, Desk #0202-WS023 Thuwal 23955-6900, Kingdom of Saudi Arabia

Tel.: +966 (56) 569 7388 Email: @.***

@.**> Seismic Modeling & Inversion (SMI) Research Group* https://smi.kaust.edu.sa/

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

guoketing commented 3 years ago

Dear Muhammad,

I can help you to implement the function if you need it really.

Keting.

izzatum commented 3 years ago

Hi Keting,

Thank you so much! I highly really appreciate it! It is indeed important for my research and I want to use DeepWave for my next project. That would be great if you could do it. :)

Thank you!

On Wed, Sep 29, 2021 at 10:37 PM Keting Guo @.***> wrote:

Dear Muhammad,

I can help you to implement the function if you need it really.

Keting.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/ar4/deepwave/issues/36*issuecomment-930293941__;Iw!!Nmw4Hv0!gqz9GvnyKyPWKF0cDP9FJNlX5YoSEKSHqIMNH-y3_fPuLMMbOggZr7qU9OmkSVjYKYgNDgw9gXzU$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ALH7GBBAE62347K3J4DMPKDUEMXD7ANCNFSM5E7VNDWA__;!!Nmw4Hv0!gqz9GvnyKyPWKF0cDP9FJNlX5YoSEKSHqIMNH-y3_fPuLMMbOggZr7qU9OmkSVjYKYgNDineva8x$ . Triage notifications on the go with GitHub Mobile for iOS https://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!Nmw4Hv0!gqz9GvnyKyPWKF0cDP9FJNlX5YoSEKSHqIMNH-y3_fPuLMMbOggZr7qU9OmkSVjYKYgNDii6sVWs$ or Android https://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!Nmw4Hv0!gqz9GvnyKyPWKF0cDP9FJNlX5YoSEKSHqIMNH-y3_fPuLMMbOggZr7qU9OmkSVjYKYgNDjexeFTG$.

-- Muhammad Izzatullah

King Abdullah University of Science and Technology (KAUST) Division of Physical Sciences and Engineering Bldg. 1, Desk #0202-WS023 Thuwal 23955-6900, Kingdom of Saudi Arabia

Tel.: +966 (56) 569 7388 Email: @.***

@.**> Seismic Modeling & Inversion (SMI) Research Group* https://smi.kaust.edu.sa/

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

guoketing commented 3 years ago

Dear Muhammad,

I guess the high order finite difference codes will be achieved a few days later. Are you in a hurry to get the codes? If you want to get them soon, I try to finish them at tomorrow.

Keting

------------------ 原始邮件 ------------------ 发件人: "ar4/deepwave" @.>; 发送时间: 2021年9月29日(星期三) 晚上11:59 @.>; @.**@.>; 主题: Re: [ar4/deepwave] Suggestion: High-order accuracy forward model for avoiding inverse crime (#36)

Hi Keting,

Thank you so much! I highly really appreciate it! It is indeed important for my research and I want to use DeepWave for my next project. That would be great if you could do it. :)

Thank you!

On Wed, Sep 29, 2021 at 10:37 PM Keting Guo @.***> wrote:

> Dear Muhammad, > > I can help you to implement the function if you need it really. > > Keting. > > — > You are receiving this because you authored the thread. > Reply to this email directly, view it on GitHub > <https://urldefense.com/v3/__https://github.com/ar4/deepwave/issues/36*issuecomment-930293941__;Iw!!Nmw4Hv0!gqz9GvnyKyPWKF0cDP9FJNlX5YoSEKSHqIMNH-y3_fPuLMMbOggZr7qU9OmkSVjYKYgNDgw9gXzU$&gt;, > or unsubscribe > <https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ALH7GBBAE62347K3J4DMPKDUEMXD7ANCNFSM5E7VNDWA__;!!Nmw4Hv0!gqz9GvnyKyPWKF0cDP9FJNlX5YoSEKSHqIMNH-y3_fPuLMMbOggZr7qU9OmkSVjYKYgNDineva8x$&gt; > . > Triage notifications on the go with GitHub Mobile for iOS > <https://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&amp;mt=8&amp;pt=524675__;!!Nmw4Hv0!gqz9GvnyKyPWKF0cDP9FJNlX5YoSEKSHqIMNH-y3_fPuLMMbOggZr7qU9OmkSVjYKYgNDii6sVWs$&gt; > or Android > <https://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&amp;referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!Nmw4Hv0!gqz9GvnyKyPWKF0cDP9FJNlX5YoSEKSHqIMNH-y3_fPuLMMbOggZr7qU9OmkSVjYKYgNDjexeFTG$&gt;. > >

-- Muhammad Izzatullah

King Abdullah University of Science and Technology (KAUST) Division of Physical Sciences and Engineering Bldg. 1, Desk #0202-WS023 Thuwal 23955-6900, Kingdom of Saudi Arabia

Tel.: +966 (56) 569 7388 Email: @.***

@.**> Seismic Modeling & Inversion (SMI) Research Group* https://smi.kaust.edu.sa/

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

izzatum commented 3 years ago

Dear Keting,

Thank you for your kind contribution. I highly appreciate that. No worries, take your time. :)

Muhammad

ar4 commented 3 years ago

Hi Muhammad,

You should be able to use the 8th order version that I already created. Is that sufficient for your need (the normal version uses 4th order)? I suggest creating a new Python virtual environment for it, so that it does not conflict with the normal version. If you are not familiar with creating a new environment, it can be done with Anaconda (https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) or using venv (https://docs.python.org/3/tutorial/venv.html). Once you have switched to the new environment, you should then be able to install the 8th order version using pip install @.***

A bit messy, but hopefully sufficient until there is a more elegant solution

izzatum commented 3 years ago

Hi Alan and Keting,

Great thanks for the implementation! I really appreciate that, really!

Yes, that's more than enough. May I know, how can I make a choice between the accuracy orders?

Thank you so much!!

Best regards, Muhammad

On Fri, Oct 1, 2021 at 2:04 AM Alan Richardson @.***> wrote:

Hi Muhammad,

You should be able to use the 8th order version that I already created. Is that sufficient for your need (the normal version uses 4th order)? I suggest creating a new Python virtual environment for it, so that it does not conflict with the normal version. If you are not familiar with creating a new environment, it can be done with Anaconda ( https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html https://urldefense.com/v3/__https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html__;!!Nmw4Hv0!lfZYRVzRskubHavnOuX_ghnW7suKgT3KXcaM_fZeeTKFKJR-nR4mKMzG1zILTTG-o4sy47U0eFD0$ ) or using venv (https://docs.python.org/3/tutorial/venv.html https://urldefense.com/v3/__https://docs.python.org/3/tutorial/venv.html__;!!Nmw4Hv0!lfZYRVzRskubHavnOuX_ghnW7suKgT3KXcaM_fZeeTKFKJR-nR4mKMzG1zILTTG-o4sy4ySKSh5d$). Once you have switched to the new environment, you should then be able to install the 8th order version using pip install @.***

A bit messy, but hopefully sufficient until there is a more elegant solution

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/ar4/deepwave/issues/36*issuecomment-931587099__;Iw!!Nmw4Hv0!lfZYRVzRskubHavnOuX_ghnW7suKgT3KXcaM_fZeeTKFKJR-nR4mKMzG1zILTTG-o4sy4xxpswif$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ALH7GBGIMEB37EPNQQIRCLDUESYDLANCNFSM5E7VNDWA__;!!Nmw4Hv0!lfZYRVzRskubHavnOuX_ghnW7suKgT3KXcaM_fZeeTKFKJR-nR4mKMzG1zILTTG-o4sy49uvIBSb$ . Triage notifications on the go with GitHub Mobile for iOS https://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!Nmw4Hv0!lfZYRVzRskubHavnOuX_ghnW7suKgT3KXcaM_fZeeTKFKJR-nR4mKMzG1zILTTG-o4sy48tL-hhL$ or Android https://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!Nmw4Hv0!lfZYRVzRskubHavnOuX_ghnW7suKgT3KXcaM_fZeeTKFKJR-nR4mKMzG1zILTTG-o4sy4_ztbbjz$.

-- Muhammad Izzatullah

King Abdullah University of Science and Technology (KAUST) Division of Physical Sciences and Engineering Bldg. 1, Desk #0202-WS023 Thuwal 23955-6900, Kingdom of Saudi Arabia

Tel.: +966 (56) 569 7388 Email: @.***

@.**> Seismic Modeling & Inversion (SMI) Research Group* https://smi.kaust.edu.sa/

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

ar4 commented 3 years ago

Hi Muhammad,

The "messy" part of my proposal is that to select between the different orders you need to switch your Python environment (if you are in the new virtual environment that you installed the 8th order version of Deepwave in, then it will use the 8th order propagator, but if you are in the environment where you installed the normal version of Deepwave, then it will use the 4th order propagator). I unfortunately do not think it is possible to change between the two within the same Python session, but maybe you could generate the forward data using the 8th order one and save it, and then load the saved data when using the 4th order version.

I will hopefully have time to make a more elegant solution in a month or two, or maybe Keting will come up with one before then.

izzatum commented 3 years ago

No worries, Alan. Thank you so much!

I am just a bit confused about the installation. Shall I just create a new environment and install DeepWave as usual (pip install deepwave)?

On Fri, Oct 1, 2021 at 2:21 AM Alan Richardson @.***> wrote:

Hi Muhammad,

The "messy" part of my proposal is that to select between the different orders you need to switch your Python environment (if you are in the new virtual environment that you installed the 8th order version of Deepwave in, then it will use the 8th order propagator, but if you are in the environment where you installed the normal version of Deepwave, then it will use the 4th order propagator). I unfortunately do not think it is possible to change between the two within the same Python session, but maybe you could generate the forward data using the 8th order one and save it, and then load the saved data when using the 4th order version.

I will hopefully have time to make a more elegant solution in a month or two, or maybe Keting will come up with one before then.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/ar4/deepwave/issues/36*issuecomment-931598229__;Iw!!Nmw4Hv0!gLs2k17Ongnle1mkecfN6meyiITKj0KMQ3amPEP-AARHHtb77mx57A4bVwh8u70h3MwGu9a7qdXW$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ALH7GBEJOZZJGVWNDLSERMTUES2B5ANCNFSM5E7VNDWA__;!!Nmw4Hv0!gLs2k17Ongnle1mkecfN6meyiITKj0KMQ3amPEP-AARHHtb77mx57A4bVwh8u70h3MwGu4_TmDcs$ . Triage notifications on the go with GitHub Mobile for iOS https://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!Nmw4Hv0!gLs2k17Ongnle1mkecfN6meyiITKj0KMQ3amPEP-AARHHtb77mx57A4bVwh8u70h3MwGu-ZWAOIo$ or Android https://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!Nmw4Hv0!gLs2k17Ongnle1mkecfN6meyiITKj0KMQ3amPEP-AARHHtb77mx57A4bVwh8u70h3MwGu5ZCSZ7o$.

-- Muhammad Izzatullah

King Abdullah University of Science and Technology (KAUST) Division of Physical Sciences and Engineering Bldg. 1, Desk #0202-WS023 Thuwal 23955-6900, Kingdom of Saudi Arabia

Tel.: +966 (56) 569 7388 Email: @.***

@.**> Seismic Modeling & Inversion (SMI) Research Group* https://smi.kaust.edu.sa/

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

ar4 commented 3 years ago

Hi Muhammad,

No, you have to use the command "pip install @.***" so that it will install the "8th-order" branch that I made.

izzatum commented 3 years ago

Sorry, Alan. I cannot see the command. Everything converted to stars (censored). Another way to communicate?

ar4 commented 3 years ago

Ah! Apologies. GitHub was overzealous in hiding what it thinks are email addresses!

Hopefully it will work this time: pip install git+https://github.com/ar4/deepwave.git@8th-order

izzatum commented 3 years ago

Got it! Done with installation. Thanks a lot! :)

izzatum commented 3 years ago

Hi Alan and Keting,

It seems like the 8th order not providing the correct solution. Kindly refer to the figure below for a comparison between 4th order and 8th order data. 4th order 8th order .

guoketing commented 3 years ago

I also meet the problem yesterday, the recever record is wrong but the wavefield is seem right. I'll test it today to find the solver.

keting

---Original--- From: "Muhammad @.> Date: Fri, Oct 1, 2021 04:32 AM To: @.>; Cc: "Keting @.**@.>; Subject: Re: [ar4/deepwave] Suggestion: High-order accuracy forward model for avoiding inverse crime (#36)

Hi Alan and Keting,

It seems like the 8th order not providing the correct solution. Kindly refer to the figure below for a comparison between 4th order and 8th order data.

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

ar4 commented 3 years ago

That is a pity. I'm sorry.

I haven't managed to reproduce the problem yet, which makes it hard to identify the cause. Would it be possible for you to provide an example script where the problem occurs?

izzatum commented 3 years ago

Hi Alan and Keting,

Kindly find the python notebook below to reproduce the error.

Error_sample.zip

ar4 commented 3 years ago

Hi Muhammad,

Did you run on a CPU or GPU?

izzatum commented 3 years ago

It was on the GPU via Google Colab.

On Fri, Oct 1, 2021 at 6:02 PM Alan Richardson @.***> wrote:

Hi Muhammad,

Did you run on a CPU or GPU?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/ar4/deepwave/issues/36*issuecomment-932130494__;Iw!!Nmw4Hv0!ivgBEBg4QW3BZSGLk4lXBfUPmhrvhis5RrhAfz9Z7ksZuw1sm4MhcU45KqPdAhrEbF2Zz9J2uvQl$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ALH7GBBTBOEUIDY5SPK6L3DUEWIKPANCNFSM5E7VNDWA__;!!Nmw4Hv0!ivgBEBg4QW3BZSGLk4lXBfUPmhrvhis5RrhAfz9Z7ksZuw1sm4MhcU45KqPdAhrEbF2Zz6x4vle1$ . Triage notifications on the go with GitHub Mobile for iOS https://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!Nmw4Hv0!ivgBEBg4QW3BZSGLk4lXBfUPmhrvhis5RrhAfz9Z7ksZuw1sm4MhcU45KqPdAhrEbF2Zz1C0ePGU$ or Android https://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!Nmw4Hv0!ivgBEBg4QW3BZSGLk4lXBfUPmhrvhis5RrhAfz9Z7ksZuw1sm4MhcU45KqPdAhrEbF2ZzydCe9Dm$.

-- Muhammad Izzatullah

King Abdullah University of Science and Technology (KAUST) Division of Physical Sciences and Engineering Bldg. 1, Desk #0202-WS023 Thuwal 23955-6900, Kingdom of Saudi Arabia

Tel.: +966 (56) 569 7388 Email: @.***

@.**> Seismic Modeling & Inversion (SMI) Research Group* https://smi.kaust.edu.sa/

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

ar4 commented 3 years ago

I ran the CPU version and it seemed fine, so it must be a bug in the GPU one. I am running it now to confirm.

ar4 commented 3 years ago

I confirm that the problem occurs in the GPU version, and I think I have already found the bug. I am testing it now.

izzatum commented 3 years ago

Glad to hear it! Thanks, Alan!

On Fri, Oct 1, 2021 at 6:18 PM Alan Richardson @.***> wrote:

I confirm that the problem occurs in the GPU version, and I think I have already found the bug. I am testing it now.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/ar4/deepwave/issues/36*issuecomment-932141948__;Iw!!Nmw4Hv0!krLGpsQjU4aLmgK85dvOfRSAVeKUoiQBdBvCErfaxiXe2QMM2pBDgSQIOsP8B0HBWdbVVFfofsXZ$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ALH7GBBAYJTFKGLXSFVDYALUEWKJLANCNFSM5E7VNDWA__;!!Nmw4Hv0!krLGpsQjU4aLmgK85dvOfRSAVeKUoiQBdBvCErfaxiXe2QMM2pBDgSQIOsP8B0HBWdbVVOMrfe4-$ . Triage notifications on the go with GitHub Mobile for iOS https://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!Nmw4Hv0!krLGpsQjU4aLmgK85dvOfRSAVeKUoiQBdBvCErfaxiXe2QMM2pBDgSQIOsP8B0HBWdbVVOe9C24r$ or Android https://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!Nmw4Hv0!krLGpsQjU4aLmgK85dvOfRSAVeKUoiQBdBvCErfaxiXe2QMM2pBDgSQIOsP8B0HBWdbVVHEqOYkJ$.

-- Muhammad Izzatullah

King Abdullah University of Science and Technology (KAUST) Division of Physical Sciences and Engineering Bldg. 1, Desk #0202-WS023 Thuwal 23955-6900, Kingdom of Saudi Arabia

Tel.: +966 (56) 569 7388 Email: @.***

@.**> Seismic Modeling & Inversion (SMI) Research Group* https://smi.kaust.edu.sa/

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

ar4 commented 3 years ago

I have pushed the fix to GitHub, so hopefully it will work if you reinstall the 8th-order version.

izzatum commented 3 years ago

Awesome, thanks!

On Fri, Oct 1, 2021 at 6:27 PM Alan Richardson @.***> wrote:

I have pushed the fix to GitHub, so hopefully it will work if you reinstall the 8th-order version.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/ar4/deepwave/issues/36*issuecomment-932146790__;Iw!!Nmw4Hv0!kFLSwjGhYaB_m1dHBSgBNdJC--tg3JfLIi4zdQbXBUH7iduMi5ZrQvbhMuy4JcskcSaTu_ClO1SR$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ALH7GBA6UBH5CWUW4YXJV7LUEWLIBANCNFSM5E7VNDWA__;!!Nmw4Hv0!kFLSwjGhYaB_m1dHBSgBNdJC--tg3JfLIi4zdQbXBUH7iduMi5ZrQvbhMuy4JcskcSaTu_7cZLpD$ . Triage notifications on the go with GitHub Mobile for iOS https://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!Nmw4Hv0!kFLSwjGhYaB_m1dHBSgBNdJC--tg3JfLIi4zdQbXBUH7iduMi5ZrQvbhMuy4JcskcSaTu_w0yldr$ or Android https://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!Nmw4Hv0!kFLSwjGhYaB_m1dHBSgBNdJC--tg3JfLIi4zdQbXBUH7iduMi5ZrQvbhMuy4JcskcSaTuwG6Jn0J$.

-- Muhammad Izzatullah

King Abdullah University of Science and Technology (KAUST) Division of Physical Sciences and Engineering Bldg. 1, Desk #0202-WS023 Thuwal 23955-6900, Kingdom of Saudi Arabia

Tel.: +966 (56) 569 7388 Email: @.***

@.**> Seismic Modeling & Inversion (SMI) Research Group* https://smi.kaust.edu.sa/

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

guoketing commented 3 years ago

Dear Muhammad,

I have modified the deepwave to make the order of finite difference can be chosen,for example: prop = deepwave.scalar.Propagator({'vp': model_true.to(device)}, dx, order=order) The parameter order is 4 or 6 or 8 that you can choose what is your email address?I'll send to you by email. if you have any questions, let me know.

Keting

ar4 commented 3 years ago

Dear Keting,

Wow, that was fast! Thank you for your work on it.

izzatum commented 3 years ago

Dear Keting,

That's super fast! Thanks a lot!

Here is my email, hopefully GitHub will not censor it.

muhammad.izzatullah kaust.edu.sa (fill up the missing place :))

On Fri, Oct 1, 2021 at 8:30 PM Alan Richardson @.***> wrote:

Dear Keting,

Wow, that was fast! Thank you for your work on it.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/ar4/deepwave/issues/36*issuecomment-932230319__;Iw!!Nmw4Hv0!iJjMUZy0h_Q8qXe6sGINHYvlyBTliUMPX2DVzMITDq6lkdmqCa4KbzrK_on_yFlFVUEABkLx18tL$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ALH7GBEMODMG2ECMEQMFMGTUEWZX5ANCNFSM5E7VNDWA__;!!Nmw4Hv0!iJjMUZy0h_Q8qXe6sGINHYvlyBTliUMPX2DVzMITDq6lkdmqCa4KbzrK_on_yFlFVUEABmblpZkG$ . Triage notifications on the go with GitHub Mobile for iOS https://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!Nmw4Hv0!iJjMUZy0h_Q8qXe6sGINHYvlyBTliUMPX2DVzMITDq6lkdmqCa4KbzrK_on_yFlFVUEABoH5QQ2M$ or Android https://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!Nmw4Hv0!iJjMUZy0h_Q8qXe6sGINHYvlyBTliUMPX2DVzMITDq6lkdmqCa4KbzrK_on_yFlFVUEABhRgK4Mo$.

-- Muhammad Izzatullah

King Abdullah University of Science and Technology (KAUST) Division of Physical Sciences and Engineering Bldg. 1, Desk #0202-WS023 Thuwal 23955-6900, Kingdom of Saudi Arabia

Tel.: +966 (56) 569 7388 Email: @.***

@.**> Seismic Modeling & Inversion (SMI) Research Group* https://smi.kaust.edu.sa/

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

guoketing commented 3 years ago

Dear Muhammad,

image Is that your email address? I can't send to this address because some errors. If that is true address, Do you have another email?

Keting

izzatum commented 3 years ago

Hi Keting,

Yes that address is correct. If so, you can send to my gmail. miutp11 gmail.com.

Thanks a lot! On Sat, 2 Oct 2021 at 10:28 AM Keting Guo @.***> wrote:

Dear Muhammad,

[image: image] https://urldefense.com/v3/__https://user-images.githubusercontent.com/42222614/135702153-c643056d-8fd0-426a-b67e-70226488b23f.png__;!!Nmw4Hv0!hsiNJocOeTSPs3m0T_ZXP1vb8SDr6vb4Feb7tslZzHerO_MrDqiIthXldIjg70vwfkJxVeR1xGAX$ Is that your email address? I can't send to this address because some errors. If that is true address, Do you have another email?

Keting

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/ar4/deepwave/issues/36*issuecomment-932673664__;Iw!!Nmw4Hv0!hsiNJocOeTSPs3m0T_ZXP1vb8SDr6vb4Feb7tslZzHerO_MrDqiIthXldIjg70vwfkJxVQyn5Zgi$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ALH7GBH5HE6RF44TT2ODI2LUEZ37BANCNFSM5E7VNDWA__;!!Nmw4Hv0!hsiNJocOeTSPs3m0T_ZXP1vb8SDr6vb4Feb7tslZzHerO_MrDqiIthXldIjg70vwfkJxVaM6R7jB$ . Triage notifications on the go with GitHub Mobile for iOS https://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!Nmw4Hv0!hsiNJocOeTSPs3m0T_ZXP1vb8SDr6vb4Feb7tslZzHerO_MrDqiIthXldIjg70vwfkJxVamQHZrs$ or Android https://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!Nmw4Hv0!hsiNJocOeTSPs3m0T_ZXP1vb8SDr6vb4Feb7tslZzHerO_MrDqiIthXldIjg70vwfkJxVZbvQJyg$.

-- Muhammad Izzatullah

King Abdullah University of Science and Technology (KAUST) Division of Physical Sciences and Engineering Bldg. 1, Desk #0202-WS023 Thuwal 23955-6900, Kingdom of Saudi Arabia

Tel.: +966 (56) 569 7388 Email: @.***

@.**> Seismic Modeling & Inversion (SMI) Research Group* https://smi.kaust.edu.sa/

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

izzatum commented 3 years ago

Hi Alan and Keting,

I want to know, how many CPU cores DeepWave using if we're running on CPU? I'm thinking to perform the wave propagation on a multi-cores CPU and send the results to GPU for another computation. I'm trying to avoid GPU from being out of memory. Do guys have better suggestions or advice?

Thanks!

ar4 commented 3 years ago

Hi Muhammad,

On the CPU, Deepwave will use OpenMP's default number of cores. I think this is normally all of the cores on your computer. You should be able to control the number of cores that are used with the OMP_NUM_THREADS environment variable, if you need to. To be sure that I understand correctly what you want to do, are you able to share a bit about how this relates to memory usage or running part of the computation on a GPU?

Have you already tried running Deepwave on one shot at a time?

izzatum commented 3 years ago

Hi Alan,

I want to run particle filter (EnKF). At the moment, to avoid out of memory, I ran 10 batches for each particle which equivalent to 3 shots per batch per one particle size. Since, I send everything to GPU, I need to use very small number of shots at a time to compute the misfit function. This turned out to be 4 for loops. To complete one epoch it takes 4 minutes for 30 particle size, 30 shots, and 60 receivers.

On Sat, 2 Oct 2021 at 7:08 PM Alan Richardson @.***> wrote:

Hi Muhammad,

On the CPU, Deepwave will use OpenMP's default number of cores. I think this is normally all of the cores on your computer. You should be able to control the number of cores that are used with the OMP_NUM_THREADS environment variable, if you need to. To be sure that I understand correctly what you want to do, are you able to share a bit about how this relates to memory usage or running part of the computation on a GPU?

Have you already tried running Deepwave on one shot at a time?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/ar4/deepwave/issues/36*issuecomment-932741530__;Iw!!Nmw4Hv0!gEY1GRR3GVXz-qoWKXwDUJwdYmNx5CbkyZ0du6ersCIZPbNw2eXQSBgp1lPqms2jYYxpv-4lrTQ8$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ALH7GBAPBKBK6QNHGQJ4ALDUE3Y5JANCNFSM5E7VNDWA__;!!Nmw4Hv0!gEY1GRR3GVXz-qoWKXwDUJwdYmNx5CbkyZ0du6ersCIZPbNw2eXQSBgp1lPqms2jYYxpv9jv8tyT$ . Triage notifications on the go with GitHub Mobile for iOS https://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!Nmw4Hv0!gEY1GRR3GVXz-qoWKXwDUJwdYmNx5CbkyZ0du6ersCIZPbNw2eXQSBgp1lPqms2jYYxpvyOP14um$ or Android https://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!Nmw4Hv0!gEY1GRR3GVXz-qoWKXwDUJwdYmNx5CbkyZ0du6ersCIZPbNw2eXQSBgp1lPqms2jYYxpv1MOjyGS$.

-- Muhammad Izzatullah

King Abdullah University of Science and Technology (KAUST) Division of Physical Sciences and Engineering Bldg. 1, Desk #0202-WS023 Thuwal 23955-6900, Kingdom of Saudi Arabia

Tel.: +966 (56) 569 7388 Email: @.***

@.**> Seismic Modeling & Inversion (SMI) Research Group* https://smi.kaust.edu.sa/

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

ar4 commented 3 years ago

Hi Muhammad,

That is not a topic that I know much about. Are you just running forward problems, and applying the filters on the output receiver data, or are you doing FWI and maybe applying the filters on the gradients, or something else?

At the moment, I think the only easy way of reducing memory usage in normal FWI applications with Deepwave is to reduce the batch size (maybe down to just one shot) and then accumulate gradients over several shots before updating the model. I would like to add the ability to save snapshots of the forward wavefield to disk and reload them during backpropagation, rather than storing them all in memory, but it's complicated to do that in a way that performs well on every system, especially when running on GPUs. To help me decide whether it is worth the effort of trying to do it one day, would storing the forward snapshots like this help for your application?

izzatum commented 3 years ago

Hi Alan,

You can imagine solving an ensemble of FWI simultaneously one time. For example, an ensemble has 10 particles (10 initial models), so that we will perform 10 FWI procedures simultaneously for 10 different initial models. The gradients from all these 10 models will be used to construct a preconditioning matrix at each iteration. In this case, every time to compute the gradient, we need to save the wavefields from all the 10 models. This is the challenge I'm facing, actually. We can discuss this further on Zoom if you're interested.

I don't know regarding computation on GPU. As far as I know, the strategy you mentioned is implemented if we are running on the CPU. Honestly, it is worth trying because it will be helpful for large-scale Deep Learning and Uncertainty Quantification applications.

On Sat, Oct 2, 2021 at 9:18 PM Alan Richardson @.***> wrote:

Hi Muhammad,

That is not a topic that I know much about. Are you just running forward problems, and applying the filters on the output receiver data, or are you doing FWI and maybe applying the filters on the gradients, or something else?

At the moment, I think the only easy way of reducing memory usage in normal FWI applications with Deepwave is to reduce the batch size (maybe down to just one shot) and then accumulate gradients over several shots before updating the model. I would like to add the ability to save snapshots of the forward wavefield to disk and reload them during backpropagation, rather than storing them all in memory, but it's complicated to do that in a way that performs well on every system, especially when running on GPUs. To help me decide whether it is worth the effort of trying to do it one day, would storing the forward snapshots like this help for your application?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/ar4/deepwave/issues/36*issuecomment-932759894__;Iw!!Nmw4Hv0!j96YSPQKRkm4_kfpxkCH6wlt650tJ_HlX9Vd3zGruhjqDAS4vKL5yD2xlFFS06ruPTNuPU7sP0xI$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ALH7GBDK6TAQ33U4H5W6IH3UE4ICRANCNFSM5E7VNDWA__;!!Nmw4Hv0!j96YSPQKRkm4_kfpxkCH6wlt650tJ_HlX9Vd3zGruhjqDAS4vKL5yD2xlFFS06ruPTNuPXk-DeRL$ . Triage notifications on the go with GitHub Mobile for iOS https://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!Nmw4Hv0!j96YSPQKRkm4_kfpxkCH6wlt650tJ_HlX9Vd3zGruhjqDAS4vKL5yD2xlFFS06ruPTNuPYpUuN5w$ or Android https://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!Nmw4Hv0!j96YSPQKRkm4_kfpxkCH6wlt650tJ_HlX9Vd3zGruhjqDAS4vKL5yD2xlFFS06ruPTNuPfzu7UhH$.

-- Muhammad Izzatullah

King Abdullah University of Science and Technology (KAUST) Division of Physical Sciences and Engineering Bldg. 1, Desk #0202-WS023 Thuwal 23955-6900, Kingdom of Saudi Arabia

Tel.: +966 (56) 569 7388 Email: @.***

@.**> Seismic Modeling & Inversion (SMI) Research Group* https://smi.kaust.edu.sa/

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

ar4 commented 3 years ago

Hi Muhammad,

That sounds like an interesting idea. A Zoom call would be good - I'll send you an email.

ar4 commented 2 years ago

Hi Muhammad,

Thank you again for the suggestion to make it possible for users to select the finite difference order of accuracy. I have finally included this in the master branch. I hope that it works for you.

-Alan