Jochen,
Thank you. Looking forward to using it. Will watch for your next email.
Best Regards,
--Allen
On Wed, Jun 24, 2020 at 4:59 AM Jochen Martin Eppler <j.eppler(a)fz-juelich.de>
wrote:
Hi!
Just a quick heads up: I am currently working on a refactoring of the
example module, which might make things a bit easier in the future.
I'm expecting this to go live by the end of this week and will send
another mail to this list once I'm done.
Cheers,
Jochen!
On 16.06.20 03:12, Allen Rabayda wrote:
Hans and Nest User Community,
I was wondering if you had any advice for my errors when I
compile/register the custom Synapse Model, stdp_izh_connection.h/.cpp as
I can compile/install without issue using the example custom models
like pif_psc_alpha and drop_odd_synapse alone.
Two quick questions.
#1 Which synapse model registration statement should I use in
"my2module.cpp":
-
nest::kernel().model_manager.register_connection_model<STDPIzhConnection<targetidentifierT
>(
"stdp_izh_connection" );
-
nest::kernel().model_manager.register_connection_model<
STDPIzhConnection< nest::TargetIdentifierPtrRport
("stdp_izh_connection" );
-
nest::kernel().model_manager.register_prototype_connection<
STDPIzhConnection< nest::TargetIdentifierPtrRport
("stdp_izh_connection" );
-
nest::kernel().model_manager.register_prototype_connection<
STDPIzhConnection>(net_, "stdp_izh_connection" );
#2 Which argument, "targetidentifierT" or
"TargetIdentifierPtrRport",
should I use:
- in "my2module.cpp" model registration?
- and in my synapse model, "stdp_izh_connection.h", templates?
I've included one of my error messages below for reference. I
received similar error messages for each of the registration statements
used above.
Thank you for any advice you may offer.
Best Regards,
--Allen
********* Background on the Custom Synapse Model********
- stdp_izh_connection.h/.cpp has been updated for nest 5g kernel per
https://secure-web.cisco.com/1VdennQVusYlBHKK3H6dHSFKR8Vx1UWLhPZEEF2FsPX0XI…
- stdp_izh_connection.h/.cpp has reformatted
using
https://secure-web.cisco.com/1lwxXr_h6qWHk3vUFEx9s3nM4-jO0JT_jD9S9iNMcA6K0M…
as an example.
*********************************************************************
*********** Nest Compile Errors when including:
stdp_izh_connection.h/.cpp***********
[ 10%] Building CXX object
CMakeFiles/my2module_module.dir/my2module.cpp.o
In file included from
/home/nest/examples/My2Module/my2module.cpp:33:0:
/home/nest/examples/My2Module/stdp_izh_connection.h: In member function
‘void nest::STDPIzhConnection<targetidentifierT>::send(nest::Event&,
nest::thread, const nest::STDPIzhCommonProperties&)’:
/home/nest/examples/My2Module/stdp_izh_connection.h:305:5: error: ‘class
nest::Event’ has no member named ‘set_multiplicity’
e.set_multiplicity( -1 );
^~~~~~~~~~~~~~~~
/home/nest/examples/My2Module/stdp_izh_connection.h:306:5: error: ‘class
nest::Event’ has no member named ‘set_delay’; did you mean ‘set_sender’?
e.set_delay( ConnectionBase::get_delay_steps() ); // ConnectionBase
not used in sample
^~~~~~~~~
set_sender
/home/nest/examples/My2Module/stdp_izh_connection.h:309:18: error:
‘t_spike’ was not declared in this scope
t_lastspike_ = t_spike; // added per ref:
https://secure-web.cisco.com/1VdennQVusYlBHKK3H6dHSFKR8Vx1UWLhPZEEF2FsPX0XI…
^~~~~~~
/home/nest/examples/My2Module/stdp_izh_connection.h:309:18: note:
suggested alternative:
In file included from
/home/nest/work/nest-install/include/nest/node.h:37:0,
from
/home/nest/work/nest-install/include/nest/common_synapse_properties.h:29,
from
/home/nest/work/nest-install/include/nest/connection.h:27,
from
/home/nest/examples/My2Module/drop_odd_spike_connection.h:27,
from /home/nest/examples/My2Module/my2module.cpp:29:
/home/nest/work/nest-install/include/nest/nest_names.h:424:19: note:
‘nest::names::t_spike’
extern const Name t_spike;
^~~~~~~
/home/nest/examples/My2Module/my2module.cpp: In member function ‘virtual
void mynest::My2Module::init(SLIInterpreter*)’:
/home/nest/examples/My2Module/my2module.cpp:142:59: error:
‘STDPIzhConnection’ was not declared in this scope
nest::kernel().model_manager.register_connection_model<
STDPIzhConnection< targetidentifierT > >(
^~~~~~~~~~~~~~~~~
/home/nest/examples/My2Module/my2module.cpp:142:59: note: suggested
alternative:
In file included from /home/nest/examples/My2Module/my2module.cpp:33:0:
/home/nest/examples/My2Module/stdp_izh_connection.h:114:7: note:
‘nest::STDPIzhConnection’
class STDPIzhConnection: public nest::Connection< targetidentifierT
^~~~~~~~~~~~~~~~~
/home/nest/examples/My2Module/my2module.cpp:142:78: error:
‘targetidentifierT’ was not declared in this scope
nest::kernel().model_manager.register_connection_model<
STDPIzhConnection< targetidentifierT > >(
^~~~~~~~~~~~~~~~~
/home/nest/examples/My2Module/my2module.cpp:143:27: warning: comparison
with string literal results in unspecified behavior [-Waddress]
"stdp_izh_connection" );
^
/home/nest/examples/My2Module/my2module.cpp:142:98: error: invalid
operands of types ‘<unresolved overloaded function type>’ and ‘const
char [20]’ to binary ‘operator>’
nest::kernel().model_manager.register_connection_model<
STDPIzhConnection< targetidentifierT > >(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
"stdp_izh_connection" );
~~~~~~~~~~~~~~~~~~~~~~~
CMakeFiles/my2module_module.dir/build.make:62: recipe for target
'CMakeFiles/my2module_module.dir/my2module.cpp.o' failed
make[2]: *** [CMakeFiles/my2module_module.dir/my2module.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target
'CMakeFiles/my2module_module.dir/all' failed
make[1]: *** [CMakeFiles/my2module_module.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2
On Fri, May 22, 2020 at 8:24 AM Hans Ekkehard Plesser
<hans.ekkehard.plesser(a)nmbu.no <mailto:hans.ekkehard.plesser@nmbu.no>>
wrote:
Hi Allen,
Thanks. It looks like a relative path has ended up in your
nest-config file where it should have been an absolute path. Could
you open file
nest-install/bin/nest-config
and go to roughly line 55, where you should find something like
--includes)
echo " -I/home/nest/work/nest-simulator-2.18.0/conngen
-I../nest-install/include/nest -I/usr/include -I/usr/include
-I/usr/local/include -I/usr/include
-I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi
-I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent
-I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include
> -I/usr/lib/x86_64-linux-gnu/openmpi/include"
> ;;
> Please replace within
> -I../nest-install/include/nest
> the .. with the absolute path.
Then run cmake and make again in the
> My2Module build directory. You may want to delete anything in that
> build directory first to avoid old Cmake cached data.
> Best,
> Hans Ekkehard
>> On 21 May 2020, at 22:13,
Allen Rabayda
>> <arabayda(a)masonlive.gmu.edu
<mailto:arabayda@masonlive.gmu.edu>>
>> wrote:
>
>> Hans,
>> Below is the output from my 1) "cmake" and 2)
>> "{NEST_INSTALL_DIR}/bin/nest-config --prefix --includes --libs
>> --cflags" commands.
>> Thank you,
>> --Allen
>
>> Charl, I had not yet
tried any of the processes on
>
https://secure-web.cisco.com/1MLBFo3x6JJko67my3nTeNwTgT3_lFTJxBACoNQGKpE8Se…
> <
https://secure-web.cisco.com/1pvWX8gcr0ktPCO_pJ-XSV7OsLHFiWmE4gqVEtVzPY62Qx…
.
> Thank you,--Allen
>
>
> *****************
> 1) CMAKE OUTPUT:
> *****************
>
> nest@nestvm:~/examples/My2Module$ cmake
> -Dwith-nest=${NEST_INSTALL_DIR}/bin/nest-config ../My2Module
>
> -------------------------------------------------------
> my2module Configuration Summary
> -------------------------------------------------------
>
> C++ compiler : /usr/bin/c++
> Build static libs : OFF
> C++ compiler flags :
> NEST compiler flags : -std=c++11 -O2 -Wall -fopenmp -pthread
> -fdiagnostics-color=auto
> NEST include dirs :
> -I/home/nest/work/nest-simulator-2.18.0/conngen
> -I../nest-install/include/nest -I/usr/include -I/usr/include
> -I/usr/local/include -I/usr/include
> -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi
>
-I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent
>
-I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include
>> -I/usr/lib/x86_64-linux-gnu/openmpi/include
>> NEST libraries flags : -L/home/nest/work/nest-install/lib
>> -lconngen -lnestutil -lnest -lrandom -lsli -lnestkernel -ltopology
>> -fopenmp /usr/lib/x86_64-linux-gnu/libltdl.so
>> /usr/lib/x86_64-linux-gnu/libgsl.so
>> /usr/lib/x86_64-linux-gnu/libgslcblas.so
>> /usr/local/lib/libneurosim.so /usr/local/lib/libpyneurosim.so
>> /usr/lib/x86_64-linux-gnu/libmusic.so
>> /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so
>> /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so
>
>>
-------------------------------------------------------
>
>> You can now build and
install 'my2module' using
>> make
>> make install
>
>> The library file
libmy2module.so will be installed to
>> /home/nest/work/nest-install/lib/nest
>> Help files will be installed to
>> /home/nest/work/nest-install/share/doc/nest
>
>> The module can be loaded
into NEST using
>> (my2module) Install (in SLI)
>> nest.Install('my2module') (in PyNEST)
>
>> The module will be
installed into a non-default location!
>> Make sure to set the environment variables:
>> export
>
NEST_MODULE_PATH=/home/nest/work/nest-install/lib/nest:$NEST_MODULE_PATH
>> export
>> SLI_PATH=/home/nest/work/nest-install/share/nest/sli:$SLI_PATH
>
>> -- Configuring done
>> -- Generating done
>> -- Build files have been written to: /home/nest/examples/My2Module
>> -----------------------------------------------------
>
>> *****************
>> 2) "{NEST_INSTALL_DIR}/bin/nest-config --prefix --includes --libs
>> --cflags OUTPUT
>> *****************
>
>> nest@nestvm:~$ export
NEST_INSTALL_DIR=/home/nest/work/nest-install
>> nest@nestvm:~$ {NEST_INSTALL_DIR}/bin/nest-config --prefix
>> --includes --libs --cflags
>> bash: {NEST_INSTALL_DIR}/bin/nest-config: No such file or directory
>> *****************
>> then added absolute path to produce output below
>> *****************
>> nest@nestvm:~$ /home/nest/work/nest-install/bin/nest-config
>> --prefix --includes --libs --cflags
>> /home/nest/work/nest-install
>> -I/home/nest/work/nest-simulator-2.18.0/conngen
>> -I../nest-install/include/nest -I/usr/include -I/usr/include
>> -I/usr/local/include -I/usr/include
>> -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi
>
-I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent
>
-I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include
>> -I/usr/lib/x86_64-linux-gnu/openmpi/include
>> -L/home/nest/work/nest-install/lib -lconngen -lnestutil -lnest
>> -lrandom -lsli -lnestkernel -ltopology -fopenmp
>> /usr/lib/x86_64-linux-gnu/libltdl.so
>> /usr/lib/x86_64-linux-gnu/libgsl.so
>> /usr/lib/x86_64-linux-gnu/libgslcblas.so
>> /usr/local/lib/libneurosim.so /usr/local/lib/libpyneurosim.so
>> /usr/lib/x86_64-linux-gnu/libmusic.so
>> /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so
>> /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so
>> -std=c++11 -O2 -Wall -fopenmp -pthread -fdiagnostics-color=auto
>> *****************
>> END
>> *****************
>
>> On Wed, May 20, 2020 at
3:08 AM Hans Ekkehard Plesser
>> <hans.ekkehard.plesser(a)nmbu.no
>> <mailto:hans.ekkehard.plesser@nmbu.no>> wrote:
>
>
>> Hi Allen,
>
>>> Below I show
how I adapted/complied the example MyModule
>>> included on github and the error message I get (bottom of
email).
>
>> The steps look
generally good.
>
>>> two absolute
paths inserted (correct missing file error):
>>> #include
>>> "/home/nest/work/nest-simulator-2.18.0/sli/slifunction.h"
>>> #include
"/home/nest/work/nest-simulator-2.18.0/sli/slimodule.h"
>
>> You should not need
the absolute paths, just the filenames
>> should suffice.
>
>>> $ cd mmb
>>> $ cmake -Dwith-nest=${NEST_INSTALL_DIR}/bin/nest-config
>>> ../My2Module
>>> $ make
>
>> Could you post the
output of the cmake command?
>
>> And also the output
of the following command
>
>>
${NEST_INSTALL_DIR}/bin/nest-config --prefix --includes --libs
>> --cflags
>
>> Best,
>> Hans Ekkehard
>
>>>
>>> **********************
>>> ***ERROR MSG***
>>> make: *** No targets specified and no makefile found. Stop.
>>> *********************
>>> *********************
>>>
>>> *** changed directory from ./mmb to ./My2Module then re-ran
>>> make*****
>>>
>>> $ cd ~ examples/My2Module
>>> $ make
>>>
>>> ***************'*******
>>> ***ERROR MSG****
>>> Scanning dependencies of target my2module_module
>>> [ 10%] Building CXX object
>>> CMakeFiles/my2module_module.dir/my2module.cpp.o
>>> In file included from
>>> /home/nest/examples/My2Module/my2module.cpp:29:0:
>>>
/home/nest/examples/My2Module/drop_odd_spike_connection.h:27:10:
>> fatal error: connection.h: No
such file or directory #include
>> "connection.h"
>> **********************
>> *********************
>>
>>
>> On Wed, May 6, 2020 at 2:33 AM Hans Ekkehard Plesser
>> <hans.ekkehard.plesser(a)nmbu.no
>> <mailto:hans.ekkehard.plesser@nmbu.no>> wrote:
>>
>>
>> Hi Allen,
>>
>> Several steps are required to add a model to NEST. The
>> recommended way of adding a model is to create your own
>> NEST module outside the NEST source code tree. You will
>> find an example in examples/MyModule and more
>> documentation at
>>
https://secure-web.cisco.com/11nUY061zM84Rywlc6PRfWD_B9ZVp7ehPlNtXWQvY1m9V_…
>> <
https://secure-web.cisco.com/1OkG_4Lw1yXYSv9Bo1mMO2W05lnXnEL03XeGcAPY__8APm…
.
>>
>> Placing code for custom models in the models directory in
>> the NEST source code tree also works, but makes it more
>> difficult to move to newer versions of NEST or to share
>> your custom models with colleagues.
>>
>> Briefly, in addition to adding the source code files to
>> the models directory, you need to
>>
>> 1. add the files to models/CMakeLists.txt
>> 2. #include the files in models/modelsmodule.cpp
>> 3. add a line like
>>
>> register_connection_model< StaticConnection >(
"static_synapse" );
>>
>> for each model. The template parameter is the model
>> class, the string the name it will have in NEST
>> 4. recompile and reinstall NEST
>>
>> Best,
>> Hans Ekkehard
>>
>>
>>
>>> On 6 May 2020, at 02:11, Allen Rabayda
>>> <arabayda(a)masonlive.gmu.edu
>>> <mailto:arabayda@masonlive.gmu.edu>> wrote:
>>>
>>> Dear Nest Community,
>>>
>>> Would anyone have insight into why I'm getting an
>>> UnknownModelName error?
>>>
>>> I'm new to Nest and am using Nest 18.0 on Lubuntu
>>> Virtual Box (Windows 10 OS).
>>>
>>> Thanks for any help.
>>>
>>> Best Regards,
>>> --Allen
>>>
>>> **** Error Message--additional details attached ******
>>> raise exceptionCls(commandname, message)
>>> nest.ll_api.UnknownModelName: ('UnknownModelName in
>>> CopyModel_l_l_D: /stdp_izh_bitwise_correct_connection is
>>> not a known model name. Please check the modeldict for a
>>> list of available models.', 'UnknownModelName',
>>> <SLILiteral: CopyModel_l_l_D>, ':
>>> /stdp_izh_bitwise_correct_connection is not a known
>>> model name. Please check the modeldict for a list of
>>> available models.')
>>> ********************************************************
>>>
<issue_UnknownModelName_4_May_2020>_______________________________________________
>>>> NEST Users mailing list -- users(a)nest-simulator.org
>>>> <mailto:users@nest-simulator.org>
>>>> To unsubscribe send an email to
>>>> users-leave(a)nest-simulator.org
>>>> <mailto:users-leave@nest-simulator.org>
>>>
>>> --
>>>
>>> Prof. Dr. Hans Ekkehard Plesser
>>> Head, Data Science Section
>>>
>>> Faculty of Science and Technology
>>> Norwegian Universityof Life Sciences
>>> PO Box 5003, 1432Aas, Norway
>>>
>>> Phone +47 6723 1560
>>> Emailhans.ekkehard.plesser(a)nmbu.no
>> <
http://secure-web.cisco.com/1oGxjTBn6G3zlyNTvv_hoyiXx9VwKKhVYGsnt8WkKZtjey0…
>>> Homehttp://
secure-web.cisco.com/1GxBrTIvidKyg8bDi2P5i7i22ns5X8VwghGHrD4rONPwtdTt4RHOt6…
>> <
http://secure-web.cisco.com/1NGU903Sz1mZbu-kUPO3tQjT8UGyiDXuL1fL2jQ0S4SkecW…
>>>
>>> _______________________________________________
>>> NEST Users mailing list -- users(a)nest-simulator.org
>>> <mailto:users@nest-simulator.org>
>>> To unsubscribe send an email to
>>> users-leave(a)nest-simulator.org
>>> <mailto:users-leave@nest-simulator.org>
>>>
>>> _______________________________________________
>>> NEST Users mailing list -- users(a)nest-simulator.org
>>> <mailto:users@nest-simulator.org>
>>> To unsubscribe send an email to
>>> users-leave(a)nest-simulator.org
>>> <mailto:users-leave@nest-simulator.org>
>
>> --
>
>> Prof. Dr. Hans
Ekkehard Plesser
>> Head, Data Science Section
>
>> Faculty of Science
and Technology
>> Norwegian Universityof Life Sciences
>> PO Box 5003, 1432Aas, Norway
>
>> Phone +47 6723 1560
>> Emailhans.ekkehard.plesser(a)nmbu.no
> <
http://secure-web.cisco.com/1iP5XxSIgK1wF5QUFextVYBJcuhTvD7uZziUM9b_0s3CJyt…
>> Homehttp://
secure-web.cisco.com/1GxBrTIvidKyg8bDi2P5i7i22ns5X8VwghGHrD4rONPwtdTt4RHOt6…
> <
http://secure-web.cisco.com/1Yaz1kjc6VGnCjQQ1iYz5UzgeB8gnIvsxcPfiFurdqrnLLE…
>
>> _______________________________________________
>> NEST Users mailing list -- users(a)nest-simulator.org
>> <mailto:users@nest-simulator.org>
>> To unsubscribe send an email to users-leave(a)nest-simulator.org
>> <mailto:users-leave@nest-simulator.org>
>
>>
_______________________________________________
>> NEST Users mailing list -- users(a)nest-simulator.org
>> <mailto:users@nest-simulator.org>
>> To unsubscribe send an email to users-leave(a)nest-simulator.org
>> <mailto:users-leave@nest-simulator.org>
> --
> Prof. Dr. Hans Ekkehard Plesser
> Head, Data Science Section
> Faculty of Science and
Technology
> Norwegian Universityof Life Sciences
> PO Box 5003, 1432Aas, Norway
> Phone +47 6723 1560
> Emailhans.ekkehard.plesser(a)nmbu.no <
http://secure-web.cisco.com/1EamN3fdQ-N495adJ-vlyTRgr6Kv7x5i-dOJ23TU7UShcTn…
> Homehttp://
secure-web.cisco.com/1GxBrTIvidKyg8bDi2P5i7i22ns5X8VwghGHrD4rONPwtdTt4RHOt6…
<
http://secure-web.cisco.com/1nd3Dn41NSvMCZuqSxusD7gKebEdh81Q4sSm7WqGfmTpD98…
> _______________________________________________
> NEST Users mailing list -- users(a)nest-simulator.org
> <mailto:users@nest-simulator.org>
> To unsubscribe send an email to users-leave(a)nest-simulator.org
> <mailto:users-leave@nest-simulator.org>
> _______________________________________________
> NEST Users mailing list -- users(a)nest-simulator.org
> To unsubscribe send an email to users-leave(a)nest-simulator.org
--
Dr. Jochen Martin Eppler
Phone: +49(2461)61-96653
----------------------------------
Simulation Laboratory Neuroscience
Jülich Supercomputing Centre
Institute for Advanced Simulation
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Volker Rieke
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
_______________________________________________
NEST Users mailing list -- users(a)nest-simulator.org
To unsubscribe send an email to users-leave(a)nest-simulator.org