Skip to content

v0.12.0

Choose a tag to compare

@ConnorStoneAstro ConnorStoneAstro released this 02 Dec 20:16
· 9 commits to main since this release
dd9b2c7

What's Changed

Major interface update includes many small changes:

  • param.value = None now clears value and sets dynamic, rather than aliasing to_dynamic
  • param.value = 1.0 or some other value no longer forces static, the param will remain static/dynamic as it was before
  • Printing a simulator will show up to 4 values per param, rather than only showing scalars
  • Param("name", dynamic_value = value) no longer works, now use Param("name", value = value, dynamic=True)
  • Params now have explicit param.batched = True to indicate that param.shape will match then end of param.value.shape. More generally we will have param.shape = (*D) and param.value.shape = (*B, *D)
  • param.dynamic_value = value is now param.dynamic_value(value) to set value and make it dynamic. Also now have param.static_value(value) to set static and provide value. As well as param.pointer_func(value) to set a function or param pointer

Under the hood, the graph will only update for setting a param value if that means changing the node type (static, dynamic, pointer). This should improve the speed of larger simulators when modifying states (ie set whole simulator to static). The runtime use of the graph has always been fast.

Full Changelog: v0.11.0...v0.12.0