Reproducibility is more complicated with multithreaded simulations. While set_num_threads(1) worked on my laptop (as discussed in #90), it did not work on @lubo93's.
This PR removes multithreading from the contact simulation. On my laptop, this resolves #90 without requiring set_num_threads(1).
Performance is unchanged on my laptop even for large problems with 300,000 nodes and 3,000,000 contacts. The multithreading therefore does not appear to be helpful anyways.
For reference, this is what running simple_epidemic.py on a large network looks like
Reproducibility is more complicated with multithreaded simulations. While
set_num_threads(1)
worked on my laptop (as discussed in #90), it did not work on @lubo93's.This PR removes multithreading from the contact simulation. On my laptop, this resolves #90 without requiring
set_num_threads(1)
.Performance is unchanged on my laptop even for large problems with 300,000 nodes and 3,000,000 contacts. The multithreading therefore does not appear to be helpful anyways.
For reference, this is what running
simple_epidemic.py
on a large network looks likeResolves #90