Designed especially for neurobiologists, FluoRender is an interactive tool for multi-channel fluorescence microscopy data visualization and analysis.
Deep brain stimulation
BrainStimulator is a set of networks that are used in SCIRun to perform simulations of brain stimulation such as transcranial direct current stimulation (tDCS) and magnetic transcranial stimulation (TMS).
Developing software tools for science has always been a central vision of the SCI Institute.

Events on February 17, 2023

Will Schroeder and Spiros Tsalikis, Kitware Presents:

Design Patterns for Multithreaded Algorithm Design and Implementation

February 17, 2023 at 1:00pm for 1hr
Meldrum Conference Room, WEB 2760
Warnock Engineering Building, 2nd floor.

Or via Zoom: Meeting ID: 513 391 4088 passcode: sci-devs


Modern computing hardware typically provides multiple cores and high-performance memory systems well suited to parallel computing, especially shared memory approaches. Yet despite these ubiquitous resources, much scientific computing software is still implemented using sequential approaches or is in dire need of a performance makeover. We believe that part of the reason for this is a perception that parallel algorithms are hard to design and implement. We are of the view that instead, a wealth of opportunities exists to reimagine classic and emerging algorithms, to better address the large-data challenges facing us as a community. The key is to become familiar with basic parallel computing design patterns, enabling algorithm developers to readily create performant software.
In this panel presentation, two developers with long experience developing parallel algorithms will describe common parallel design patterns by working through two classic algorithms: iso-contouring and surface extraction from volume. Topics addressed include removing bottlenecks; using multiple passes to configure data output, process data, and produce output; and compositing methods to avoid costly mutexes and other synchronization mechanisms. Also, simple but powerful techniques using functions like prefix sums and sorting algorithms, in conjunction with parallel for loops and atomic variables will be described. The emphasis will be on high-level conceptual approaches, and not the details of a particular implementation language / framework.
Will Schroeder, PhD is a long-time developer of VTK. At Kitware he works as an Opportunity Catalyst to envision and lead technical innovation; mentor talented software professionals and engage with customers and collaborators to provide solutions to pressing technical challenges.
Spiros Tsalikis has been a developer of VTK/ParaView for the past ~1.5 years. At Kitware, he works as an R&D Engineer for the Scientific Computing team. His main focuses are performance improvements with an emphasis on geometric filters, and development of new filters, widgets, and functionalities.

Posted by: Nathan Galli