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://nest.github.io/nest-simulator/model_conversion_5g - stdp_izh_connection.h/.cpp has reformatted using https://github.com/nest/nest-simulator/blob/master/models/stdp_connection_ho... 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://nest.github.io/nest-simulator/model_conversion_5g ^~~~~~~ /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@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@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://github.com/nest/nest-simulator/issues/1331 https://secure-web.cisco.com/1pvWX8gcr0ktPCO_pJ-XSV7OsLHFiWmE4gqVEtVzPY62QxY1eQ-8GQWP65ZAm2UnzB305znKhGBeGwk3pBCBzl8VOR2DbwaEVtwB6IqqgcUZ00aQ3KCz0pZCavFLjDbhwHT4dDzuJDzmZfXfPOh43poIG8N04bRnb8yWGChAfBw_d6FveE9QCARl1P7RLbZx2JO3Jutn_6NeHuvQ0US81N-LR2KHLRq2OP2zVHL989CZBuJHc2L7rHt8e95I7GsWuJ3nWlu8gts8AL8Q0aGjxo0Kzn1ZZbaQDJeBZkM7a8aQGjOjHfq24TEYMImyCtMnNUrAJciz44-6tObOUK8QDbtLQq6fszadM72YPHar9u1kjbVNXqRfAN6N6YNs3faASL0TwqOGptnApRBX2ImM9ySgQBFW48w8-871pKl3Dw83zEcxHGZ9dvmzsLptIVDNL/https%3A%2F%2Fgithub.com%2Fnest%2Fnest-simulator%2Fissues%2F1331. Thank you,--Allen
- 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
- "{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@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@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://nest.github.io/nest-simulator/extension_modules https://secure-web.cisco.com/1OkG_4Lw1yXYSv9Bo1mMO2W05lnXnEL03XeGcAPY__8APmBFD6LJj5zzZE42doCxkKRobTud5P4AT-oAs4WO_e4LtGvMBLDNRl2akKXbAPU8F8r9Rm4A-tpRybnnEUh062b56HNleUWk7QJ6N1WbDPtfI2tSIZfBrNSy7ZS4MsvzYfYHFlpG8GQQde5gApJecM5CFQEEP9CGymqYZ18LQ3zj1pcYeYG_L4XhXZhfL9be5WtSMrDZVy_ZeB0g3Qorb-lhDrLguvPgqUhCze8vfsqesaXfTpE3HtpsEMUcfd3Xc5vUP1KU6rRWzSAw8az7wM5CxmAlax7wYyP8eT_0bQAweIakbsUW3bXaCT9znQv15l-qoBLExOyTKQvbcyNiwLEBNflla-_MsLueEemTJ1NRiHSI7kGavYtpaKaeXtlSy7q0YU9lIMHnnS0AWr5keolzddt0U0uCpJmO2uL9FUA/https%3A%2F%2Fnest.github.io%2Fnest-simulator%2Fextension_modules .
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
- add the files to models/CMakeLists.txt
- #include the files in models/modelsmodule.cpp
- 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@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@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no http://secure-web.cisco.com/1oGxjTBn6G3zlyNTvv_hoyiXx9VwKKhVYGsnt8WkKZtjey0jolrbMkgNX8nwZ1_mVOfMZGiux9uomyEPFv1tB5lZkHqSDndkoq7WT3154Yx4mGDr8Arv_7jWQmncdw7br50zI6WljWy5IK7VdXa7cWJJMsib-PBr0HtFYGs5gbgToIMYR4w5rKqurTb-v0rgSNtJsrdJncRz5eqmnGWYbcKnShFCDiXti1pbbYmie86yWljTQbF0AtIphD_zoqJhi-TJYrXXjeVGyc2k_WQiq9cNQvbZlxfWAY8GM2CJWq_YnFnAj_wgKoFCuxVcs6gPmu6B-M8f9ZylTFcZTKA4SjnK6SJPiDig8sJf7qhGQW0aB1CMf88nIeQJFd5NE_nXYNkveMYHT2So_RNGY06D7hdDTA1VoxJgrV-JxlTvip1uelk7bGF8CPbWbPaNV-TAvtps_fwU_5vhhGiNNNPML6Q/http%3A%2F%2Fnmbu.no%2F Home http://arken.nmbu.no/~plesser http://secure-web.cisco.com/1NGU903Sz1mZbu-kUPO3tQjT8UGyiDXuL1fL2jQ0S4SkecW_uuWYlUr2l7vZeLiTlDo3I1xA_9Uf9v2N2p6tjNn25_ocHbrkd2JTx3GnGb-vebjXVovfSgdnKywi7KN485GJR_TQFVuJx5_MF6BXctVjmSoVYFiOG8Mu-TNlxK_xmGEWTPq3fhJXq122hpV7ruHShklc4kmqI33bXV1ZEU5eouIGhJ9nWmVo-NDeVaimFTzO6qmmGUU8EmR5e85dLtIrPmdtDprPb6mYTmwlmgj1lXqSapHgZL1zIn5I8o20lNXdX7P9nJVozEyOsAC9-TANbvcvJ4GMYG2gqDGBhlRa8QFDC9bpJFc6GW_bJhvI45kyeJj_P-qg6vmCiw6UCdxjNZSxzNTt4B7wtYDbj8F7EPJbVjtAeY5zLpAYyKQsL_mXRdL5yHAz35VHWlUwy/http%3A%2F%2Farken.nmbu.no%2F%7Eplesser
NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no http://secure-web.cisco.com/1iP5XxSIgK1wF5QUFextVYBJcuhTvD7uZziUM9b_0s3CJyt4coQ-JaojYPcWkHY6GfIgOzSAlr4NFfZhr8Z172zC5SaCAWrN7Zz9ApSd4f6eA5bPremYXBOqAH_0MM6CCSJR7eDvRFU9Qd1y6vawZ91iPX2y5qaoU-0SyZyHI2UD7rp6FmPOi7PWHBHk9gXb6fp6qP1wbpMV8lwrvMGDglP_bw3HnLWIpw2DZKS0sDuzdrn7ECQmCzGHhIivmcUOsZgWNtnuP6A2WrPlnyAaeLuxwfQ4BYv7288-Qq4k9w4w5jGWOpMHFPs837kFW4zLht7l_9Dz4nsqCl8dSn1RmhHmeHEd412A_NctYEoizC86CDJutdeZ0jhh6K2HEDCT5snwo68iJAPnc20uucORO3mJinauyJ5801Fqj5-1zqMAIXt2rvrHJBTIrMSgG_dzU0jtP9ZS2AYhy13V_mxMYvA/http%3A%2F%2Fnmbu.no%2F Home http://arken.nmbu.no/~plesser http://secure-web.cisco.com/1Yaz1kjc6VGnCjQQ1iYz5UzgeB8gnIvsxcPfiFurdqrnLLEWwnAKf1OZf_fQ2tyFo0TCRgdCgP6hn0zGKQEBdzOBDzQKjHGM9AI7d7tpeDLOm-jgCdjaiHVa1soloQe1uDkeWcKDWx4uEqNa7RanMBiY5pcihXtfkEJsP_kJi-fNMVAJUzp4PU1Q3vI-u039bL3kxazbvIqYnR5TY-jdwqAJktCuCdh8VCMEX6hNO62dDiD8Nmhpa-btsTr-jjlPsCPaNjkA7aZ08WxrEyinmMYfdOB1b38lthuLD3HSlT9yy483Jt2iLUip3GwCXeIW0c21Mqdg9KLcj65O5lAIsslHkqdpNmNjRP0K9tAMp8xrCg4JdGkK6YLINQvz65xkso4plOFxA9laXV0PUAaHgbylgRD34SSBj2I3lSM43Kofs0nQX3UWMtgmCbwFQ45EHMLfxEHKMAWZVUbLgujnSYw/http%3A%2F%2Farken.nmbu.no%2F%7Eplesser
NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser http://secure-web.cisco.com/1nd3Dn41NSvMCZuqSxusD7gKebEdh81Q4sSm7WqGfmTpD98eMdRbko3iFKsYYyH0v-Rq3hKbZ-NmkF8WEGl_CwIq5sX4c19CZ9477L19Gtrel3_Ptmn-cvOuuMV3ig2KkmysLVdb4e6MjQMXdwY4eaflxKe_ymORYjasNRPHBMh5utr9uwUtP_sySj9K7QoF0j55RbN8yXne0tbD6U1y8uRymd7rY28hB1YkkNDcHm2tiCcmMWl_WXxNx-v5Otfqv5iAWhKYHvmkHkB9dP1d1qtkl6DMrLsy8wrmt_pBC-zjZWkFFMlzrp-lroQIlPIiZj7kGu_NAP09PynPIhz25hVzaNDtfZ4e6L9KS7ACVjaH32KFrogiLravhZV6QQDTB_hf-P1qjaWPZmR-KaWPjKBdVsa5g8WnFUdtAc8CAnFgz5ysCDDiIrCVP0WipCdt2e-B1QZi4YHNpcucciAE9HQ/http%3A%2F%2Farken.nmbu.no%2F%7Eplesser
NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org