The purpose of this project is to advance the development of Jacket: The GPU Engine for MATLAB to include functionality aimed at enhancing computational neuroscience. We will develop tools which will allow MATLAB(R) programmers to access the performance and speed benefits of graphics processing units (GPUs). Today, there are an estimated 1.5 million MATLAB users in the healthcare industry, with a substantial portion of those using MATLAB to solve neuroscience-related problems. MATLAB users, especially those dealing with large neuroscience datasets, such as brain MRI, fMRI, DW-MRI, PET, and CT volumes as well as microscopy imagery, currently have two major problems in using MATLAB to conduct neuroscience research: 1) MATLAB is slow when compared to other programming languages such as C/C++, and 2) MATLAB visualizations are unable to handle large amounts of data or to render 3D models of anatomical structures with ease. Therefore, neuroscientists often undertake costly and time-consuming efforts to port neuroscience MATLAB code to C/C++, at the expense of slowing down research efforts, collaborations, and ultimately detracting from the researcher's primary focus of solving biological problems. However, due to recent advances in computer processors, specifically due to NVIDIA's Tesla, AMD's Firestream, and Intel's upcoming Larrabee GPUs, a new wave of desk-side processing technology makes it possible for individual researchers to get increased speed and enhanced visualizations directly in MATLAB. Over the last two years, we have developed and released our first product, Jacket: The GPU Engine for MATLAB, which enables scientists to perform low-level MATLAB computations on the GPU. In Phase I, we propose to extend Jacket by GPU-enabling the most common MATLAB functions used by neuroscientists, such as those found in MATLAB's Signal Processing, Image Processing, and Statistics Toolboxes. In Phase II, we plan to GPU-enable higher-level neuroscience- targeted MATLAB tasks, such as those available in the open source SPM (Statistical Parametric Mapping) toolkit and MATLAB's Bioinformatics Toolbox. Also, in Phase II, we plan to greatly enhance MATLAB's visualizations by GPU-enabling the Handle Graphics API and by using recent ray tracing technologies, such as those emerging in NVIDIA's NVIRT, to provide state-of-the-art volume rendering functions. In order to achieve these goals, further research and development is needed to build these tools and optimize them to achieve the best performance and highest standards of stability and user-friendliness. PUBLIC HEALTH RELEVANCE: The purpose of this project is to advance the development of Jacket: The GPU Engine for MATLAB to include functionality aimed at enhancing computational neuroscience. MATLAB users, especially those dealing with large neuroscience datasets, such as brain MRI, fMRI, DW-MRI, PET, and CT volumes as well as microscopy imagery, currently have two major problems in using MATLAB to conduct neuroscience research: 1) computational speed, and 2) lack of high-performance state-of-the-art visualizations. Due to recent advances in computer processors, specifically due to NVIDIA's Tesla, AMD's Firestream, and Intel's upcoming Larrabee GPUs, a new wave of desk-side processing technology makes it possible for individual researchers to get increased speed and enhanced visualizations directly in MATLAB. In this work, we will extend Jacket by GPU- enabling the most common MATLAB functions used by neuroscientists, such as those found in MATLAB's Signal Processing, Image Processing, and Statistics Toolboxes. These efforts will accelerate neuroscience efforts worldwide by empowering neuroscientists to focus on science, rather than computational implementations.
NIH ExPorter
NIH ExPorter