Student Research Opportunities in the CSS Biocomputing Lab
The UWB CSS Biocomputing Laboratory is interested in the intersection of biology and computing. This includes building simulations of biological systems, developing computational solutions for biology, analyzing simulation or experimental data, using knowledge learned from the study of biological systems in engineering, and developing all of the infrastructure necessary to do these things and disseminate our results. This means that we have a wide range of opportunities for students to help, from new CSS majors to graduate students searching for a thesis topic. It also means that our work intersects with a number of CSS faculty members' interests, as well as colleagues in other UWB programs and at other campuses. If you're interested, you can begin working in the lab early in your career here at UWB doing general tasks and learning about the specifics of our work, and later start on more ambitious projects. This is an excellent way to build a portfolio of work and to build professional connections with faculty and other students.
We are building a resource for computational neuroscientists and neural network researchers around the world. Generally speaking, these are individuals and teams with significant expertise in neuroscience and computer science. They are generally focused on research results, not tool building. Our BrainGrid+Workbench project seeks to help them by providing a software architecture to ease the process of moving substantial neural simulations onto GPUs (Graphics Processing Units), multicore computers, and distributed computing environments, and by providing additional tools for:
- Validation of simulation results between different simulator implementations, to help researchers gain confidence that the simulation running on a GPU, for example, produces the same results as that which runs on a single CPU.
- Software and data provenance support, so researchers can connect simulation results to both inputs and the version of the (evolving) simulator they're using. This will help them determine when results from different simulation runs are comparable, which simulations need to be re-run, etc.
We aim to reduce the time for moving a neural simulation onto parallel hardware, and obtaining near-optimal speedup, from months to weeks or less.
- GPGPU algorithm development and programming.
- Multicore/multi-GPU software development and performance tuning.
- Software and data provenance, in collaboration with Prof. Hazeline Asuncion.
- Improving project software engineering maturity level, and using this to improve simulation data quality and reliability, using continuous integration tools such as Jenkins.
- Development of data analysis and visualization tools for the outputs of tens of thousands of simulated neurons over long periods of time.
- Working with external partners to improve BrainGrid end-user documentation and to understand how software and hardware architecture facilitates or impedes software developers.
- Continue evolving the BrainGrid software architecture.
- Distributed computing, in collaboration with Prof. Munehiro Fukuda.
Computational Neuroscience Projects
We aren't just building BrainGrid; we're also a major user. We have projects building large-scale, long-duration neural simulations. Currently, we are investigating how networks form during brain development and how the characteristics of cells and the external input they receive affects the formation of brain functions.
Any of these areas could be used for an undergraduate capstone, undergraduate research, or a Masters thesis or project.