-
Notifications
You must be signed in to change notification settings - Fork 4
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
WIP: Memory allocation #59
base: dev
Are you sure you want to change the base?
Conversation
Hi @wytbella, now #55 has been merged there has been a fairly substantial change to |
We've got what we needed from this - thanks very much @wytbella. We'll keep the branch alive and can merge in these changes in the future on an ad-hoc basis to rerun the memory profiling. |
Hi @claireh93 , sorry about the delay. I meant to include the latest development on Before I spend more time to solve the python issue, just want to ask how important it is to profile the latest changes? As mentioned in the meeting, I think this PR provides more of a tooling/reference rather than a concrete conclusion (sorry about that!). It includes examples to use |
Hi @wytbella, yes I think you are right - it's more important that we have the tools on this branch so that we can run them to explore the code as it changes, so I wouldn't worry about running it if there are python problems! As Richard said, it would be great to chat about how these things work at some point in the future, but there is no rush :) |
* dev: (150 commits) Revert rand MedianGenerator Binomial removal. changes from Richard's PR review Apply suggestions from code review Add codecov reports Remove old unused EpiList constructor. Fix testing and examples to new EpiList API. Switch to new API for EpiList so that human_abun and virus_abun store all information about human and virus states in a dataframe so disease_classes is no longer needed. Introduce DiseaseState enum to define Susceptible, Infectious, etc. Other small fixes: - first Susceptible age group is now Susceptible1 for consistency - virus needs initialisation with a vector like humans when there are age categories rand call didnt have rng Update SEI3HRD_example to new movement kernel format - number grid cells instead of classes things missed from merge lower case kwarg needed type anntations for ::Type{R} where R<:Random.AbstractRNG & VecRNGType Remove redundant parameter setting Fix commit problem Fix data frames so they are easier to read. work in progress Tidying and clarification Fixing documentation and tidying starting work to merge in from dev Use dot product instead of allocating ... # Conflicts: # Project.toml # examples/Epidemiology/SEI3HRD_example.jl # examples/Epidemiology/Scotland_run.jl # src/Epidemiology/EpiGenerate.jl # src/Simulation.jl
@claireh93 - I've updated this to the latest version of dev. There's still a lot of work to do here (happily?) when someone has time. |
Codecov Report
@@ Coverage Diff @@
## dev #59 +/- ##
==========================================
+ Coverage 61.97% 62.20% +0.22%
==========================================
Files 46 46
Lines 2735 2741 +6
==========================================
+ Hits 1695 1705 +10
+ Misses 1040 1036 -4
|
To look into issue: #51
I tracked the time/memory use in
update!
, here are some initial results onScotland_run.jl
for single thread (see the table below)@claireh93 @richardreeve , the tool (TimerOutputs.jl) I used doesn't seem to support multi-threading well, so I might have to use other tools for further investigation. Just want to ask, does the result (the table above) on a single thread give you any insights? Any suggestions on what's next?
Edit: some results from 1 or 2 threads (TimerOutputs could work if I don't track in details
Update to new dev: