2017-2018 Mentors

NCSA SPIN mentor Donna Cox

Are you a programmer, a filmmaker, a musician, an architect, a physicist, or a mathematician? Do you know GPU programming, MaxMSP, or Processing? Can you use Houdini, Maya, After Effects, or Unity? Have you built mobile apps, virtual or augmented reality scenes, or computer simulations? The AVL is looking for multi-disciplinary students who can build digital experiences for cutting-edgearts applications. Tell us what you are good at so we can see you in your best light!

NCSA SPIN mentor Andrew Ferguson

Molecular dynamics (MD) simulations are used to computationally model the conformational structure and motions of molecules including proteins, nucleic acids, and nanoscale materials. Simulations of proteins have been instrumental in improving our understanding of how these molecules fold and assemble, and in guiding the design and development of new drugs and therapeutics. Despite advances in simulation software and high-performance hardware, it remains a challenge to simulate large proteins for biologically relevant time scales. We have developed an approach to accelerate MD simulations by training deep neural networks with autoencoding topologies to discover the important collective dynamical motions governing protein folding dynamics, and to then use these artificial neural networks to accelerate MD simulations along these important directions. We have developed a prototype CPU implementation of this methodology that demonstrates its success. In this undergraduate research project, the student will work with the faculty member and graduate researcher to port the methodology into CUDA and integrate it into the state-of-the-art MD simulation package OpenMM to fully realize the power and acceleration of this approach by enabling it to run on high-performance GPU accelerators. Qualified applicants for this undergraduate research position will possess a strong background in C++, parallel CPU (MPI, OpenMP) and GPU (CUDA, OpenACC) programming. Some experience in software engineering and data analysis for machine learning models is also desirable.

NCSA SPIN mentor Mattia Gazzola

Schools of aquatic creatures delicately float and swim, yet they can dart as a whole to kill or hurl themselves into safe waters, displaying impressive power and, at the same time, incredible elegance. Their seemingly effortless performance is the result of millions of years of evolution which have refined their bodies, senses and collective behaviors in order to master the interaction with the surrounding flow. In this project, we wish to employ artificial intelligence and large scale flow simualations to identify interaction rules that lead to optimal schooling behaviors given a specified objective such as energetic efficiency, quietness, defence against predation or agility.

NCSA SPIN mentor Kiel Gilleade

College can be a highly stressful experience for students given the expectations they performance can radically shape their future. The impact of high stress events on performance can be mitigated through stress management techniques. The aim of this project is to develop and evaluate a stress-reduction tool that will teach students how to regulate their emotions and reduce their stress levels in order to assist them during high stress events. A multidisciplinary team of education specialists, psychologists/therapists, designers and programmers will be assembled. Education specialists and psychologists/therapists will be responsible for identifying high stress events that form part of the student experience (e.g. exams), identifying what type of inventions are appropriate and the platforms that can realize them (e.g. if a digital invention, there will be a need to survey what phones students use). They will work with designers and programmers to develop appropriate digital tools to realize an intervention.

NCSA supports cutting-edge research in a variety of scientific fields including astrophysics. However often is the case that such research is inaccessible to non-researchers, and in this case students considering a STEM related career. The aim of this project is to design digital tools to translate cutting-edge astrophysical models e.g. black holes, created by NCSA supported research, into STEM appropriate education materials which will excite and entice students into STEM related careers. A multidisciplinary team of education specialists, designers and programmers will be employed. Education specialists will be responsible for adapting NCSA research for a classroom environment e.g. learning objectives. The designers and programmers will be responsible for creating complementary digital tools that will reinforce the learning objectives e.g. VR rendering of scientific concept.

NCSA SPIN mentor Roland Haas

Modern scientific simulations have enabled us to study non-linear phenomena that are impossible to study otherwise. Among the most challenging problems is the study of Einstein's theory of relativity which predicts the existence of gravitational waves detected very recently be the LIGO collaboration. The Einstein Toolkit is a community-driven framework for astrophysical simulations. I am interested in recruiting a student interested in improving the elliptic solver of the Einstein Toolkit, to extend its functionality and improve its speed. Depending on student interest the project can focus more on mathematical aspects or on actual coding. The successful applicant will be involved with both the Relativity Group at NCSA and the Blue Waters project and will be invited to participate in the weekly group meetings and discussions of their research projects.

