Skip to content

Releases: PrincetonUniversity/PsyNeuLink

v0.15.1.0

03 Feb 01:35
9b68ab8
Compare
Choose a tag to compare

[0.15.1.0] - 2024-02-02

Functions/MemoryFunctions

  • Do not use comparisons to empty list

Functions/UniformToNormalDist

  • Do not check for scipy at runtime

MDF

  • Write_mdf_file: clarify documentation on fmt arg
  • Write_mdf_file: fix bug in detecting filename extension
  • Add NodeRole.LEARNING as an exclusion for mechanisms
  • Fix bug in detecting imported modules in script

PECOptimizationFunction

  • Use opt_func instead of self.method to construct optuna study

Port/_parse_port_spec

  • Convert value to string to compare to keyword

Security

  • Only purge python cache if CODEQL_PYTHON is set (#2888)

Testing

  • Use fixed seed for optuna sampler instances
  • Seed optuna samplers (#2875)
  • Check that running/executing with no inputs produces a warning
  • Enable node_spec_types test.
  • Add invocation wrapper to use in benchmark fixture
  • Only consider first 10 values in checks
  • Remove spurious return statement
  • Don't use deprecated pytest.warns(None)
  • Escape special characters in regexp
  • MDF: correct implicit use of locals in exec
  • MDF: test equivalence using np assert_array_equal
  • MDF: standardize model_backprop object naming
  • MDF: rework. share code. correct shared state
  • MDF: replace use of json-named functions with mdf-named
  • MDF: use tempfile instead of manually named files
  • MDF: rename
  • Use matrix.modulated or get_mod_matrix() instead of mod_matrix
  • Do not apply marks to a fixture (#2901)

Broken_trans_deps

  • Block sphinxcontrib-applehelp>=1.0.8
  • Block sphinxcontrib-devhelp>=1.0.6
  • Block sphinxcontrib-htmlhelp>=2.0.5
  • Block sphinxcontrib-serializinghtml>=1.1.10
  • Block sphinxcontrib-qthelp>=1.0.7

Ci/ga

  • Upload pr_number only once
  • Do not upload distfile for version restricted run
  • Add version restriction to test artifact name
  • Bump versions of actions/{download,upload}-artifact (#2893)
  • Print additional CPU and memory info on all runners (#2898)
  • Use all logical cores to run tests (#2900)

Ci/github-actions

  • Make sure the uploaded artifacts are unique (#2892)

Deps

  • Block sphinxcontrib-* that silently depend on sphinx >=5 (#2880)

Github-actions

  • Bump actions/download-artifact from 3 to 4 (#2865)
  • Bump actions/cache from 3 to 4 (#2879)

Llvm

  • Codestyle
  • Use checked/universal API to access binary structures (#2873)

Requirements

  • Update grpcio requirement from <1.60.0 to <1.61.0 (#2855)
  • Bump pycuda to <2024 (#2869)
  • Update pytest requirement from <7.4.4 to <7.4.5 (#2870)
  • Update pillow requirement from <10.2.0 to <10.3.0 (#2872)
  • Add scipy to requirements file
  • Update beartype requirement from <0.16.0 to <0.17.0 (#2804)
  • Update pandas requirement from <2.1.5 to <2.2.1 (#2890)
  • Update dill requirement from <0.3.8 to <0.3.9 (#2891)
  • Update pytest requirement from <7.4.5 to <8.0.1 (#2896)

Setup

  • Remove stale warning filter.
  • Error on SyntaxWarnings

Treewide

  • Assign values to ".base" attribute of a modulated Parameter

v0.15.0.0

16 Dec 02:07
f062be4
Compare
Choose a tag to compare

Features

  • add handling of partial differentials ("covariates") for BackPropagation learning (#2766)
  • support learning nested AutodiffCompositions (#2801)
  • support graph-scheduler graph structure conditions (#2864)
  • add form of episodic / external memory with EMComposition (#2735)

Fixes

  • log: nparray, nparray_dictionary: add report_all_executions option that reports all executions for a given TIME_STEP (#2844)

v0.14.0.0

27 Jul 03:06
b8cd10e
Compare
Choose a tag to compare

[0.14.0.0] - 2023-07-26

AutoAssociativeProjection

  • Only pass initial_shared 'matrix' to function

Bug Fixes

  • Fix for some tests that expect runtime type checks
  • Fix some lgtm errors

Component

  • Add prefix to autogenerated names in deferred init
  • Add predefined prefix to autogenerated names in deferred init (#2664)
  • _initialize_parameters: simplify user specified check
  • Improve illegal argument detection
  • Improve param_defaults
  • Fix detecting constructor args during init
  • Don't prune args to function init
  • Don't try copying defaults with value None
  • Fully disallow name when constructor arg present
  • Rework constructor argument validation
  • Parse to combine alt param specifications
  • Skip assigning defaults of aliases
  • Add unused learning parameters to compilation blocklist (#2642)

Composition

  • Assert for non-nested Composition run without input
  • Correct context passing of pathways/add_node
  • Correct context passing through add_projection
  • Remove non-user-added projections from processing graph
  • Fix INPUT roles for ControlMechanism -> inner Composition

ContentAddressableMemory

  • Allow specifying selection_function in constructor
  • Remove extraneous function instantiation checks
  • Correct _parse_distance_function_variable as used in _validate
  • _validate: remove function instantiation and default setting
  • _validate: check result of each combo of granularity and field_weights
  • Make selection_function dependent on distance_function
  • _parse_distance_function_variable: use variable argument

ControlMechanism

  • Remove extraneous output_ports arg
  • Fix control_allocation initialization
  • Correct _parse_output_ports
  • Remove init parsing of monitor_for_control
  • Remove init parsing of control

ControlSignal

  • Do not recalculate costs on Port._update (#2722)

CostFunctions

  • Use Flags instead of IntFlags for cost function enum

DictionaryMemory

  • Reset: handle empty previous_value

Documentation

  • Doc fixes on OptimizationFunction

EpisodicMemoryMechanism

  • Make memory (_memory_init) a FunctionParameter

GradientOptimization

  • Fix potentially uninitialized local variable
  • Fix error on default bounds

LCAMechanism

  • _validate_competition: fix reference to component name

LearningMechanism

  • Remove unused LEARNED_PARAM

MDF

  • Function: handle param mdf names for initializers
  • Implement FitzHughNagumoIntegrator

OrnsteinUhlenbeckIntegrator

  • Avoid producing 3d value (#2590)

Parameters

  • Don't suppress AttributeError in _parse/_validate methods
  • Rework parse and validation method interface
  • Handle Parameters as dependencies

PredictionErrorMechanism

  • Pass up only sample and target

SampleIterator

  • Fix incorrect use of curly brackets in error strings (#2690)

Testing

  • Remove blank line at the end of file
  • Correct transfer mech initial_value override test (#2557)
  • Add helper to tests that include parallel compiled execution (#2591)
  • Add missing composition tags. Remove redundant Scheduler instances. (#2611)
  • Extra role tests for pathway ending in control mechanism
  • Use np.testing.assert_allclose to check resutls (#2621)
  • Use np.testing.assert_equal instead of assert np.all(==)
  • Prefer np.testing.assert_equal to assert np.all(==)
  • Use np.testing.assert_equal instead of np.all (#2628)
  • Convert to use autodiff_mode
  • FP32 should only be used in compiled tests
  • Check for execution mode PyTorch in test_optimizer specs
  • Add helper function to return the first set of learning results
  • Test_documentation_models: reenable parametrizations
  • Allclose changes
  • Test_nested_composition_run_trials_inputs: undo disable test parametrizations
  • Test_nested_transfer_mechanism_composition_parallel shape mismatch
  • TestRunInputSpecifications test_run_2_mechanisms_reuse_input: fix allclose
  • TestRun test_run_2_mechanisms_reuse_input: fix allclose
  • TestInputSpecifications test_run_2_mechanisms_reuse_input: fix allclose
  • Test_connect_compositions_with_simple_states: fix allclose
  • Test_linear_combination_function_in_mechanism: fix allclose
  • Test_user_def_func_numpy: match 2d output to 2d input
  • Test_LCAMechanism_threshold: fix allclose
  • Test_output_ports: fix allclose
  • Tests_output_port_variable_spec_composition: fix allclose
  • Test_integrator_multiple_input: fix allclose
  • TestRunInputSpecifications::test_2_mechanisms_input_5: fix allclose
  • Test_assign_value: fix allclose
  • Test_buffer_standalone: fix allclose
  • Test_example_11: fix allclose
  • Test_input_not_provided_to_run: fix allclose
  • Test_input_specification_multiple_nested_compositions: fix allclose
  • Test_transfer_mech_func: fix allclose
  • Test_target_dict_spec_single_trial_scalar_and_lists_rl: fix allclose
  • Test_AGTUtility_valid: fix allclose
  • Test_connect_outer_composition_to_only_input_node_in_inner_comp_option2: fix allclose
  • Test_single_array: fix allclose
  • Test_transfer_mech_array_var_normal_array_noise: fix allclose
  • Test_reset_run_2darray: fix allclose
  • Test_rpy.py test_multilayer: fix allclose
  • Test_log: fix allclose shape
  • Test_gating_with_composition: fix allclose
  • Replace assert np.allclose with np.testing.assert_allclose where tolerance fails
  • Replace all unaffected assert np.allclose with np.testing.assert_allclose
  • Remove asserts using zip loops where possible
  • Adjust expected shape based on execution type
  • Adjust shape of expected results based on execution mode
  • Assert on results in "heterogenous_variable" tests
  • Convert more tests to np.testing.assert_allclose (#2633)
  • Tighten tolerance for compiled results (#2653)
  • Test_call_after_construction_with_learning_pathway: fix missing assert (#2647)
  • Check expected learning results
  • Use worksteal xdist balancer (#2670)
  • Add a 3rd set of expected results for small drift rate
  • Ensure seed change test uses new seed (#2675)
  • Use pytest.param id instead of fake parameter
  • Drop redundant return statements
  • Use full precision expected result instead of changing tolerance
  • Skip on CUDA
  • Sanitize PEC tests (#2688)
  • Don't check newline encoding in the printf test (#2691)
  • Extract mechanism values to form homogeneous array
  • Illegal kwargs: add missing asserts
  • Integrator mech: fix variable->default_variable
  • Remove duplicate 'const_data' debug flag
  • Add a helper to generate power set
  • Add helper to generate power set and use it to test compiler debug options (#2707)
  • Style
  • Add TransferWithCosts test with all combinations of costs
  • Do not include CostFunctions.ALL when constructing power set (#2714)
  • Enable GPU tests
  • Add for invalid function_params
  • Mark em_composition TestExecution as pytorch
  • Mark test_import_composition as pytorch
  • Use overlooked helper function
  • Rename test Component

Autodiff

  • Make sure inputs to cross entropy loss are at least 2d for torch<=1.11.x

Autodiff_composition

  • Use torch 1.11 with python3.10 and Windows (#2667)

Broken_trans_deps

  • Add all python3.10 win32 torch wheels >=1.12.0
  • Add cattrs==23.1.1 to broken deps list (#2686)

Ci

  • Run all tests using --fp-precision=fp32 (#2629)
  • Add run using --benchmark-enable (#2630)
  • Add ipython 8.13.0 to blocklist for python <3.9 (#2651)
  • Add --forked run to test autogenerated names
  • Don't build "base" version of docs using python 3.10 or 3.11
  • Don't use latest python on macos for building docs
  • Don't use python 3.7.17 on macos to build docs (#2703)
  • Disable pytest-xdist in benchmark ci job (#2710)

Components

  • Add methods to return/filter projections between components

Dependencies

  • Update to numpy<1.24.4 (#2693)

Deps

  • Add onnx==1.14.0 to broken_trans_deps (#2663)
  • Add pytest-forked to 'dev' requirements
  • Restrict contourpy to <1.1.0 on x86 (32-bit) (#2700)
  • Restrict pillow to <10.0.0 on x86 (32-bit) (#2716)

Dev_requirements

  • Use sharp inequality of pytest-profiling upper bound

Functions/MaxLikelihoodEstimator

  • Add support for storing all simulated results

Functions/TransferFunction

  • Add support for 'per-item' mode derivative

Github-actions

  • Use constraints file instead of pre-installing packages on x86 (#2584)
  • Constraint broken transitive dependencies (#2603)
  • Add fp32 compilation only test job (#2612)
  • Run all tests with --fp-precision=fp32
  • Add job running --benchmark-enable
  • Add python 3.11 to docs CI
  • Bump top python version 3.10->3.11

Github-actions/pnl-ci

  • Print numpy and CPU info before running tests

Integratorfunctions

  • _parse_initializer: cast initializer to numpy array

Llvm

  • Pass number of inputs to 'evaluate' function
  • Convert shape mismatch warning to PNLCompilerWarning category
  • Use WeakRefDictionary for node wrappers
  • Add human readable name to _node_wrapper instances
  • Use weak references and proxy objects in _node_wrapper objects (#2613)
  • Remove unnecessary data shape checks and workarounds (#2634)
  • Update and extend the collection of code generation statistics (#2687)
  • Represent integer types as unsigned in ctype
  • Only write back shareable data (#2718)
  • Add more structure stat messages (#2729)

Llvm/CUDA/function

  • Sync stateful params back to CPU at the end of cuda_execute

Llvm/builder_context

  • Use proxy object for _node_wrapper owning composition
  • Move stats printing to LLVMBuilderContext destructor
  • Include 'function' in cache stats for generated LLVM functions
  • Collect statistics for number of cached and generated struct types
  • Calculate and print cache hit rates
  • Clarify output of module scope stats

Llvm/codegen

  • E713 test for membership should be 'not in'

Llvm/cuda

  • Do not upload inputs to shared memory.
  • Do n...
Read more

v0.13.0.0

14 Jan 04:04
06f3006
Compare
Choose a tag to compare

[0.13.0.0] - 2023-01-13

Documentation

  • Remove invalid escape sequences (#2531)

MDF

  • OutputPort: include shape and type
  • Improve handling of more complex Functions
  • Set up stateful parameter index handling
  • Implement DriftDiffusionIntegrator

Parameters

  • Allow validate methods to reference other parameters (#2512)

Testing

  • Use the correct execution mode in test_transfer_mech_integration_rate_0_8 (#2471)
  • Tests, treewide: Add missing "composition" marks (#2472)
  • MDF: make onnx noise generation more flexible
  • Drop extra 'monitor' mechanism from the threshold modulation test
  • Use numpy instead of python math module
  • Use lambda function to get the name of tested function
  • Consolidate Buffer Function test
  • Use more than one iteration in test using stateful functions
  • Run more than one iteration in tests that use stateful Functions
  • Consolidate test of different input formats
  • Consolidate testing of different mechanism functions
  • Run more than one iteration in tests that use integrator mode
  • Use 'num_trials' instead of manually calling 'execute'
  • Overload 'benchmark' fixture with custom invocation
  • Use the benchmark fixture unconditionally
  • Use the benchmark fixture unconditionally
  • Use the benchmark fixture unconditionally
  • Use the benchmark fixture unconditionally
  • Use custom benchmark fixture (#2529)
  • Don't use the same position in default variable
  • Add derivative test when using OUTPUT_MDOE=ALL
  • Use keywords instead of hardcoded strings as parameters
  • Add type of output to names of SoftMax tests
  • Assert that func_mode is only one of the three valid options
  • Tests, functions/SoftMax: Don't use nested 'params' dir to set parameters
  • Use 'size' instead of 'content_size' in construction
  • Check for compiled variant sooner
  • Check for warning messages when there's a conflict between mech and function parameter
  • Drop 'DECISION_TIME' output port
  • Add custom name prefix to all components with default names generated during test collection
  • Use custom name prefix for Components instantiated during test enumeration (#2542)
  • Do not check for string value of numpy error embedded in MechanismError (#2569)
  • Use mac/windows results for numpy>=1.22 and AVX512 CPUs

TransferFunction

  • Add support for computing derivatives using base function output (#2538)

Function/SoftMax

  • Use correct dimensionality when calculating full Jacobian (#2539)

Functions/DriftDiffusionAnalytical

  • Re-associate floating point operations

Functions/ReLU,SoftMax

Functions/SoftMax

  • Restore correct computation of derivation
  • Add support for 2d inputs to SoftMax derivative (#2534)
  • Use "ALL" results to calculate derivative directly
  • Use 'squeezed' version of output when calculating Jacobian

Functions/Transfer

  • Consider 'bias' parameter in 0 check in ReLU derivative function

Functions/TransferFunction/Angle

  • Optimize python version

Functios/ReLU

  • Rename 'variable' arguemnt to 'input'

Github-actions

  • Add hash of requirements.txt to cache key of built pip packages (#2482)
  • Restrict scipy to <1.9.2 on x86 (#2502)
  • Use environment files to set outputs (#2506)
  • Restrict scikit-learn to <1.1.3 on x86 (#2511)
  • Fix setting of outputs
  • Consider 'doc_requirements.txt' when generating cache key in doc CI jobs
  • Consider 'dev_requirements.txt' when generating cache key in CI jobs
  • Fix detection of wheel cache directory location (#2513)
  • Restrict statsmodels to <0.13.3 on x86 (#2516)
  • Run only the latest instance of the main CI workflows (#2537)
  • Check env var to tag selected OSes to run on self-hosted runners (#2546)
  • Generalize package name extraction from dependabot branch name (#2566)

Github-actions/codeql

  • Skip CI job on pushes that only update documentation (#2560)

Github-actions/coedql

  • Run codeql analysis on PRs to devel

Github-actions/install-pnl

  • Only check version of a new package if it's in a requirements file
  • Restrict jupyter-server to <2 (#2555)

Github-actions/install-pnl/dependabot_pr

  • Cleanup installation of the bumped package before installing PNL (#2481)
  • Skip package version check for not installed packages (#2483)

Library/AutodiffComposition

  • Drop empty docstring (#2567)

Llvm

  • Add sin, cos builtins
  • Implement compiled Angle and SoftMax derivative Functions (#2528)

Llvm/builtins

  • Implement binomial distribution for N==1 (#2552)

Llvm/codegen

  • Use visit_Constant instead of visit_{Num,NamedConstant} if available

Maint

  • Ignore mdf test autogenerated files (#2527)

Models/Botvinnick

  • Use top level import

Registry

  • Add configurable prefix to auto generated component names

Requirements

  • Restrict modeci_mdf to 64bit cpython (#2473)
  • Update pytest requirement from <7.1.3 to <7.1.4 (#2478)
  • Update pandas requirement from <1.4.4 to <1.4.5 (#2477)
  • Update matplotlib requirement from <3.5.4 to <3.6.1 (#2486)
  • Update pandas requirement from <1.4.5 to <1.5.1 (#2488)
  • Update autograd requirement from <1.5 to <1.6 (#2493)
  • Update pytest-cov requirement from <3.0.1 to <4.0.1 (#2492)
  • Update pandas requirement from <1.5.1 to <1.5.2 (#2503)
  • Update matplotlib requirement from <3.6.1 to <3.6.2 (#2497)
  • Update torch requirement from >=1.8.0,<1.12.0 to >=1.8.0,<1.13.0 (#2504)
  • Update pytest-xdist requirement from <2.6.0 to <3.1.0 (#2510)
  • Update pytest-benchmark requirement from <3.4.2 to <4.0.1 (#2507)
  • Update pint requirement from <0.20.0 to <0.21.0 (#2509)
  • Update pillow requirement from <9.3.0 to <9.4.0 (#2515)
  • Update pytest requirement from <7.1.4 to <7.2.1 (#2508)
  • Update matplotlib requirement from <3.6.2 to <3.6.3 (#2525)
  • Update pandas requirement from <1.5.2 to <1.5.3 (#2548)
  • Update torch requirement from >=1.8.0,<1.13.0 to >=1.8.0,<1.14.0
  • Update torch requirement from >=1.8.0,<1.13.0 to >=1.8.0,<1.14.0 (#2553)
  • Update pytest-xdist requirement from <3.1.0 to <3.2.0 (#2554)
  • Use upper and lower bound for fastkde (#2561)
  • Update pillow requirement from <9.4.0 to <9.5.0 (#2565)
  • Bump fastkde from 1.0.19 to 1.0.20 (#2559)
  • Update networkx requirement from <2.9 to <3.1 (#2570)
  • Update toposort requirement from <1.8 to <1.9 (#2573)
  • Update toposort requirement from <1.9 to <1.10 (#2575)
  • Update matplotlib requirement from...
Read more

v0.12.1.0

18 Aug 05:34
86c70a9
Compare
Choose a tag to compare

[0.12.1.0] - 2022-08-17

Testing

  • Use np.where instead of opencoding it using map
  • Refactor for better code reuse

Functions/UDF

  • Use 'dir(builtins)' instead of 'builtins'

Llvm

  • Switch compiled 'evaluate' to use composition simulation input (#2466)

Llvm/OptimizationControlMechanism

  • Move construction of simulation input out of "evaluate" function

Llvm/cuda/execution

  • Use bytes instead of bytearray for RO access to ctype structures

Llvm/execution

  • Fix typo "variale" -> "variable"
  • Use 'evaluate' function params when constructing simulation input (#2467)

Llvm/helpers

  • Reuse type of index variable

Requirements

  • Update matplotlib requirement from <3.5.3 to <3.5.4 (#2463)

v0.12.0.1

06 Aug 03:06
dbdba04
Compare
Choose a tag to compare

[0.12.0.1] - 2022-08-05

Github-actions/install-pnl

  • Move upgrade of pip+wheel to its own step (#2461)

Requirements

  • Update modelspec requirement from <0.2.6 to <0.2.7 (#2458)

Treewide

  • Add missing whitespace after keyword (#2460)

v0.12.0.0

28 Jul 04:04
d1c854d
Compare
Choose a tag to compare

[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

Release v0.11.0.0

02 Apr 00:11
7072684
Compare
Choose a tag to compare

What's Changed

  • requirements: update grpcio requirement from <1.35.0 to <1.41.0 by @dependabot in #2115
  • requirements: update grpcio-tools requirement from <1.35.0 to <1.41.0 by @dependabot in #2116
  • requirements: update rich requirement from <10.10,>=10.1 to >=10.1,<10.11 by @dependabot in #2123
  • requirements: update pytest-xdist requirement from <2.4.0 to <2.5.0 by @dependabot in #2124
  • tests/models/Predator-Prey: Use attractor/repeller forces to select the next move by @jvesely in #2121
  • github-actions(deps): bump actions/github-script from 4.1 to 5 by @dependabot in #2125
  • requirements: update toposort requirement from <1.7 to <1.8 by @dependabot in #2129
  • treewide: codestyle fixes by @jvesely in #2131
  • requirements: update rich requirement from <10.11,>=10.1 to >=10.1,<10.12 by @dependabot in #2126
  • Reset random state on seed change by @jvesely in #2130
  • Use IntFlag for cost functions by @jvesely in #2133
  • Parameters: exclude more types from copying by @kmantel in #2134
  • requirements: update pytest-cov requirement from <2.12.2 to <3.0.1 by @dependabot in #2135
  • UDF improvements by @kmantel in #2132
  • llvm: Add missing functionality to OCM by @jvesely in #2137
  • llvm: Add helper function to retrieve and optionally reseed random state by @jvesely in #2138
  • github-actions: Restrict main CI run to macos-10.15 by @jvesely in #2139
  • functions: _is_identity: add option for defaults by @kmantel in #2136
  • llvm, mechanism: Use Parameter class to build a list of needed parameter ports by @jvesely in #2140
  • requirements: update rich requirement from <10.12,>=10.1 to >=10.1,<10.13 by @dependabot in #2141
  • SharedParameter: improve source detection by @kmantel in #2142
  • requirements: update grpcio requirement from <1.41.0 to <1.42.0 by @dependabot in #2127
  • requirements: update grpcio-tools requirement from <1.41.0 to <1.42.0 by @dependabot in #2128
  • SharedParameter: direct get_previous, get_delta to source Parameter by @kmantel in #2143
  • llvm, ports/ControlSignal: Always call 'combine_costs' when calculating costs by @jvesely in #2146
  • LCAMechanism: allow user-input integrator_function by @kmantel in #2148
  • requirements: update sphinx requirement from <4.1.3 to <4.2.1 by @dependabot in #2120
  • github-actions(deps): bump actions/checkout from 2.3.4 to 2.3.5 by @dependabot in #2149
  • requirements: update pillow requirement from <8.4.0 to <8.5.0 by @dependabot in #2150
  • requirements: update elfi requirement from <0.8.1 to <0.8.3 by @dependabot in #2147
  • github-actions: Bump python-3.{8,9} to macos-latest. by @jvesely in #2151
  • requirements: update graph-scheduler requirement from <=1.0.0rc2 to <1.0.1 by @kmantel in #2153
  • requirements: update numpy requirement from <1.21.3 to <1.21.4 by @dependabot in #2152
  • functions/TransferWithCosts: Change default cost options to CostFunctions.NONE by @jvesely in #2156
  • github-actions: Drop maxprocesses settings by @jvesely in #2158
  • github-actions: Add code coverage job by @jvesely in #2159
  • github-actions: Do not check for GITHUB_TOKEN env var when uploading coveralls result by @jvesely in #2163
  • github-actions: Allow RW permissions for jobs updating the online docs by @jvesely in #2160
  • Component: add all_dependent_parameters by @kmantel in #2162
  • github-actions(deps): bump actions/checkout from 2.3.5 to 2.4.0 by @dependabot in #2165
  • Refactor/pec by @jdcpni in #2166
  • github-actions/install-pnl: Support persistent runners by @jvesely in #2167
  • maint: remove freeze.txt by @kmantel in #2182
  • github-actions/release: Consolidate by @jvesely in #2185
  • Refactor/controlmech and ocm by @jdcpni in #2186
  • Docs/comp ctlmech ocm pec by @jdcpni in #2187
  • llvm: Initialize builder context and jit engines on demand by @jvesely in #2188
  • github-actions/pnl-ci-docs: Force creation of temporary version tag by @jvesely in #2192
  • llvm: Add support for Philox PRNG by @jvesely in #2194
  • tests/ddm: Disable Bogacz test with Philox prng by @jvesely in #2195
  • github-actions/comment: Add PR write permission and use github.rest.* for rest API by @jvesely in #2196
  • llvm: Check for correct use of get_{param,state}_ptr helpers by @jvesely in #2198
  • tests/models/predator-prey: Restore checks of results by @jvesely in #2202
  • llvm, ports/ControlSignal: Add support for CostFunctions.NONE by @jvesely in #2203
  • tests/predator-prey: Mark the 101 level test instance as 'stress' test by @jvesely in #2204
  • tests/llvm: Add Philox PRNG tests with different seeds by @jvesely in #2205
  • pnl-ci: build docs-only branches by @kmantel in #2206
  • requirements: update psyneulink-sphinx-theme requirement from <1.2.2.2 to <1.2.3.1 by @dependabot in #2201
  • GatingMechanism: properly set gating_allocation as value alias by @kmantel in #2191
  • ControlProjection: correct control_signal to SharedParameter by @kmantel in #2212
  • github-actions(deps): bump actions/setup-python from 2.2.2 to 2.3.0 by @dependabot in #2209
  • llvm: Cleanup execution of compiled functions by @jvesely in #2214
  • github-actions(deps): bump actions/cache from 2.1.6 to 2.1.7 by @dependabot in #2213
  • setup/coverage: Correct option name multiprocess -> multiprocessing by @jvesely in #2219
  • github-actions(deps): bump actions/setup-python from 2.3.0 to 2.3.1 by @dependabot in #2215
  • tests/show_graph: Strip whitespace before comparing expected dot output by @jvesely in #2220
  • requirements: update graphviz requirement from <0.18.0 to <0.20.0 by @dependabot in #2218
  • Refactor/ocm/state input ports by @jdcpni in #2221
  • Misc/ocm/docs and tests by @jdcpni in #2223
  • requirements: update grpcio-tools requirement from <1.42.0 to <1.43.0 by @dependabot in #2210
  • Docs/ocm/revs by @jdcpni in #2225
  • Docs/ocm/revs by @jdcpni in #2227
  • tests/report: cleanup by @jvesely in #2228
  • Feat/ocm/random params by @jdcpni in #2231
  • github-actions(deps): bump actions/upload-artifact from 2.2.4 to 2.3.0 by @dependabot in https://github....
Read more

Release v0.10.0.0

04 Jan 20:03
5efe4d9
Compare
Choose a tag to compare

New features and fixed bugs

Release v0.9.1.1

17 Sep 02:22
912f691
Compare
Choose a tag to compare

New features and fixed bugs