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

Merge CMakeLists.txt #3272

Draft
wants to merge 876 commits into
base: master
Choose a base branch
from
Draft

Merge CMakeLists.txt #3272

wants to merge 876 commits into from

Conversation

1uc
Copy link
Collaborator

@1uc 1uc commented Dec 5, 2024

No description provided.

1uc and others added 30 commits April 18, 2024 11:06
In NRN we depend on the target `nmodl` to ensure that when we run `nrnivmodl -coreneuron` the binary `nmodl` exists. We need to also ensure that everything `nmodl` needs to works is present.

This fixes a dependency bug on certain copied files by making the target for copying the files a dependency of `nmodl`.

NMODL Repo SHA: BlueBrain/nmodl@b78c3f3
* Fix array variables.

These are the code generation changes required for:

    #2779

The solution is to fill `nrn_prop_param_size` with the number of
doubles, not number of variables.

NMODL Repo SHA: BlueBrain/nmodl@f6821ce
…dl#1244)

- If `-DNMODL_ENABLE_PYTHON_BINDINGS=OFF` then there is no need
  to generate AST and other wrapper classes for Pybind11.
- Using sympy-based solvers does not require Python bindings to
  be enabled. Avoid confusing warning when using nmodl binary.
- When someone tries to use the nmodl module via Python, the
  warning is still preserved.

```console
$ nmodl mod_examples/sparse.mod
[NMODL] [warning] :: Python bindings are not available with this installation
..

$ nmodl mod_examples/sparse.mod
$ python3.11 -c "import nmodl"
[NMODL] [warning] :: Python bindings are not available with this installation
```

NMODL Repo SHA: BlueBrain/nmodl@8eb88e4
- when neuron is built with nmodl then nmodl related files
  should be installed in <prefix>/ and not in <prefix>/nmodl/.data
- <prefix>/nmodl/.data is used when we build standalone wheels
- add one mod file using sparse solver - nmodl will automatically
  use sympy solver

NMODL Repo SHA: BlueBrain/nmodl@2fb037e
Instead of setting the conductance as:

  g = g + g0 * exp(-(t - t0)/tau)

we set it to
  g += g0

where `g0` is the argument passed to NET_RECEIVE, i.e. the weight.

This allows for an analytic solution, that can be tested.

NMODL Repo SHA: BlueBrain/nmodl@ada65df
Random collection of fixups to make hh.mod work.

---------

Co-authored-by: Luc Grosheintz <[email protected]>

NMODL Repo SHA: BlueBrain/nmodl@b451d39
The idea is to generate the references, but not check that there are no differences. Doing so allows us to push the changes automatically to `nmodl-references`.

NMODL Repo SHA: BlueBrain/nmodl@0e69948
This adds a test that consists of the following:

  1. Two sections.
  2. One current clamp at he beginning of the first section.
  3. A synapse connecting the ends of the sections.

We record the voltage at a few locations along the two sections and
assert (and optionally plot) that the values haven't changed a lot.

NMODL Repo SHA: BlueBrain/nmodl@8126294
Adds tests the demonstrates how the voltage `v` behaves when
passed to functions or procedures.

NMODL Repo SHA: BlueBrain/nmodl@49da686
* Assign default value in PARAMETER block.

A parameter can be assigned a value inside the PARAMETER block. If no
value is assigned the default is `0.0`.

This commit fixes a bug when no value was specified.

* Improve test for PARAMETER.

NMODL Repo SHA: BlueBrain/nmodl@322bbf0
Rename a small number of Python keywords appearing in
generated strings we forward to sympy.

* Don't use 'pi'.

NMODL Repo SHA: BlueBrain/nmodl@f28a335
The revised format only prints the first trace, before entering the
`CodePrinter`.

It also refactors the code to prepare for injecting a detailed blame
printer, when needed.

NMODL Repo SHA: BlueBrain/nmodl@24706b5
This code is shared between NEURON and CoreNEURON. Therefore, it's moved
the common base class.

NMODL Repo SHA: BlueBrain/nmodl@c0994d7
Add the code for printing `net_move` for NEURON+nmodl. Also adds a
usecase demonstrating the behaviour of `net_move`.

NMODL Repo SHA: BlueBrain/nmodl@c96434a
@bbpbuildbot

This comment has been minimized.

Copy link

✔️ f77dec4 -> Azure artifacts URL

@bbpbuildbot

This comment has been minimized.

@bbpbuildbot

This comment has been minimized.

Copy link

✔️ 981cefe -> Azure artifacts URL

@bbpbuildbot

This comment has been minimized.

Copy link

✔️ 97b3fa4 -> Azure artifacts URL

@bbpbuildbot

This comment has been minimized.

Copy link

✔️ e3c2012 -> Azure artifacts URL

@bbpbuildbot

This comment has been minimized.

Copy link

✔️ 3cab2ee -> Azure artifacts URL

@pramodk
Copy link
Member

pramodk commented Dec 17, 2024

@1uc (or @JCGoran): Just for clarity, I thought you mentioned this PR would be targeting #3265 branch i.e. pramodk/nmodl-merge and not master. Did I misremember?

@JCGoran
Copy link
Collaborator

JCGoran commented Dec 17, 2024

@pramodk I think @1uc changed the target to master at some point, but I don't remember why. You can change it back to pramodk/nmodl-merge if you want, I don't have a strong opinion on this since the CI needs additional fixes anyway.

@1uc
Copy link
Collaborator Author

1uc commented Dec 17, 2024

CI doesn't run if it's not against the main branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants