-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Final switch to IMASDD #26
Conversation
Inteferometer operation has been sped up by optimizing \in operation for point in a subset in GGDUtils at ProjectTorreyPines/IMASggd.jl@392b428 Now speed test results are: SynthDiag.jl % julia --project test/speedtest.jl
-----------------------------------------------------------------------------
add_interferometer!() time with compilation: 9.951131 seconds (50.11 M allocations: 4.110 GiB, 5.75% gc time, 48.21% compilation time)
add_interferometer!() time (true runtime): 5.389749 seconds (35.12 M allocations: 3.124 GiB, 4.63% gc time)
-----------------------------------------------------------------------------
add_langmuir_probes!() time with compilation: 3.002231 seconds (7.34 M allocations: 694.869 MiB, 2.85% gc time, 62.67% compilation time)
add_langmuir_probes!() time (true runtime): 0.983486 seconds (220.36 k allocations: 196.590 MiB) This is almost the same performance as when OMAS was used. So now we can consider this PR ready for merge as well. |
I'll wait for #25 to be accepted before submitting this PR for review. I'll rebase with dev and see if gas_injection also requires any optimization with IMASDD. |
* All references to OMAS have been removed now. * Some changes in interferometer.jl were lost in previous PR merges, so I have added them again. * All tests pass with IMASDD.
dd4916a
to
545b811
Compare
I have rebased to incorporate #25 . A speedtest has been added for gas_injection functions too and it looks fine. SynthDiag.jl % julia --project test/speedtest.jl
-----------------------------------------------------------------------------
add_interferometer!() time with compilation: 9.925406 seconds (50.21 M allocations: 4.118 GiB, 5.98% gc time, 48.09% compilation time)
add_interferometer!() time (true runtime): 5.916004 seconds (35.12 M allocations: 3.124 GiB, 4.24% gc time)
-----------------------------------------------------------------------------
add_langmuir_probes!() time with compilation: 2.851358 seconds (7.11 M allocations: 680.428 MiB, 2.67% gc time, 67.77% compilation time)
add_langmuir_probes!() time (true runtime): 0.951874 seconds (220.36 k allocations: 196.590 MiB)
-----------------------------------------------------------------------------
get_gas_injection_response() time with compilation: 14.438887 seconds (4.16 M allocations: 42.286 GiB, 30.00% gc time, 1.47% compilation time)
get_gas_injection_response() time (true runtime): 13.658842 seconds (3.71 M allocations: 42.256 GiB, 28.88% gc time)
compute_gas_injection() time with compilation: 1.159418 seconds (3.57 M allocations: 229.790 MiB, 99.73% compilation time)
compute_gas_injection() time (true runtime): 0.001134 seconds (30.55 k allocations: 1.314 MiB) This PR is ready for merge now. I'll submit all four PRs for review. |
This PR would be merged simultaneously when all other repos also have the PR ready for the final switch from OMAS to IMASDD.
Speed test
I ran a speed test to check the difference between using OMAS and IMASDD. With IMASDD, add_inteferometer is 10 times slower. Interestingly, add_langmuir_probe is marginally faster. We'll need to find bottleneck in this repo as well. Following are the results:
Speed test with IMASDD.jl
Note that the warning is due to outdated sample file which is being read by IMASDD. I'll fix this sample file soon.
Speed test with OMAS.jl