change to pmap step in computeNextIteration#47
Conversation
…rob object plus proposed parameter vector (rather than entire chain object)
|
sounds like a good idea! thanks! |
|
This actually doesn't go far enough. |
|
hey how are we doing with this? good to merge? |
|
This change by itself doesn't give much of a memory improvement. To get any improvement it's necessary to use
But this solution doesn't make a lot of sense for library use. |
its necessary
|
I've added an option to AlgoBGP.opts, "worker_pool", that allows the user to specify a worker pool to use for distributed computation. This gets passed to the |
|
hey @gregobad , thanks for this. just checking, did you run the tests locally? |
|
🎉 |
|
I didn't run the tests locally but looks like they worked. I thought I was just pushing to my fork, didn't intend to create a pull request on the main branch. But perhaps the vector |
|
sure we'll keep the vector version around, why not. took some tweaking to make the test run on x86. |
Hi -
I modified the pmap step in
computeNextIteration!to only parallellize the objective function evaluation step (not the accept / reject or proposal steps). This avoids having to pass the entire chain to the workers. I was running into problems where the evaluation slowed down over time and eventually failed with a bus error because the chain objects get very large. I think this should solve that problem.Greg