Auryn simulator

Simulator for spiking neural networks with synaptic plasticity

User Tools

Site Tools


manual:compileandrunaurynsimulations

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
manual:compileandrunaurynsimulations [2016/09/01 20:17] – Updates Makefile template to match Auryn v0.8.0 reqs zenkemanual:compileandrunaurynsimulations [2017/03/13 19:43] (current) – Adds comment string zenke
Line 2: Line 2:
  
 You have installed the latest release of Auryn and [[manual:compileauryn|compiled the library]]. Suppose you now want to start writing your own code. A good way to start is by modifying [[examples:start]]. First copy the file to a place where you would like to develop your Auryn code. You could for instance create the directory ''~/mycode/'' for that purpose. Start with copying the example there (for instance  ''sim_epsp''). It is probably a good idea to rename the program too. Let's assume you called it ''sim_new.cpp'' You have installed the latest release of Auryn and [[manual:compileauryn|compiled the library]]. Suppose you now want to start writing your own code. A good way to start is by modifying [[examples:start]]. First copy the file to a place where you would like to develop your Auryn code. You could for instance create the directory ''~/mycode/'' for that purpose. Start with copying the example there (for instance  ''sim_epsp''). It is probably a good idea to rename the program too. Let's assume you called it ''sim_new.cpp''
 +
 +
 +===== Compile with the help of a Makefile =====
  
 I like using my own handwritten makefiles (of course you can follow any other approach you feel most comfortable with). To proceed with my approach create a file called ''Makefile'' with the following contents: I like using my own handwritten makefiles (of course you can follow any other approach you feel most comfortable with). To proceed with my approach create a file called ''Makefile'' with the following contents:
Line 15: Line 18:
  
 # The following should not require updating in most cases  # The following should not require updating in most cases 
-CXX = mpic++ +CXX = mpicxx 
-CPPFLAGS=-ansi -pipe -O3 -march=native -ffast-math -pedantic -I/usr/include -I$(AURYNINC)+CXXFLAGS=-ansi -pipe -O3 -march=native -ffast-math -pedantic -I/usr/include -I$(AURYNINC)
 LDFLAGS=$(AURYNLIB)/libauryn.a -lboost_filesystem -lboost_system -lboost_program_options -lboost_mpi -lboost_serialization LDFLAGS=$(AURYNLIB)/libauryn.a -lboost_filesystem -lboost_system -lboost_program_options -lboost_mpi -lboost_serialization
 +
 +# Add your simulation's file name here as default target
 +all: sim_new
  
 sim_%: sim_%.o sim_%: sim_%.o
-    $(CXX) $(CPPFLAGS) $< $(LDFLAGS) -o $(subst .o,,$<)+    $(CXX) $(CXXFLAGS) $< $(LDFLAGS) -o $(subst .o,,$<)
  
 %.o : %.cpp %.o : %.cpp
-    $(CC) $(CFLAGS) -c $<+    $(CXX) $(CXXFLAGS) -c $<
 </code> </code>
 Here you might need to update the first three lines if something does not work for you. The first line is the shorthand for you MPI C++ compiler, the second line is the path the root directory where you keep Auryn. Finally, in the third we set the directory where you keep ''libauryn.a''. Per default that is where you build Auryn. Here you might need to update the first three lines if something does not work for you. The first line is the shorthand for you MPI C++ compiler, the second line is the path the root directory where you keep Auryn. Finally, in the third we set the directory where you keep ''libauryn.a''. Per default that is where you build Auryn.
manual/compileandrunaurynsimulations.1472761024.txt.gz · Last modified: 2016/09/01 20:17 by zenke