Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Devel #2354

Merged
merged 353 commits into from
Apr 1, 2022
Merged

Devel #2354

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
353 commits
Select commit Hold shift + click to select a range
8edacf6
llvm/struct generation: Make sure num_estimats per trial is always in…
jvesely Nov 11, 2021
1c59517
Merge branch 'fix/ocm/llvm_num_estimates' into refactor/optimizationf…
jdcpni Nov 11, 2021
c68e9d8
• builder_context.py:
jdcpni Nov 11, 2021
d256da3
Merge branch 'fix/ocm/llvm_num_estimates' into refactor/optimizationf…
jdcpni Nov 11, 2021
9d4b4c5
Merge branch 'devel' of https://github.com/PrincetonUniversity/PsyNeu…
davidt0x Nov 16, 2021
f61bb66
Merge branch 'refactor/optimizationfct/_function' of https://github.c…
davidt0x Nov 16, 2021
525e76f
Merge branch 'devel' of https://github.com/PrincetonUniversity/PsyNeu…
davidt0x Nov 23, 2021
1586db7
refactor Optimization._function int _evaluate
davidt0x Dec 2, 2021
436f5d9
Feat/comp/inputs (#2259)
jdcpni Dec 23, 2021
b383b90
Feat/comp/inputs (#2260)
jdcpni Dec 26, 2021
cb18e77
Fix/control/bugs (#2261)
jdcpni Dec 27, 2021
5d2089a
Tests/control/warnings (#2262)
jdcpni Dec 29, 2021
9da53b9
Fix/comp/proj warnings (#2264)
jdcpni Dec 30, 2021
ecaf289
requirements: update pytest-helpers-namespace requirement (#2263)
dependabot[bot] Dec 30, 2021
05fcc78
Fix/ocm/misc (#2267)
jdcpni Jan 1, 2022
9e88ae4
Feat/show graph/probe color (#2268)
jdcpni Jan 2, 2022
1fdb95d
Feat/control signal/add control arg (#2272)
jdcpni Jan 3, 2022
491fede
Refactor/keyword control to control (#2273)
jdcpni Jan 3, 2022
1470df4
llvm, functions/UDF: Add checks that we're not trying to compile clos…
jvesely Jan 5, 2022
a1af6f2
llvm, functions/UDF: Fix basic block name for UDF body
jvesely Jan 5, 2022
ab0e3c7
Refactor/control specs (#2276)
jdcpni Jan 5, 2022
688f1ce
requirements: update pillow requirement from <8.5.0 to <9.1.0 (#2274)
dependabot[bot] Jan 5, 2022
b7d2db5
Merge branch 'master' into HEAD
kmantel Jan 6, 2022
da4ecb7
Fix/comp/build predicted input dicts (#2277)
jdcpni Jan 6, 2022
544c1ec
requirements: update sphinx-autodoc-typehints requirement (#2278)
dependabot[bot] Jan 8, 2022
21e685c
Fix/show graph/cim (#2280)
jdcpni Jan 8, 2022
6765320
Feat/ocm/state and state dict (#2281)
jdcpni Jan 10, 2022
b856109
llvm, functions/UDF: Search the source file to find the function defi…
jvesely Jan 5, 2022
59a7c47
requirements: update sphinx-autodoc-typehints requirement (#2283)
dependabot[bot] Jan 11, 2022
e97593d
llvm, functions/UDF: Move Function setup code to UDF visitor
jvesely Jan 11, 2022
1f3295e
llvm, functions/UDF: Add support for compiling lambda functions
jvesely Jan 11, 2022
75c6903
tests/ProcessingMechanism: Test compiled MAX_VAL output_port
jvesely Jan 11, 2022
267d2df
Merge remote-tracking branch 'origin/devel' into devel
jvesely Jan 11, 2022
eb4a762
llvm/debug: Rename IR dump option 'opt' -> 'llvm-opt'
jvesely Jan 11, 2022
2409dbc
LLVM: Add support for compiling lambda functions used in UDF (#2284)
jvesely Jan 11, 2022
f7efbe5
OCM: improve simulation context setup (#2279)
kmantel Jan 11, 2022
fbb8d1c
llvm, functions/OneHot: MAX_ABS_VAL should return absolute value of t…
jvesely Jan 12, 2022
47dc293
OCM: cleanup fix to e41f205316 (#2286)
kmantel Jan 13, 2022
02f7007
requirements: update llvmlite requirement from <0.38 to <0.39 (#2288)
dependabot[bot] Jan 15, 2022
8a9fe9d
utilities: is_value_spec: exclude lists with functions
kmantel Dec 16, 2021
815fa68
functions: noise properties based on numeric or function
kmantel Dec 15, 2021
a64bbc5
Merge pull request #2258 from kmantel/noise
kmantel Jan 15, 2022
1f5a70d
Feat/ocm/state feat dict (#2291)
jdcpni Jan 15, 2022
c91a359
Feat/ocm/state features (#2292)
jdcpni Jan 16, 2022
1bc3eca
llvm, ports: Rename state_f -> port_f.
jvesely Jan 15, 2022
9f7e4e8
llvm/codegen/UDF: Add human readable name for stack slots for local v…
jvesely Jan 22, 2022
40b1f98
llvm/builder_context: Drop special handling of NUM_ESTIMATES parameter
jvesely Jan 23, 2022
ccfce23
llvm/codegen: Add extra checks when selecting PRNG functions
jvesely Jan 23, 2022
027f796
llvm, functions/UDF: Fix code generation for Python pow operator
jvesely Jan 23, 2022
21246ba
llvm: Cleanup and fix pow builtin (#2295)
jvesely Jan 24, 2022
537d03e
llvm, component: Do not include 'allocation_samples' param in compile…
jvesely Jan 22, 2022
97d07ff
llvm, component: Block num_executions from all components other than …
jvesely Jan 23, 2022
a271d90
llvm, component: Do not include 'control_allocation_search_space' par…
jvesely Jan 24, 2022
c58ad06
llvm, functions/AccumulatorIntegrator: Add compilation support (#2294)
kmantel Jan 25, 2022
547d652
github-actions/install-pnl: Update Ubuntu package database before ins…
jvesely Jan 26, 2022
12638f1
Merge remote-tracking branch 'origin/devel' into devel
jvesely Jan 26, 2022
c26033f
llvm: Drop redundant parameters from compiled structures (#2296)
jvesely Jan 26, 2022
b207320
requirements: update sphinx-autodoc-typehints requirement (#2298)
dependabot[bot] Jan 26, 2022
c8f5f89
Feat/ocm/state features (#2299)
jdcpni Jan 27, 2022
3458e64
requirements: update matplotlib requirement from <3.4.4 to <3.5.2 (#2…
dependabot[bot] Jan 28, 2022
3a8bf9d
Feat/ocm/state features (#2301)
jdcpni Jan 31, 2022
1b23904
Feat/ocm/state features (#2302)
jdcpni Feb 3, 2022
a8927fa
Test/ocm/state feat fct dict (#2303)
jdcpni Feb 4, 2022
075a718
TransferMechanism: fix integration_rate validation (#2304)
kmantel Feb 4, 2022
6422165
tests/llvm: Add more explicit test cases to isclose test
jvesely Feb 6, 2022
d9254b3
llvm/helpers: all_close should compare elements across both input arrays
jvesely Feb 6, 2022
cdae034
llvm/helpers: all_close should compare elements from both input array…
jvesely Feb 6, 2022
e790580
github-actions(deps): bump actions/setup-python from 2.3.1 to 2.3.2 (…
dependabot[bot] Feb 6, 2022
8578bd1
requirements: update pytest requirement from <6.2.6 to <7.0.1 (#2307)
dependabot[bot] Feb 6, 2022
05ab651
Fix/comp and mech/input variable (#2310)
jdcpni Feb 7, 2022
283ae69
llvm/{mechanism,port}: Do not create local copy of parameters if ther…
jvesely Feb 4, 2022
cbb51bb
llvm: Add human readable names to most alloca ops for mechanism and c…
jvesely Feb 4, 2022
a278089
llvm/cuda: Drop 'evaluate' specific codepaths in kernel wrapper
jvesely Feb 4, 2022
bee9e59
llvm: Add a memcopy helper and use it to copy large structures
jvesely Feb 5, 2022
16a1c42
llvm/cuda: Add option to upload arguments to shared memory
jvesely Jan 26, 2022
9616932
llvm/cuda: Automatically calculate the 'best' block size
jvesely Feb 4, 2022
1ae98af
llvm/cuda: Drop 'cuda_data' debug switch
jvesely Feb 7, 2022
f465fe9
llvm/{cuda,}: Reduce and optimize data copies in model execution (#2311)
jvesely Feb 7, 2022
ba622dd
llvm/debug: Rename IR/asm code dumping option
jvesely Feb 7, 2022
630ac7b
llvm/debug: Document 'cuda_no_shared' option
jvesely Feb 7, 2022
39c7e0a
llvm/debug: Remove 'alloca_data' debug option.
jvesely Feb 7, 2022
e5f9dc7
setup: Check code coverage of blocks guarded by most debug options
jvesely Feb 7, 2022
cde9986
llvm/debug: Cleanup debug options (#2312)
jvesely Feb 8, 2022
7332ab5
llvm/jit_engine: Fix typo in debug option check (#2313)
jvesely Feb 8, 2022
82d43be
Feat/comp/get input format (#2315)
jdcpni Feb 10, 2022
c84a66a
Fix/misc/jdc (#2316)
jdcpni Feb 11, 2022
b1a9e6e
llvm, tests: Add test modulating DDM mechanism PRNG seed.
jvesely Feb 8, 2022
324d250
tests/mechanism: Update overlooked old way of selecting mech executio…
jvesely Feb 11, 2022
f8afc16
tests/mechanism: Add compiled mode testing to integration_rate_0_8_li…
jvesely Feb 11, 2022
6cfb5c9
tests/mechanism: Switch test_with_contentaddressablememory to the new…
jvesely Feb 13, 2022
2aa2607
tests/llvm: Use 'def' instead named lambda
jvesely Feb 13, 2022
63316db
tests/llvm/builtins: Use '1.0' instead of '1' to get reciprocal
jvesely Feb 13, 2022
ef7df0d
requirements: update pytest requirement from <7.0.1 to <7.0.2 (#2318)
dependabot[bot] Feb 13, 2022
801f40c
requirements: update sphinx-autodoc-typehints requirement (#2319)
dependabot[bot] Feb 13, 2022
96ca0a6
Merge remote-tracking branch 'origin/devel' into devel
jvesely Feb 13, 2022
779d3c1
tests: small cleanup (#2320)
jvesely Feb 13, 2022
252f12a
Merge branch 'devel' of https://github.com/PrincetonUniversity/PsyNeu…
davidt0x Feb 15, 2022
78f4d19
Merge branch 'devel' of https://github.com/PrincetonUniversity/PsyNeu…
davidt0x Feb 15, 2022
9cc7c34
llvm/component: Drop more unused parameters from compiled structures
jvesely Feb 15, 2022
74ffad9
llvm, port: Do not create copy of port parameters for OVERRIDE modula…
jvesely Feb 15, 2022
71290c2
llvm: Reduce the amount of data copied due to parameter modulation (#…
jvesely Feb 15, 2022
dbe6a4c
Component: use shared_type copying for parameter spec (#2322)
kmantel Feb 15, 2022
a58b1e5
Refactor/ocm/state features param (#2323)
jdcpni Feb 16, 2022
d7f68ad
requirements: update elfi requirement from <0.8.3 to <0.8.4 (#2325)
dependabot[bot] Feb 18, 2022
4b5818f
Refactor/ports/restrict projections (#2327)
jdcpni Feb 18, 2022
906153d
llvm, component: codestyle
jvesely Feb 20, 2022
e0d2cf5
llvm, component: Drop 'has_initializers' from components other than m…
jvesely Feb 20, 2022
8f3770d
llvm, mechanism: Do not copy base parameter values if all will be ove…
jvesely Feb 21, 2022
a730a29
llvm, mechanism: Use base parameter structure to create all modulated…
jvesely Feb 13, 2022
31c15ce
llvm/cuda: Optimize memory copies in memory execution (#2328)
jvesely Feb 21, 2022
7b4abd2
Fix/ocm/state features for nested comps (#2329)
jdcpni Feb 22, 2022
038422f
github-actions(deps): bump actions/setup-python from 2.3.2 to 3 (#2330)
dependabot[bot] Mar 2, 2022
14650e1
github-actions(deps): bump actions/checkout from 2.4.0 to 3 (#2331)
dependabot[bot] Mar 2, 2022
ece6d69
requirements: update networkx requirement from <2.6 to <2.8 (#2332)
dependabot[bot] Mar 3, 2022
10e32de
github-actions(deps): bump actions/upload-artifact from 2.3.1 to 3 (#…
dependabot[bot] Mar 4, 2022
264e02e
conditions: implement Threshold
kmantel Nov 19, 2021
b6b82df
Threshold: implement tolerances
kmantel Jan 26, 2022
7639454
tests, models: replace custom threshold conditions with Threshold
kmantel Feb 2, 2022
c7c172b
Merge pull request #2305 from kmantel/threshold
kmantel Mar 8, 2022
39adfb1
llvm/builder_context: Rename types int_ty -> copy_ty
jvesely Feb 27, 2022
689ea54
llvm/codegen: Add and clarify assertions
jvesely Mar 8, 2022
936e0fc
fix aggregation function
davidt0x Mar 8, 2022
0b167af
Merge branch 'devel' of https://github.com/PrincetonUniversity/PsyNeu…
davidt0x Mar 8, 2022
657cb78
fix GradientOptimization._function
davidt0x Mar 8, 2022
19e9388
Merge pull request #1920 from PrincetonUniversity/fit
davidt0x Mar 8, 2022
6286022
llvm, mechanism: Clarify comment
jvesely Mar 9, 2022
1575389
llvm, mechanism: Check "easier" parsing specifications earlier.
jvesely Mar 9, 2022
1a1c3fe
llvm, mechanism: Consolidate construction of port inputs in one place
jvesely Mar 9, 2022
adfec8a
llvm, port: Simplify check of port input shapes
jvesely Mar 9, 2022
7a8ddfe
llvm, port: Do not create unnecessary copies of port inputs
jvesely Mar 9, 2022
7273b9d
llvm, mechanism/OCM: Reuse existing port parsing method
jvesely Mar 9, 2022
adaaa4d
llvm, functions/GaussianDistort: Add name to allocated output location
jvesely Mar 9, 2022
32ac827
tests: Add basic tests for different parameter port modulation options
jvesely Mar 10, 2022
1c402d4
tests: Add basic tests for different input port modulation options
jvesely Mar 10, 2022
1d5e71d
tests: Add basic tests for different input port modulation options
jvesely Mar 10, 2022
9a4859c
Merge remote-tracking branch 'origin/devel' into devel
jvesely Mar 10, 2022
d6412e1
llvm, mechanism: Eliminate redundant copies of port input data (#2336)
jvesely Mar 10, 2022
1e390ab
llvm/cuda: Enable function inlining in CUDA compilation path (#2338)
jvesely Mar 11, 2022
84256d2
llvm, component: Restrict execution counts to mechanisms
jvesely Mar 12, 2022
ade329e
llvm, component: Drop unused parameters from compiled structure
jvesely Mar 12, 2022
7b93c36
llvm: Remove unused parameters from compiled structures (#2339)
jvesely Mar 14, 2022
cae6697
requirements: update pytest requirement from <7.0.2 to <7.1.1 (#2341)
dependabot[bot] Mar 15, 2022
3c84499
requirements: update pytest-pydocstyle requirement (#2342)
dependabot[bot] Mar 15, 2022
2cd6de2
requirements: update pytest-pycodestyle requirement (#2340)
dependabot[bot] Mar 15, 2022
0210bfe
llvm: Implement printf helper on windows (#2346)
jvesely Mar 16, 2022
ef07e57
Refactor/ocm/state features all as input ports (#2345)
jdcpni Mar 17, 2022
75bd50e
OCM: fix dummy state_feature_function dict
kmantel Mar 17, 2022
cd6f754
tests: uncomment disabled json tests
kmantel Jan 8, 2022
9542b8f
Merge pull request #2347 from kmantel/devel
kmantel Mar 17, 2022
ec047ad
requirements: update pytest requirement from <7.1.1 to <7.1.2 (#2348)
dependabot[bot] Mar 18, 2022
8e5d581
Refactor/ocm/state features all as input ports (#2350)
jdcpni Mar 18, 2022
14381f2
ControlMechanism: label monitor_for_control as structural
kmantel Sep 21, 2021
62aa896
JSON: fix handling string as Condition argument
kmantel May 8, 2021
5307ac3
JSON: fix nested conditions
kmantel Sep 15, 2021
f955690
JSON: update to dict format of MDF replacing list
kmantel May 6, 2021
ed0b439
JSON: add generate_json method
kmantel May 11, 2021
ed4ecf2
JSON: handle MDF model metadata
kmantel May 12, 2021
384ca2d
JSON: handle optional names, conditions
kmantel May 12, 2021
790c6b1
JSON: improve detection of external modules
kmantel Jun 11, 2021
7c75c20
JSON: support python math functions as UserDefinedFunction
kmantel May 12, 2021
658cf33
JSON: support MDF library functions as UserDefinedFunction
kmantel Jun 11, 2021
c35fb58
JSON: handle name as optional field of parameter functions
kmantel May 12, 2021
75d844e
JSON: workaround inconsistent MDF type name (function: 'function')
kmantel May 12, 2021
df71885
JSON: fix unintentional module import for component identifier
kmantel May 13, 2021
47ef7a2
JSON: workaround for function specified as node
kmantel May 13, 2021
f08a135
JSON: support referencing parameters of a node in its function
kmantel May 14, 2021
ddab10a
JSON: remove UDF variable0 argument (assume corresponds to input)
kmantel May 14, 2021
322752f
JSON: handle input_port shape as fallback for node variable
kmantel May 15, 2021
86aa757
JSON: split parameters into regular and stateful
kmantel Jun 11, 2021
e54d6af
JSON: handle dump of np.number explcitly
kmantel Nov 3, 2021
b03eeb1
JSON: fallback dump to str if no default handler
kmantel Nov 3, 2021
06bf9aa
JSON: handle dump/import of pint units/quantities
kmantel Jun 12, 2021
3f662b4
JSON: generate_script_from_json: add outfile argument to write to file
kmantel Jul 8, 2021
67f96b7
JSON: make edges optional
kmantel Jul 8, 2021
10034a7
JSON: parse initial value from stateful_parameters
kmantel Jul 8, 2021
7e0eb3b
JSON: support determining primary function from output_ports entry
kmantel Jul 9, 2021
10ca35b
JSON: UDF: export only name if part of known external module
kmantel Jul 23, 2021
5be4b6d
JSON: Composition: improve projection filtering
kmantel Jul 29, 2021
e706947
JSON: accept full module string as type
kmantel Aug 3, 2021
646f576
JSON: Condition: fix check for base Condition
kmantel Aug 3, 2021
68ea74c
JSON: Condition: update to named args format
kmantel Aug 4, 2021
56200a7
JSON: make more parameters pnl_internal/excluded
kmantel Aug 5, 2021
290e38c
JSON: fix extra parameters in UDF init
kmantel Aug 5, 2021
99eeb15
JSON: pass string expression as component_type
kmantel Aug 10, 2021
2a61bb7
JSON: support UDF stateful parameter
kmantel Aug 10, 2021
b614c4a
JSON: pass stateful parameters to node functions
kmantel Aug 10, 2021
82275a7
LinearMatrix: add mdf equivalent names
kmantel Sep 3, 2021
2659590
JSON: Composition: support excluded_node_roles
kmantel Sep 4, 2021
3c8c4be
tests/json: fix failures due to results shape mismatch
kmantel Sep 25, 2021
1b24a49
tests/json: remove extra code in model_with_control
kmantel Mar 17, 2022
65967d9
ci: increase fetch depth and tags
kmantel Mar 15, 2022
c0a67c5
JSON: use MDF classes for import/export
kmantel Oct 26, 2021
7a30e23
JSON: make projections/edges as dummy nodes with functions
kmantel Sep 1, 2021
8e5017d
JSON: get rid of dummy nodes when importing to psyneulink
kmantel Sep 9, 2021
7bb39be
JSON: don't crash PNL if modeci_mdf not available
kmantel Oct 26, 2021
2c59c40
tests: add JSON model with non-identity matrix
kmantel Sep 10, 2021
52b53a3
JSON: fix using pnl-specific names for graph conditions
kmantel Sep 10, 2021
c4cb169
JSON: skip simplifying edges for identity projections
kmantel Sep 15, 2021
27e54cd
JSON: throw warning for incompatible function names
kmantel Sep 17, 2021
4348b05
JSON: handle multiple incoming projections to a port
kmantel Sep 25, 2021
c2d5fd4
JSON: support integrator functions as expressions
kmantel Oct 5, 2021
bfeb831
JSON: TransferMechanism: support noise
kmantel Oct 7, 2021
dc773a0
JSON: remove _dict_summary (replaced by mdf methods)
kmantel Feb 26, 2022
44d875e
JSON: add generate_script_from_mdf function
kmantel Feb 26, 2022
ff96f91
JSON: support Threshold in MDF
kmantel Mar 5, 2022
9137bd3
JSON: rebrand documentation to MDF
kmantel Feb 26, 2022
b839f46
docs: JSON: update stroop mdf example
kmantel Mar 10, 2022
af6969b
JSON: support MDF v0.3.2, v0.3.3
kmantel Jan 11, 2022
404030e
Merge pull request #2154 from PrincetonUniversity/mdf
kmantel Mar 19, 2022
8fa3011
Refactor/ocm/state features all as input ports (#2351)
jdcpni Mar 20, 2022
b582287
Refactor/ocm/state features all as input ports (#2352)
jdcpni Mar 21, 2022
4f0f652
requirements: update graph-scheduler requirement (#2343)
dependabot[bot] Mar 22, 2022
6397513
github-actions(deps): bump actions/cache from 2.1.7 to 3 (#2353)
dependabot[bot] Mar 22, 2022
7a406ca
Refactor/ocm/state features all as input ports (#2355)
jdcpni Mar 23, 2022
f8130b4
Refactor/ocm/state features all as input ports (#2356)
jdcpni Mar 23, 2022
138a291
Refactor/ocm/state features all as input ports (#2359)
jdcpni Mar 25, 2022
86207c0
llvm, functions/LinearCombination,Reduce: Add human readable names to…
jvesely Mar 13, 2022
439f245
llvm, mechanism: Update execution counter for all TimeScale values
jvesely Mar 13, 2022
074903a
llvm, mechanism: Refactor parsing of output port specification
jvesely Mar 27, 2022
7612cb7
tests/OutputPort: Split output port composition testing into parametr…
jvesely Mar 27, 2022
b7e7181
test/OutputPort: Use multiple passes and trials in the test
jvesely Mar 27, 2022
c79f7bb
Refactor/ocm/state features all as input ports (#2360)
jdcpni Mar 27, 2022
69d09a8
Refactor/composition/ validate input keys (#2361)
jdcpni Mar 28, 2022
c623b6f
OutputPort: Add support for Time parameters in output port variable spec
jvesely Mar 28, 2022
258f7bb
llvm, mechanism: Add support for "num_executions" output port specifi…
jvesely Mar 27, 2022
727cb00
llvm, composition/run: Move TimeScale.RUN count zeroying out of the r…
jvesely Mar 27, 2022
b7f34b8
component: Update TimeScale.LIFE counter on execution
jvesely Mar 27, 2022
b605825
llvm, composition/execute: Only zero TIME_STEP counters for nodes tha…
jvesely Mar 27, 2022
e534a5b
llvm, mechanism: Update output ports after updating mech state
jvesely Mar 27, 2022
2313d4f
tests/scheduling/Threshold: Use fixture 'comp_mode_no_llvm' instead o…
jvesely Mar 27, 2022
a9a33be
llvm, mechanism: Redirect 'execution_count' -> 'num_executions'[TimeS…
jvesely Mar 27, 2022
2810959
Merge remote-tracking branch 'origin/devel' into devel
jvesely Mar 28, 2022
d27dc89
component/OutputPort: Add support for using 'num_executions' in outpu…
jvesely Mar 28, 2022
8f61c34
Projection, ConnectionInfo: allow deactivation/removal of composition
kmantel Mar 24, 2022
0f39242
Projection: add is_active_in_composition method
kmantel Mar 24, 2022
933daee
Composition: remove_projection: deactivate projection for self
kmantel Mar 25, 2022
448c35b
Scheduler: store original (not autogenerated) conditions
kmantel Mar 26, 2022
2c09f15
Composition: reconstruct scheduler with original conditions
kmantel Mar 26, 2022
06d4b08
Composition: fix node removal
kmantel Mar 23, 2022
7dd6a50
Composition: remove_projection: disable learning pathway if applicable
kmantel Mar 26, 2022
3d76263
Merge pull request #2364 from kmantel/removenode
kmantel Mar 29, 2022
739a8aa
requirements: restrict modelspec to working (#2366)
kmantel Mar 30, 2022
7afa437
Test/compositon/ validate input dict keys (#2365)
jdcpni Mar 30, 2022
9fd9470
llvm, functions/DDI: Add human readable name to alloca instruction
jvesely Mar 30, 2022
1be564c
llvm: Drop 'competition' parameter from compiled structure
jvesely Mar 30, 2022
dad3c3a
llvm: Drop 'smoothing_factor' parameter from compiled structure
jvesely Mar 30, 2022
26736b8
llvm/builtins: Convert array indexing to conditional select
jvesely Mar 30, 2022
a2a267b
llvm, mechanisms/OCM: Use more descriptive variables names
jvesely Mar 30, 2022
41ac3a0
llvm: More descriptive variable names less stack (#2367)
jvesely Mar 30, 2022
98f353b
Refactor/ocm/state features all as input ports (#2369)
jdcpni Apr 1, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/actions/install-pnl/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ runs:
run: |
case "$RUNNER_OS" in
macOS*) brew install graphviz ;;
Linux*) sudo apt-get install -y graphviz ;;
Linux*) sudo apt-get update && sudo apt-get install -y --no-install-recommends graphviz ;;
Windows*) choco install --no-progress -y graphviz --version=2.38.0.20190211 ;;
*) echo "Unsupported OS"; exit 1 ;;
esac
Expand All @@ -42,6 +42,7 @@ runs:
run: |
if [ $(python -c 'import struct; print(struct.calcsize("P") * 8)') == 32 ]; then
sed -i /torch/d requirements.txt
sed -i /modeci_mdf/d requirements.txt
# pywinpty is a transitive dependency and v1.0+ removed support for x86 wheels
# terminado >= 0.10.0 pulls in pywinpty >= 1.1.0
[[ ${{ runner.os }} = Windows* ]] && pip install "pywinpty<1" "terminado<0.10"
Expand Down
22 changes: 13 additions & 9 deletions .github/workflows/pnl-ci-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,20 +39,24 @@ jobs:
on_master: ${{ steps.on_master.outputs.on-branch }}

steps:
# increased fetch-depth and tag checkout needed as in pnl-ci.yml
- name: Checkout sources
uses: actions/checkout@v2.4.0
uses: actions/checkout@v3
if: ${{ matrix.pnl-version == 'head' }}
with:
fetch-depth: 10
fetch-depth: 200
ref: ${{ github.ref }}

- name: Checkout pull base
uses: actions/checkout@v2.4.0
uses: actions/checkout@v3
if: ${{ matrix.pnl-version == 'base' }}
with:
fetch-depth: 10
fetch-depth: 200
ref: ${{ github.base_ref }}

- name: Checkout tags
run: git fetch --tags origin master

- name: Check if on master
if: ${{ github.event_name == 'push' }}
id: on_master
Expand All @@ -61,7 +65,7 @@ jobs:
branch: master

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2.3.1
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.python-architecture }}
Expand All @@ -75,7 +79,7 @@ jobs:
echo ::set-output name=pip_cache_dir::$(python -m pip cache dir)

- name: Wheels cache
uses: actions/cache@v2.1.7
uses: actions/cache@v3
with:
path: ${{ steps.pip_cache.outputs.pip_cache_dir }}/wheels
key: ${{ runner.os }}-python-${{ matrix.python-version }}-${{ matrix.python-architecture }}-pip-wheels-v2-${{ github.sha }}
Expand Down Expand Up @@ -103,7 +107,7 @@ jobs:
run: git tag -d 'v999.999.999.999'

- name: Upload Documentation
uses: actions/upload-artifact@v2.3.1
uses: actions/upload-artifact@v3
with:
name: Documentation-${{matrix.pnl-version}}-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.python-architecture }}
retention-days: 1
Expand All @@ -115,7 +119,7 @@ jobs:

- name: Upload PR number for other workflows
if: ${{ github.event_name == 'pull_request' }}
uses: actions/upload-artifact@v2.3.1
uses: actions/upload-artifact@v3
with:
name: pr_number
path: ./pr_number.txt
Expand All @@ -142,7 +146,7 @@ jobs:

steps:
- name: Checkout docs
uses: actions/checkout@v2.4.0
uses: actions/checkout@v3
with:
ref: gh-pages

Expand Down
20 changes: 14 additions & 6 deletions .github/workflows/pnl-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,21 @@ jobs:
os: macos-latest

steps:
# increased fetch-depth and tag checkout needed to get correct
# version string from versioneer (must have history to a prior tag);
# otherwise install fails due to circular dependency with modeci_mdf
- name: Checkout sources
uses: actions/checkout@v2.4.0
uses: actions/checkout@v3
with:
fetch-depth: 10
fetch-depth: 200

# fetch only master to avoid getting unneeded branches with
# characters invalid on windows
- name: Checkout tags
run: git fetch --tags origin master

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2.3.1
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.python-architecture }}
Expand All @@ -60,7 +68,7 @@ jobs:
echo ::set-output name=pip_cache_dir::$(python -m pip cache dir)

- name: Wheels cache
uses: actions/cache@v2.1.7
uses: actions/cache@v3
with:
path: ${{ steps.pip_cache.outputs.pip_cache_dir }}/wheels
key: ${{ runner.os }}-python-${{ matrix.python-version }}-${{ matrix.python-architecture }}-pip-wheels-v2-${{ github.sha }}
Expand All @@ -85,7 +93,7 @@ jobs:
run: pytest --junit-xml=tests_out.xml --verbosity=0 -n auto ${{ matrix.extra-args }}

- name: Upload test results
uses: actions/upload-artifact@v2.3.1
uses: actions/upload-artifact@v3
with:
name: test-results-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.python-architecture }}-${{ matrix.extra-args }}
path: tests_out.xml
Expand All @@ -111,7 +119,7 @@ jobs:
python setup.py sdist bdist_wheel

- name: Upload dist packages
uses: actions/upload-artifact@v2.3.1
uses: actions/upload-artifact@v3
with:
name: dist-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.python-architecture }}
path: dist/
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/test-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:
wheel: ${{ steps.create_dist.outputs.wheel }}
steps:
- name: Checkout sources
uses: actions/checkout@v2.4.0
uses: actions/checkout@v3

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2.3.1
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -38,7 +38,7 @@ jobs:
echo ::set-output name=wheel::$(ls *.whl)

- name: Upload Python dist files
uses: actions/upload-artifact@v2.3.1
uses: actions/upload-artifact@v3
with:
name: Python-dist-files
path: dist/
Expand Down Expand Up @@ -84,7 +84,7 @@ jobs:
path: dist/

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2.3.1
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}

Expand Down Expand Up @@ -113,7 +113,7 @@ jobs:
run: pip install dist/${{ needs.create-python-dist.outputs.sdist }}[dev]

- name: Get tests from the repository
uses: actions/checkout@v2.4.0
uses: actions/checkout@v3

- name: Run tests
shell: bash
Expand All @@ -126,7 +126,7 @@ jobs:
pytest --junit-xml=tests_out.xml --verbosity=0 -n auto tests

- name: Upload test results
uses: actions/upload-artifact@v2.3.1
uses: actions/upload-artifact@v3
with:
name: test-results-${{ matrix.os }}-${{ matrix.python-version }}
path: tests_out.xml
Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@

# Created by https://www.gitignore.io/api/osx,python,pycharm

# Ignore JSON files created in tests/json/
# Maybe these should be generated in tmpdir instead
tests/json/*.json

# Log files created by SLURM jobs in this directory
Scripts/Debug/predator_prey_opt/logs/

# Any plots generated from testing DDMs
Scripts/Debug/ddm/*.png

### OSX ###
*.DS_Store
.AppleDouble
Expand Down
4 changes: 4 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
.. image:: https://mybinder.org/badge.svg
:target: https://mybinder.org/v2/gh/PrincetonUniversity/PsyNeuLink/master

.. *****************************************************************************************
.. ****** NOTE: UPDATES TO THIS PAGE SHOULD ALSO BE MADE TO docs/source.index.rst *********
.. *****************************************************************************************


Welcome to PsyNeuLink
=====================
Expand Down
6 changes: 3 additions & 3 deletions Scripts/Debug/Jason_Reward_rate_with_penalty_with_inputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,8 @@ def get_stroop_model(unit_noise_std=.01, dec_noise_std=.1):
function=pnl.DriftDiffusionAnalytical(drift_rate=1,
threshold =1,
noise=1,
starting_point=0,
t0=0.35),
starting_value=0,
non_decision_time=0.35),
output_ports=[pnl.RESPONSE_TIME,
pnl.PROBABILITY_UPPER_THRESHOLD,
pnl.PROBABILITY_LOWER_THRESHOLD]
Expand Down Expand Up @@ -204,7 +204,7 @@ def get_stroop_model(unit_noise_std=.01, dec_noise_std=.1):
inp_task.input_port,
reward.input_port,
punish.input_port],
state_feature_functions=pnl.AdaptiveIntegrator(rate=0.1),
state_feature_function=pnl.AdaptiveIntegrator(rate=0.1),
objective_mechanism=objective_mech,
function=pnl.GridSearch(),
control_signals=[driftrate_control_signal,
Expand Down
2 changes: 1 addition & 1 deletion Scripts/Debug/Predator-Prey Sebastian REDUCED.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ def get_new_episode_flag():

ocm = OptimizationControlMechanism(name='EVC',
state_features=[trial_type_input_mech],
# state_feature_functions=FEATURE_FUNCTION,
# state_feature_function=FEATURE_FUNCTION,
agent_rep=RegressionCFA(
name='RegressionCFA',
update_weights=BayesGLM(mu_0=0.5, sigma_0=0.1),
Expand Down
2 changes: 1 addition & 1 deletion Scripts/Debug/Predator-Prey Sebastian.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ def get_action(variable=[[0,0],[0,0],[0,0]]):

ocm = OptimizationControlMechanism(name='EVC',
state_features=[trial_type_input_mech],
# state_feature_functions=FEATURE_FUNCTION,
# state_feature_function=FEATURE_FUNCTION,
agent_rep=RegressionCFA(
name='RegressionCFA',
update_weights=BayesGLM(mu_0=0.5, sigma_0=0.1),
Expand Down
6 changes: 3 additions & 3 deletions Scripts/Debug/StabilityFlexibility.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ def computeAccuracy(variable):
gain = np.asarray([[g]])

DRIFT = 1 # Drift Rate
STARTING_POINT = 0.0 # Starting Point
STARTING_VALUE = 0.0 # Starting Point
THRESHOLD = 0.0475 # Threshold
NOISE = 0.04 # Noise
T0 = 0.2 # T0
Expand Down Expand Up @@ -123,10 +123,10 @@ def computeAccuracy(variable):
ddmCombination.set_log_conditions([pnl.RESULT])

decisionMaker = pnl.DDM(function=pnl.DriftDiffusionAnalytical(drift_rate = DRIFT,
starting_point = STARTING_POINT,
starting_value = STARTING_VALUE,
threshold = THRESHOLD,
noise = NOISE,
t0 = T0),
non_decision_time = T0),
output_ports = [pnl.DECISION_VARIABLE, pnl.RESPONSE_TIME,
pnl.PROBABILITY_UPPER_THRESHOLD, pnl.PROBABILITY_LOWER_THRESHOLD],
name='DDM')
Expand Down
10 changes: 5 additions & 5 deletions Scripts/Debug/Umemoto_Feb.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@


# EVC params for Umemoto et al
t0 = 0.2
non_decision_time = 0.2
c = 0.19
thresh = 0.21
x_0 = 0 # starting point
Expand Down Expand Up @@ -59,8 +59,8 @@
# drift_rate=(0.1170),
threshold=(thresh),
noise=(c),
starting_point=(x_0),
t0=t0
starting_value=(x_0),
non_decision_time=non_decision_time
),name='Decision',
output_ports=[
pnl.DECISION_VARIABLE,
Expand All @@ -71,7 +71,7 @@
pnl.VARIABLE: (pnl.OWNER_VALUE, 2),
pnl.FUNCTION: pnl.Linear(0, slope=1.0, intercept=1)
}
],) #drift_rate=(1.0),threshold=(0.2645),noise=(0.5),starting_point=(0), t0=0.15
],) #drift_rate=(1.0),threshold=(0.2645),noise=(0.5),non_decision_time=(0), non_decision_time=0.15

Decision.set_log_conditions('InputPort-0')#, log_condition=pnl.PROCESSING)

Expand Down Expand Up @@ -120,7 +120,7 @@

Umemoto_comp.add_model_based_optimizer(optimizer=pnl.OptimizationControlMechanism(agent_rep=Umemoto_comp,
state_features=[Target_Stim.input_port, Distractor_Stim.input_port, Reward.input_port],
state_feature_functions=pnl.AdaptiveIntegrator(rate=1.0),
state_feature_function=pnl.AdaptiveIntegrator(rate=1.0),
objective_mechanism=pnl.ObjectiveMechanism(monitor_for_control=[Reward,
(Decision.output_ports[pnl.PROBABILITY_UPPER_THRESHOLD], 1, -1)],
),
Expand Down
10 changes: 5 additions & 5 deletions Scripts/Debug/Umemoto_Feb2.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@


# EVC params for Umemoto et al
t0 = 0.2
non_decision_time = 0.2
c = 0.19
thresh = 0.21
x_0 = 0 # starting point
Expand Down Expand Up @@ -61,8 +61,8 @@
# drift_rate=(0.1170),
threshold=(thresh),
noise=(c),
starting_point=(x_0),
t0=t0
starting_value=(x_0),
non_decision_time=non_decision_time
),name='Decision',
output_ports=[
pnl.DECISION_VARIABLE,
Expand All @@ -73,7 +73,7 @@
pnl.VARIABLE: (pnl.OWNER_VALUE, 2),
pnl.FUNCTION: pnl.Linear(0, slope=1.0, intercept=1)
}
],) #drift_rate=(1.0),threshold=(0.2645),noise=(0.5),starting_point=(0), t0=0.15
],) #drift_rate=(1.0),threshold=(0.2645),noise=(0.5),non_decision_time=(0), non_decision_time=0.15

Decision.set_log_conditions('InputPort-0')#, log_condition=pnl.PROCESSING)
Decision.set_log_conditions('PROBABILITY_UPPER_THRESHOLD')
Expand Down Expand Up @@ -132,7 +132,7 @@
state_features=[Target_Stim.input_port,
Distractor_Stim.input_port,
Reward.input_port],
state_feature_functions=pnl.AdaptiveIntegrator(rate=1.0),
state_feature_function=pnl.AdaptiveIntegrator(rate=1.0),
objective_mechanism=pnl.ObjectiveMechanism(
monitor_for_control=[Reward,
(Decision.output_ports[pnl.PROBABILITY_UPPER_THRESHOLD], 1, -1)],
Expand Down
Empty file added Scripts/Debug/ddm/__init__.py
Empty file.
Loading