This is the readme file for the simulation code accompanying the paper
"Democratic population decisions result in robust policy-gradient
learning: a parametric study with GPU simulations" by Paul Richmond,
Lars Buesing, Michele Giugliano and Eleni Vasilaki, PLoS ONE
Neuroscience
To compile the code place the model directory into the CUDA SDK
examples directory and compile using the visual studio 2008 project
file provided. On a Linux environment it is possible to modify the
CUDA SDKS 'template' example makefile to build the models CUDA files
(*.cu).
The code has been written using a NVIDIA GTX480 (Fermi) GPU and as
such has been optimised and tested on this hardware using the visual
studio 2008 project and template files provided. In order to run the
simulations on older (non Fermi) hardware it may be necessary change
the THREADS_PER_BLOCK, SM_BLOCK_SIZE (model.cuh) and ind_configs
parameters (paramaters.h) to ensure the maximum number of thread
blocks does not exceed those supported by your hardware.
The following arguments can be used with the application executable:
--profile : Profile the simulation only (i.e. no learning just analysis)
--graph_analysis: Creates analysis graphs i.e. delta W and eligibility trace
(see paper). No learning takes place.
--extended anlaysis: Same as -- graph_analysis however learning also takes
place the graph analysis being performed before each learning step takes
place.
--print_weight_plot: Prints the final weight values to a 3D plot after the
simulation has run. Cannot be used with --graph_analysis as no learning
takes place. If used with --extended_analysis then the weight plot is
output after each learn step.
--dyn_sys: only perform the simulation for the system with lateral
connections
--no_dyn_sys: only perform the simulation for the system with withou lateral
connections
--device: usual CUDA device argument to specify the GPU device to use for
simulation
|