NEURON fingerprint + features-enabled API #2172
Replies: 6 comments
-
I can't find issue/pr but I remember @nrnhines mentioning some API also needed to check if coreneuron / coreneuron-gpu support is available at runtime. |
Beta Was this translation helpful? Give feedback.
-
You'd start with something like this: https://github.com/BlueBrain/nmodl/blob/master/cmake/GitRevision.cmake and add some info from CMakeCache.txt ? |
Beta Was this translation helpful? Give feedback.
-
Well a quick thought I had was to incorporate the status message we have at config time (and enrich it if possible/applicable with version/build info, some CMakeCache.txt as you mentioned). For the git revision we have something a bit complex at the moment, but maybe that can be updated. We need something extra for the API though, so more consideration required on how to implement this. |
Beta Was this translation helpful? Give feedback.
-
Perhaps not possible, but something I often desire is to know is the |
Beta Was this translation helpful? Give feedback.
-
We can probably leverage the cmake cache and extract those:
However, there are other factors (like compiler or python versions) that can play a hand in that regard. |
Beta Was this translation helpful? Give feedback.
-
Note that we now have a Python API for configuration-time settings: from neuron.config import arguments
arguments["NRN_ENABLE_CORENEURON"] # etc. |
Beta Was this translation helpful? Give feedback.
-
Overview of the feature
Would be handy to have (in addition to
nrnversion
for starters) a sort of fingerprint function that gives out full compilation info that we could enrich( i.e. Python version and build info) :fingerprint
)Something along the lines of:
We could also introduce a sort of API that would easily tell us if a feature is enabled, something like
fingerprint('CoreNEURON^GPU')
In principle we can extrapolate enough of this info from
nrnversion
but that would take a few manual operations, i.e:Foreseeable Impact
No impact on current usage. We may choose to deprecate
nrnversion
sometime in the future.Beta Was this translation helpful? Give feedback.
All reactions