Write parallel simulations of biological neural networks. Work with standard processors and GPUs. Evaluate computational intensity and efficiency.
Job Description
Design and implement parallel programming solutions for simulation of physics-based models of biological neural networks. Develop implementations for both standard processors and GPUs. Evaluate computational intensity for general algorithm and efficiency as neural network size increases. Compare efficiencies for standard processors and GPUs with regard to speed and memory usage. Note that, in a previous apprenticeship, Ananth Suresh successfully created a preliminary multithreaded simulation and established a framework for analysis. Future work will involve creating implementations using MPI and GPUs, as well as a full analysis.
Computational Resources
Separate implementations will be developed for both standard processors and GPUs. Algorithms will utilize multicore programming approaches with special attention to memory sharing and management for large networks.
Contribution to Community
Position Type
Intern
Training Plan
This position will be created specifically for a student with two qualifications: (1) Has completed a graduate level course on high performance computing. (2) Has previous experience with parallelization of neural network simulations. Note that Ananth Suresh has successfully achieved both of these training objectives.