v0.12.0.0
[0.12.0.0] - 2022-07-27
Component
- Don't exclude _init_args from deepcopy (#2380)
- Set correct Parameter owner on Component deepcopy
Composition
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