Skip to content

v0.12.0.0

Compare
Choose a tag to compare
@kmantel kmantel released this 28 Jul 04:04
· 932 commits to master since this release
d1c854d

[0.12.0.0] - 2022-07-27

Component

  • Don't exclude _init_args from deepcopy (#2380)
  • Set correct Parameter owner on Component deepcopy

Composition

  • Fix TERMINAL node detection (#2384)
  • Add_projection: also detect feedback from node roles (#2429)

ControlMechanism

  • Set function default to Identity
  • Set monitor_for_control default to []

DriftOnASphereIntegrator

  • Change default dimension to 3 (#2428)

JSON/MDF

  • Determine fixed onnx noise values at test time (#2441)

KWTAMechanism

  • Set matrix according to tests (#2398)

MDF

  • Support v0.3.4; import from MDF classes
  • Update interface methods
  • Add yaml_summary
  • Rename JSONDumpable to MDFSerializable
  • Update all documentation from JSON to MDF
  • Rename json files to mdf
  • Remove manual arg substitution in expressions

MemoryFunction

  • Use Buffer _update_default_variable fix
  • _update_default_variable: handle ragged arrays

Parameter

  • Remove delivery_condition from _additional_param_attr_properties
  • Add specify_none flag

Parameters

  • Fix Parameter inheritance when setting attributes (#2402)
  • Allow specification in inner class or init

Testing

  • Add checks for ControlMechanism allocation parameter
  • Make sure all 'cuda' marked tests are also marked 'llvm'
  • Add cmdline option to select compiler fp precision
  • Add fp32 variant
  • Consolidate matrix ops tests
  • Drop fixed dimension vector matrix multiply
  • Use pnlvm.ir instead of importing llvmlite ir again
  • Convert arguments to the correct fp precision
  • Consolidate spelling of 'Philox' to easily identify philox tests
  • Convert parameters to correct type in PTX tests
  • Parameters: add check for _additional_param_attr_properties
  • Make sure inputs are representable in fp32
  • Use higher tolerance when running in fp32 mode
  • Refactor test parameters
  • Add fp32 expected values
  • Add Philox fp32 results
  • Remove dead code
  • Add fp32 results
  • Add testing for fp32 results and fp32 precision
  • Adjust probabilities for storage/retrieve
  • Pass PRNG type as explicit test parameter
  • Add special case result for PTX fp32 test
  • Refactor tests to use pytest.param(id=)
  • MDF: correct os-specific filepaths

Components

  • Add default_variable as constructor_argument where missing
  • Add check_user_specified decorator for _user_specified

Function/OptimizationFunction

  • Allow array based SampleIterator in compiled code path
  • Move Python specific code to non-compiled else branch

Functions/GridSearch

  • Rename '_run_grid' -> '_search_grid'
  • Refactor parallel compiled path to reuse existing '_evaluate' implementation
  • Refactor parallel compiled path to reuse existing '_evaluate' implementation (#2445)

Functions/OptimizationFunction

  • Disable aggregation in compiled mode

Github-actions

  • Use v0.0.0.0 as dummy tag to compare documentation on pull requests (#2376)
  • Bump actions/github-script from 5 to 6 (#2317)
  • Bump actions/download-artifact from 2 to 3 (#2378)
  • Bump actions/setup-python from 3 to 4 (#2425)
  • Install latest pip and wheel when testing new dependencies (#2444)
  • Drop python3.7 macos job (#2453)

Github-actions/install-pnl

  • Fix lookup of dep packages (#2392)

Github-actions/pnl-ci-docs

  • Skip removing zero tag if the tag creation was skipped (#2393)

Github-actions/pnl-install

  • Check if a newly bumped dependency is rolled back during installation (#2390)

Llvm

  • Split allocating new space in params with history from populating it
  • Add support for different floating point precision conversions
  • Add option to use 32bit floating point representation (#2400)
  • Add support for more SoftMax output types (#2418)
  • Always emit debuginfo with LLVM IR
  • Cleanup codegen of mechanisms that modify function return value (#2421)
  • Improve parallel execution handling (#2443)

Llvm/ConditionGenerator

  • Refactor structure/initializer methods to not use type to detect composition

Llvm/UDF

  • Reuse metadata from variable builder in codegen builder
  • Update debug code location for every parsed AST node
  • Add detailed line debugging information to generated IR (#2419)

Llvm/builder_context

  • Use llvm.ir module directly
  • Simplify debug info handling
  • Use load_extract_scalar_array_one helper to load PRNG seed

Llvm/builtins

  • Split 'is_close' builtin implementation by type
  • Change 'tanh' formula to better handle large input
  • Change 'coth' formula to better handle large input
  • Change 'csch' formula to better handle large input
  • Drop dead code

Llvm/debug

  • Print parallel execution time when "time_stat" is set

Llvm/execution

  • Add support for structs to _element_dtype
  • Check for errors in jobs submitted to thread pool executor

Mechanism/ControlMechanism

  • Drop DefaultAllocationFunction
  • Remove obsolete workaround

Mechanisms/ControlMechanism

  • Drop unused import of psyneulink.llvm

Requirements

  • Update pillow requirement from <9.1.0 to <9.2.0 (#2370)
  • Update pandas requirement from <=1.4.1 to <1.4.3 (#2373)
  • Update autograd requirement from <=1.3 to <1.5 (#2379)
  • Update graphviz requirement from <0.20.0 to <0.21.0 (#2389)
  • Update networkx requirement from <2.8 to <2.9 (#2383)
  • Update pytest requirement from <7.1.2 to <7.1.3 (#2396)
  • Update psyneulink-sphinx-theme requirement (#2426)
  • Update graph-scheduler requirement (#2391)
  • Update pillow requirement from <9.2.0 to <9.3.0 (#2436)
  • Update pandas requirement from <1.4.3 to <1.4.4 (#2434)
  • Update elfi requirement from <0.8.4 to <0.8.5 (#2427)
  • Update matplotlib requirement from <3.5.2 to <3.5.3 (#2403)
  • Update torch requirement from <1.9.0 to <1.12.0 (#2446)
  • Update pint requirement from <0.18 to <0.20 (#2447)
  • Update llvmlite requirement from <0.39 to <0.40 (#2451)
  • Bump pycuda to <2023 (#2452)
  • Update numpy requirement from <1.21.4 to <1.21.7 (#2454)

Utilities

  • Combine signature caches