Numerical simulations of Einstein's equations of general relativity require realistic sets of initial data that describe astrophysically-realistic scenarios. This typically involves solving an elliptic type (Poisson-like) partial differential equations. The Einstein Toolkit contains a parallel, multi-grid elliptic solver CT_MultiLevel that can solve the initial data problem using simple grids and boundary conditions. The proposed projects extend CT_MultiLevel to support spherical grids to improve the quality of the boundary condition and employ an improved solution method to speed up finding a solution of the partial differential equation. Students participating in this project will gain experience working with large. collaborative science codes, practice code development for real world problems, and learn about current numerical methods that are applicable to a wide range of scientific areas. Familiarity with Linux and command line tools as well as a good working understanding of basic C/C++ is required to implement the methods. Willingness to understand existing code into which the new methods need to be integrated is also a prerequisite. The mathematical aspects of the problems center on properties of elliptic equations and some familiarity with the notation of partial differential equations will be helpful to gain most from the experience.

The NCSA gravity group uses laptops and workstations to develop code as well as the campus cluster and Blue Waters for production simulations in which all group members are involved.

Modern scientific simulations have enabled us to study non-linear phenomena that are impossible to study otherwise. Among the most challenging problems is the study of Einstein's theory of relativity which predicts the existence of gravitational waves detected very recently be the LIGO collaboration. The Einstein Toolkit is a community-driven framework for astrophysical simulations. I am interested in recruiting a student interested in improving the scalability of the Einstein Toolkit, and its use for large-scale simulation campaigns. Depending on student interest project range from Python scripting to C++ codes running on thousands of CPU cores on Blue Waters. The successful applicant will be involved with both the Relativity Group at NCSA and the Blue Waters project and will be invited to participate in the weekly group meetings and discussions of their research projects.

Beyond its flagship codes McLachlan and GRHydro to solver Einstein's equations of general relativity and general relativistic fluid dynamic respectively the Einstein Toolkit contains utilities to manage code and simulations. SimFactory simplifies downloading and compiling the Einstein Toolkit and to submit and manage simulations on supercomputers. On supercomputers data is usually removed after it has not been used for a set number of times (purged) and typically need to be copied to offline storage (archived) for later retrieval. The first sub-project aims to add an archiving interface to SimFactory that presents the user with a unified set of commands to archive and retrieve simulation data that is independent of the cluster on which the data resides and that lets the user move data between supercomputer clusters. The Einstein Toolkit contains an extensive set of test-suites to ensure correctness of results after code changes. Currently these test are run serially one after the other and only text file output is supported. The second sub-project aims at parallelizing the test suite and to add support for binary, HDF5 output data. A working knowledge of Perl, Python and possibly C/C++ will be required to succeed in these projects as well as a willingness to understand existing code.

NCSA SPIN mentor Eliu Huerta

This project focuses on the development and implementation of new algorithms for the detection and characterization of gravitational wave sources with advanced LIGO. The successful candidate will participate on the development of novel waveform modeling techniques using machine learning, and on the implementation of a suite of data analysis routines that will be implemented at Illinois' campus cluster. These tools will be used to carry out large-scale data analysis studies to shed light on the detectability of spin-precessing, eccentric binary black hole systems with LIGO. The selected student will also participate in the generation of catalogs of numerical relativity simulations with the Einstein Toolkit using the Blue Waters supercomputer and XSEDE. No knowledge of general relativity or advanced physics is required. Knowledge of Linux, C/C++ and Python is highly desirable. The successful candidate will join NCSA's Gravity Group, which is part of the LIGO Scientific Collaboration and the Einstein Toolkit Consortium.

NCSA SPIN mentor Kathryn Huff

The candidate will implement a proof-of-concept Python package demonstrating acceleration of Monte Carlo methods—in particular, Monte Carlo for neutral particle transport—using machine learning techniques. First, a simple, threaded, Monte Carlo Python package will be implemented and tested. Next, the student will implement a few potential acceleration methods inspired by machine learning and optimization techniques in the literature. Finally, these acceleration methods will be tested and compared to one another for simple problems. This work will emphasize implementation of best practices in scientific computing, including integrating documentation, implementing unit tests, investigating scalability, and developing demonstration Jupyter Notebooks. A strong interest in scientific computing combined with interest in data science and statistics will be required.

