NCS: Neuron Models, User Interface, and Modeling
AdvisorHarris, Frederick C.
Computer Science and Engineering
AltmetricsView Usage Statistics
Neuroscientists conduct experiments at different scales from molecules to system level to gain insights into various brain functions. When in vivo and in vitro experiments are hard to perform, neural simulators are very helpful. The NeoCortical Simulator (NCS) is a neural simulator designed to run on a heterogeneous cluster of CPUs and NVIDIA GPUs. With the use of neural simulators, there is always a trade-off between biological accuracy and time. Previously, NCS had one built-in neuron model for researchers to use. In order to provide choices for accuracy and execution time, two more built-in neuron models have been added to NCS. The back-end of NCS is written using C++11 and CUDA. Prior to NCS7, input files were used as an input. They did not allow loops and files tended to be large. To overcome the issues with input file and to allow scientists with varying level of programming skills to utilize NCS, a Graphical User Interface and a Python interface have been added to NCS. Furthermore, the new Report interface will allow users to view output by the simulator in real time and the MongoDB database will allow researchers to share their models and collaborate with others in the community. This thesis presents the design and implementation of NCS6 along with the newer version of NCS, NCS7, and its Python interface, Graphical User Interface, Report interface, database, and modeling information.