Dear all,
Recently, I've been trying to test NEST's performance(with and without MPI). But with PyNEST, it's hard to do more detailed testing with tools like Gprof. Only some print-time and memory methods can be inserted into the C++ source code for testing.
Is there a C++ front-end interface that can call NEST C++ source code for testing?
Of course, I used some of Python's performance testing tools, but only to the interface, not C++ in action.
I'd appreciate any tips on how to test NEST's performance!
Cong
Hello Cong,
At present, we do not have a well-documented C++ interface for writing simulation scripts. But we have the SLI interpreter, which allows you to control NEST without the Python intepreter. The SLI language is based on PostScript, i.e., is a stack-based language with reverse Polish notation, see https://nest-simulator.readthedocs.io/en/v3.3/sli_docs/an-introduction-to-sl....
We have had success using Intel VTune to profile NEST, even with Python "on top".
Best regards, Hans Ekkehard
--
Prof. Dr. Hans Ekkehard Plesser Head, Department of Data Science
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
On 26/05/2022, 05:57, "512491013@qq.com" 512491013@qq.com wrote:
[Some people who received this message don't often get email from 512491013@qq.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification.]
Dear all,
Recently, I've been trying to test NEST's performance(with and without MPI). But with PyNEST, it's hard to do more detailed testing with tools like Gprof. Only some print-time and memory methods can be inserted into the C++ source code for testing.
Is there a C++ front-end interface that can call NEST C++ source code for testing?
Of course, I used some of Python's performance testing tools, but only to the interface, not C++ in action.
I'd appreciate any tips on how to test NEST's performance!
Cong _______________________________________________ NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
Hello Hans Ekkehard,
Thank you for your reply. I will try using Vtune next.
Cong
Hi Cong,
recently we added more fine-grained timers measuring the elapsed time of different phases to the NEST source code, see here: https://nest-simulator.readthedocs.io/en/v3.3/guides/built-in_timers.html
If you are interested in the consumed memory you query it on the python level like this: nest.ll_api.sli_func('memory_thisjob')
If you are looking for more sophisticated performance metrics and measurements you might want to try tools such as VTune or Amduprof, depending on your architecture. They both support MPI and openMP, work on the C++ level and can be used in conjunction with pyNEST. If you are only interested in specific parts of the code, you can insert specific start and stop points into the source code for restricting data collection. E.g. if you are only interested in the simulation phase and not in the network construction phase, you could exclude the latter. In my experience it declutters the output and helps arriving at interpretable results. This could tackle the issue you had with gproof.
Hope this helps and let me know if you have more questions,
Jari
________________________________ From: 512491013@qq.com 512491013@qq.com Sent: Thursday, May 26, 2022 5:57:14 AM To: users@nest-simulator.org Subject: [NEST Users] Test NEST performance
Dear all,
Recently, I've been trying to test NEST's performance(with and without MPI). But with PyNEST, it's hard to do more detailed testing with tools like Gprof. Only some print-time and memory methods can be inserted into the C++ source code for testing.
Is there a C++ front-end interface that can call NEST C++ source code for testing?
Of course, I used some of Python's performance testing tools, but only to the interface, not C++ in action.
I'd appreciate any tips on how to test NEST's performance!
Cong _______________________________________________ NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------ 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. Astrid Lambrecht, Prof. Dr. Frauke Melchior ------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------
Neugierige sind herzlich willkommen am Sonntag, den 21. August 2022, von 10:00 bis 17:00 Uhr. Mehr unter: https://www.tagderneugier.de
Hi Jari,
Thank you for your reply. This is very helpful to me.
If I want to test the calculation time of STDP and neuron respectively in the simulation stage, Can I only use the method of inserting specific start and stop points into the source code?
Cong
Hi,
yes you can insert specific start and stop points. When I used VTune I needed to include this header in the file containing the critical code sections: "#include <ittnotify.h>". I started the measurement on the C++ level with "__itt_resume();" and stopped it with "__itt_pause();". If I remember correctly the measurement starts in paused mode when using custom start/stop points. During compilation I needed to set these cmake flags:
-Dwith-includes=<path/to/vtune_amplifier/include/> \ -Dwith-libraries=<path/to/vtune_amplifier/lib64/libittnotify.a> \ -Dwith-debug=-g \
In general VTune is well documented and this should be explained in the documentation in more detail.
Best, Jari
________________________________ From: 512491013@qq.com 512491013@qq.com Sent: Monday, May 30, 2022 10:39:58 AM To: users@nest-simulator.org Subject: [NEST Users] Re: Test NEST performance
Hi Jari,
Thank you for your reply. This is very helpful to me.
If I want to test the calculation time of STDP and neuron respectively in the simulation stage, Can I only use the method of inserting specific start and stop points into the source code?
Cong _______________________________________________ NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------ 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. Astrid Lambrecht, Prof. Dr. Frauke Melchior ------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------
Neugierige sind herzlich willkommen am Sonntag, den 21. August 2022, von 10:00 bis 17:00 Uhr. Mehr unter: https://www.tagderneugier.de