skills required: python, linux, bash, basic statistics

skills desired: git, sphinx, pytest, machine learning

Contact Kathryn Huff

NCSA SPIN mentor Sandra Kappes

Adapt an existing unit of instruction from NCSA's CI-Tutor learning management system and implement it within NCSA's Moodle learning management system. With help from an NCSA mentor, a suitable instructional design approach will be followed to guide the conversion. This project will provide experience in using LMS technology to develop and deliver instruction and an introduction to learning theories and their implications for instructional design.

NCSA SPIN mentor Vlad Kindratenko

The goal of this project is to deploy, maintain, and experiment with the latest release of OpenStack cloud operating system software on a cluster at the Innovative Systems Lab. The purpose of this experimental OpenStack deployment is to gain and maintain operational awareness of the new features and functionality ahead of the NCSA's production cloud, provide NCSA staff and affiliate faculty with a platform to experiment with the new OpenStack functionality, and to study and evaluate new projects within the OpenStack environment. This project is best suited for students interested in system administration, deployment and operation of complex cloud and HPC environments. Requirements: CS 425 or similar course.

This project will involve deployment and evaluation of existing deep learning frameworks on an HPC cluster and on a cloud. The goal is to gain hands-on experience with deep learning codes, frameworks, and methodologies and to support upcoming projects requiring deep learning.  The work may also require parallelizing codes to work on multiple nodes. This project is best suited for students interested in the development of machine learning techniques and their applications in science and technology fields. Requirements: CS 446 and CS 420, or similar courses.

The goal of this project is to investigate the use of reconfigurable computing for acceleration scientific applications using design methodologies based on OpenCL or similar high-level languages. The project will require studying current high-level based design methodologies developed by Xilinx and Altera, implementing computational kernels using one of these methodologies, and evaluating their performance with regards to speed and power. This work is best suited for students interested in hardware design and already familiar with HDL design methodologies. Requirements: ECE 385 or similar course.

NCSA SPIN mentor Liudmila Mainzer

We are improving performance of a stepwise epistatic model selection for Genome-Wide Association Studies. The method itself works well, but the current Java implementation is way too slow for modern data sizes. We would like to deploy this Java code on Spark, to see if the necessary performance gains could be obtained. A successful student applicant will use Java Spark API to adapt the current code for a Spark platform that is being deployed at NCSA's Innovative Systems Lab. This code will be validated for correctness in collaboration with a student statistician from the lab of Dr. Lipka, who developed this statistical method.

The teams of NCSA Genomics and Data Analytics are jointly looking for a student who enjoys running complex statistical analyses in R. We deal with a range of problems in bioinformatics, genomics, cheminformatics, and disciplines outside biology, that require advanced stats. However, most such codes are written as single-threaded R scripts. Methods have been developed to parallelize R codes for use in high performance computing environment. The successful applicant will learn these parallelization approaches and apply them to improve performance of codes for a variety of projects both with Illinois faculty and the Industry partners. Strong statistical background, and a love of R is required. Familiarity with Linux is a bonus.

We are starting a collaboration with the University of Birmingham around the effects of environmental pollution on gene expression. The collaborators at the UofB are planning to analyze massive amounts of data, and need our help automating their workflows. The student will need to learn Nextflow, a workflow management system written in Groovy and Ruby. Nextflow will be applied to wrap a series of bioinformatics software in a workflow that provides automatic execution on large number of files, good data management and loggery. The student must have experience with several computer languages and a background in biology/biochemistry/genomics, or willingness to learn.

NCSA SPIN mentor Charalampos Markakis

Numerical relativity is a rapidly developing field. The development of black-hole simulations has been revolutionary, and their predictions were recently confirmed with the detection of gravitational waves by LIGO. The next expected source is neutron-star binaries, but their simulation is more complicated, as one needs to model relativistic fluids in curved spacetime, and the behavior of matter under the extreme conditions found in neutron-star cores. In this project, you will use the methods you are already familiar with, from Lagrangian or Hamiltonian mechanics, to model fluids in an intuitive way. You will find that a seemingly complex hydrodynamic problem can be greatly simplified, and be reduced to just solving a non-linear scalar field equation. The successful applicants will be able to solve such wave equations numerically in their favorite programming or scripting language (C, Python, Mathematica, etc). This powerful approach allows one to accurately model oscillating stars or radiating binaries, some of the most promising sources expected to be observed in the next LIGO science runs. A background in classical mechanics and numerical methods is useful. Familiarity with fluid dynamics or scalar fields is a plus, but training will be provided.

