1/ As someone who enjoys, thinks constantly about, and almost romanticizes tool building, I really liked this article by @mZargham and @gablerjonathan. It talks about something that's been bothering me for a while and I agree with: there's a tooling gap.https://medium.com/block-science/cadcad-filling-a-critical-gap-in-open-source-data-science-fcd0d3faa8ed …
-
-
3/ The way I wrote it I left myself room to turn it into something that looked like classical OO programming — think Django's data descriptor model but with numpy data representation. Then, I could "cleverly" compile it to a computational graph via tf or JAX. (Didn't get to it.)
Show this thread -
4/ Why is this useful? Because iterative and interactive programming and analysis is incomparably more productive. Executing and interrogating simulations in a
@ProjectJupyter with a wonderful experience.Show this thread -
5/ I think MASON / Repast / Swarm are great in that they're performant. But, inspection (even with JVM bridges to REPLs) feels too low resolution.
Show this thread -
6/
@netlogo is pretty fantastic in that it's has "full" IDE and you can ship people your simulation really easily. But, again, interrogation is coarse. (Plus, I don't want to write in LOGO.)Show this thread -
7/
@badnetworker and@JackieKazil did a great job with MESA. ABM's in Jupyter /#IPython — that feel's good! But, writing ABMs in python for richer models demands Cython (or sometimes happily@anacondainc's numba), which slows *me* down. https://mesa.readthedocs.io/en/master/Show this thread -
8/ I haven't tried cadCAD yet. And, there are lots of recent entrants trying to rethink computational modeling, obviously. But, I'm most excited by the idea of hoping off the path of the currently dominant ABM frameworks and following one that considers what can be done now.
Show this thread
End of conversation
New conversation -
-
-
I’m still thinking about a lot of what you’re saying here, but first: this isn’t weird in HPC/sims. Structure of Array is much better for most data locality irl. We used to enjoy challenging the OO folks to implement and benchmark
https://en.m.wikipedia.org/wiki/AOS_and_SOA … -
Yea, that's exactly why I wrote it that way. (That and a mistaken assumption that I could move it easily to GPU for sequential strides). It's just not common in ABM frameworks because classical paradigms dominate.
- 6 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.