NCSA SPIN mentor Michael Miller

This project researches frameworks and workflows for speech-to-text recognition in order to facilitate live auto captioning and creation of standard caption files for use in live events and video editing, utilizing and enhancing speech-to-text HPC/cloud services and seeks to advance the state of the art in speech-to-text recognition. A successful candidate would need to have completed CS125 (Intro to Computer Science) or have equivalent experience.

NCSA SPIN mentor Andre Schleife

Computational materials science research produces large amounts of static and time-dependent data that is rich in information. Extracting relevant information from these data to determine underlying processes and mechanisms constitutes an important scientific challenge. It is the goal of this project to use and develop physics-based ray-tracing and stereoscopic rendering techniques to visualize the structure of existing and novel materials e.g. for solar-energy harvesting, optoelectronic applications, and focused-ion beam technology. This team will develop codes e.g. based on the open-source ray-tracer Blender/LuxRender and the open-source yt framework to produce image files and movies. Stereoscopic images will be visualized using virtual-reality viewers such as Google Cardboard, Oculus Rift, or HTC Vive. Preliminary implementations exist and within this project the team will develop GPU-based visualization codes to enable high-throughput rendering of large data sets.

skills desired: java/android/ios app development; opengl/unity/webgl; vr code development (ideally google daydream); creativity and motivation

Contact Andre Schleife

In order to develop nanocrystals that are able to distinguish diseased from healthy tissue and determine how the complex genetics underlying cancer respond to therapy, we need to understand a complex design space. Experiment and theory provide insight into size, shape, composition, and internal structure of different nanocrystals. Students in this team will work with computational and experimental researchers in several departments in order to establish a database to store, share, and catalog optical properties and other relevant data describing semiconductor nanocrystals. This requires developing schemas and analysis workflows that can be efficiently shared between multiple researchers. Students will first identify all information that will need to be included in this catalogue. Students will then write JSON and python code and interface with Globus and the Materials Data Facility. They will create well-documented iPython notebooks that operate directly on the Globus file structure and run in the web browser. Students will also develop code that automatically analyzes data stored in the facility, e.g. to verify and validate experimental and computational results against each other. Eventually, both the data and the workflows will be made available to the general public. This project is highly interdisciplinary and students will work with a team of researchers in bioengineering, materials science, mechanical engineering, and NCSA.

skills desired: writing json, xml, or any data-interchange formats; programming in python; collaborative skills in teams of computational and experimental researchers

Contact Andre Schleife

NCSA SPIN mentor Jeff Terstriep

The CyberGIS Center at NCSA is dedicated to leading edge research combining big spatial data, geographic information systems (GIS) and high-performance computing (HPC). The center has several ongoing projects in the areas of flood mapping, climate change analysis, disaster response planning, and processing of high-resolution remote sensing data. Projects require development in a variety of technical areas ranging from web frontend development and visualization to creation of modern microservice applications to parallel algorithm development for spatial data.

This project is focused on utilizing Big Data Analytics to provide economically useful farm management recommendations to farmers across the world. This project will generate customized field trials for farmers which are analyzed across an aggregate trial dataset to model potential field management recommendations based on spatio-temporal and economic variables. Work will focus on User Interface design for both map and statistical visualizations. Interns will have the opportunity to gain experience in Javascript and Python as well as a basic understanding of MVC architectures and REST services.

The CyberGIS Center at NCSA is dedicated to leading edge research combining big spatial data, geographic information systems (GIS) and high-performance computing (HPC). The center has several ongoing projects in the areas of flood mapping, climate change analysis, disaster response planning, and processing of high-resolution remote sensing data. Projects require development in a variety of technical areas ranging from web frontend development and visualization to creation of modern microservice applications to parallel algorithm development for spatial data.

LiDAR, Light Detection and Ranging, is a remote sensing method used to examine the surface of the Earth. The LiDAR enablement project seeks to create a scalable analytics and visualization framework for the growing collections of aerial LiDAR. The project utilizes parallel algorithms for query and segmentation of the aggregate LiDAR dataset which is served as a raw or gridded derivative to a web server for visualization. Interns will gain skills with Javascript with a particular emphasis on 3D visualization libraries—Three.js, Cesium.js—and 3D data formats.

The CyberGIS Center at NCSA is dedicated to leading edge research combining big spatial data, geographic information systems (GIS) and high-performance computing (HPC). The center has several ongoing projects in the areas of flood mapping, climate change analysis, disaster response planning, and processing of high-resolution remote sensing data. Projects require development in a variety of technical areas ranging from web frontend development and visualization to creation of modern microservice applications to parallel algorithm development for spatial data.

The CyberGIS group has produced a hydrological tool that produces inundation maps for the continental US. This projects seeks to develop a large-scale streaming model for the visualization of inundation forecasts. Users of the system would interactively identify areas of interest based on river IDs or selected region. The system would query a relational or spatial database for forecast info and finally render an inundation map animation just as National Weather Service shows the animation of weather data. Because forecasts are produced every hour for the next 15 hours, forecast data is streamed to users continually. Students would learn about with the streaming programming model and gain hands on experience with the Apache Kafka streaming data platform.

The CyberGIS Center at NCSA is dedicated to leading edge research combining big spatial data, geographic information systems (GIS) and high-performance computing (HPC). The center has several ongoing projects in the areas of flood mapping, climate change analysis, disaster response planning, and processing of high-resolution remote sensing data. Projects require development in a variety of technical areas ranging from web frontend development and visualization to creation of modern microservice applications to parallel algorithm development for spatial data.

Several CyberGIS projects are built on cutting edge, scalable databases such as Cassandra, Redis, and Accumulo. In this project, students will design and implement a performance benchmark scheme and perform benchmarks on these systems. Results will be compiled into a CyberGIS technical report and potentially published at computing conference.

The CyberGIS Center at NCSA is dedicated to leading edge research combining big spatial data, geographic information systems (GIS) and high-performance computing (HPC). The center has several ongoing projects in the areas of flood mapping, climate change analysis, disaster response planning, and processing of high-resolution remote sensing data. Projects require development in a variety of technical areas ranging from web frontend development and visualization to creation of modern microservice applications to parallel algorithm development for spatial data.

Jupyter is web application that allows users to create and share documents that contain live code, equations, visualizations and explanatory text. Interest in Jupyter has been growing and it is used extensively by the education and scientific research communities. The CyberGIS group is attempting to create a set of spatial analysis and modeling notebooks as the initial draft of a GIS cookbook and expand the capabilities to leverage parallel computing to handle big data. Students will have an opportunity to learn about GIS algorithms, high performance computing, and the Jupyter environment.

The CyberGIS Center at NCSA is dedicated to leading edge research combining big spatial data, geographic information systems (GIS) and high-performance computing (HPC). The center has several ongoing projects in the areas of flood mapping, climate change analysis, disaster response planning, and processing of high-resolution remote sensing data. Projects require development in a variety of technical areas ranging from web frontend development and visualization to creation of modern microservice applications to parallel algorithm development for spatial data.

The Julia is a programming language designed for high-performance programming. Julia overcomes the limitation of Python when executing parallel code. Students will explore the capabilities of Julia in creating GIS functions and learn about the programming models used in Julia on high performance computing systems.

The CyberGIS Center at NCSA is dedicated to leading edge research combining big spatial data, geographic information systems (GIS) and high-performance computing (HPC). The center has several ongoing projects in the areas of flood mapping, climate change analysis, disaster response planning, and processing of high-resolution remote sensing data. Projects require development in a variety of technical areas ranging from web frontend development and visualization to creation of modern microservice applications to parallel algorithm development for spatial data.

Students will be working on web GIS related projects and have an opportunity to learn and gain hands-on experience with some of the most popular technologies in web application development, interactive data visualization and web GIS. Tools include ReactJs, MeteorJs (nodeJs), MongoDB, D3, Openlayers, Leaflet, ArcGIS Online and many more. In addition to building web interfaces with cool technologies, students will learn how to work with a team on complex projects while keeping the project maintainable.

NCSA SPIN mentor Sever Tipei

The project involves algorithmic composition and digital sound synthesis using a software package developed at Illinois Computer Music Project and Argonne National Laboratory. It is an on-going project using stochastic distributions, elements of Graph Theory and Information Theory and requiring C++ programming skills and possibly Graphic User Interface building.

Summer 2017 Mentors