About Me

Ian Lumsden

Hello, my name is Ian, and I am a senior and soon-to-be PhD student at the University of Tennessee, Knoxville. I am majoring in Computer Science, but I started out as a Computer Engineering major with a minor in Materials Science and Engineering. Although my major and minor have changed, I am still extremely interested in almost every science and engineering field, and my work outside the classroom reflects this interest. From the summer after my freshman year until the end of 2018, I worked as an intern with the Neutron Data Analysis Group at Oak Ridge National Lab (ORNL) writing software to help physicists analyze data collected at ORNL and simulate neutron scattering experiments. Additionally, during my time at ORNL, I developed a tool to help scientists and engineers at ORNL's Manufacturing Demonstration Facility 3D print parts for instruments at ORNL neutron research facilities. Since May 2019, I have been working in the field of High Performance Computing, which I entend to concentrate in during my PhD studies. In this field, I have been doing work related to both software performance research and molecular dynamics simulations. Outside of the classroom and research, I am a leading software member of UT's IEEE Robotics team. As part of this team, I help plan, build, and code autonomous robots for us to compete at the hardware competition at the annual IEEE SoutheastCon conference. I also work closely with the board of UT's IEEE Student Branch to help plan and host various events, although I am not a member of the board. As previously mentioned, after earning my degree, I will enter the PhD program at UT in Computer Science with a concentration in High Performance Computing. During and after my graduate studies, I hope to continue to develop interdisciplanary, impactful software through my research.

My Career

Oak Ridge National Laboratory

At ORNL, I worked in the Neutron Data Analysis group, where I developed data visualization and GPU-accelerated software to help users at the Spallation Neutron Source analyze their data and simulate their experiments.

May 2017 - Dec. 2018
HERE Intern

Global Computing Laboratory at the University of Tennessee, Knoxville

Working on the Analytics for Molecular Dynamics (A4MD) project, which examines the performance and implications of in-situ and in-transit analysis of molecular dynamics simulations. Also working on the new A4X project, which is a spin-off of A4MD that I came up with that seeks to generalize and expand the A4MD workflow into a general purpose workflow engine.

May 2019 - Present
Undergraduate Researcher

Lawrence Livermore National Laboratory

Will be working on the Hatchet tool, which allows users to analyze parallel program runtime profiles produced by standard High-Performance Computing profiling tools using a mix of traditional data analysis tools (i.e. Python's Pandas library) and graph- and tree-based functions.

May 2020 - August 2020
Summer Computing Student Intern

My Courses

Fall 2016

  • COSC 102 Introduction to Computer Science
  • EF 157 Honors Physics for Engineers I
  • CHEM 128 Honors General Chemistry I
  • ENGL 198 Chancellor's Honors Writing I

Spring 2017

  • COSC 130 Computer Organization
  • EF 158 Honors Physics for Engineers II
  • CHEM 138 Honors General Chemistry II
  • PHYS 231 Fundamentals of Physics: Electricity and Magnetism
  • ENGL 298 Chancellor's Honors Writing II
  • MSE 101 Advances in Materials Science and Engineering

Fall 2017

  • COSC 140 Data Structures and Algorithms I
  • ECE 201 Circuits I
  • ECE 255 Introduction to Logic Design of Digital Systems
  • MSE 207 Honors Introduction to Materials Science and Engineering
  • ITAL 111 Elementary Italian

Spring 2018

  • COSC 307 Honors Data Structures and Algorithms II
  • COSC 311 Discrete Structures
  • ECE 313 Probability and Random Variables
  • MSE 350 Principles of Electronic, Optical, and Magnetic Materials
  • SOCI 232 Religions in Global Perspective

Summer 2018

  • COSC 377 Honors Introduction to Scientific Computing

Fall 2018

  • COSC 340 Software Engineering
  • COSC 360 Systems Programming
  • COSC 312 Algorithm Analysis and Automata
  • COSC 528 Introduction to Machine Learning (Graduate Version)

Spring 2019

  • COSC 466 Software Security (formerly called Web Security)
  • COSC 556 Computer Graphics (Graduate Version, was COSC 594 when I took it)
  • COSC 365 Programming Languages and Systems
  • COSC 361 Operating Systems

Fall 2019

  • COSC 461 Compilers
  • COSC 462 Parallel Programming
  • COSC 401 Senior Design Theory
  • ENGL 360 Technical and Professional Writing
  • PHIL 107 Honors Introduction to Philosophy

Spring 2020

  • COSC 526 Data Mining
  • COSC 493 Independent Study (A4X project for GCLab)
  • COSC 402 Senior Design Practicum
  • REST 225 Introduction to Judaism, Christianity, and Islam

My Skills

My Projects

McVineGPU

McVineGPU is a GPU-powered version of MCViNE, a ray-tracing neutron scattering experiment simulation software.

SCADGen

SCADGen is a tool for converting XMLs used by MCViNE to represent constructive solid geometry into OpenSCAD code for visualization and STL generation purposes.

Robotics Integrated Platform

The Robotics Integrated Platform (RIP) is a modular software platform written in C++ for controlling small-scale fully-autonomous robots controlled by a Raspberry Pi and Arduinos.

Ipywe

Ipywe is a library now within Scikit-Beam that provides various widgets/GUIs for performing neutron scattering data analysis within Jupyter notebooks.

Analytics for Molecular Dynamics

A4MD is a project for developing in-situ and in-transit data analytics solutions for current- and next-generation molecular dynamics workflows.

Hatchet

Hatchet is a Python-based library that allows the data from parallel program profiles generated by standard HPC tools to be analyzed with Pandas dataframes and structured tree and graph methods.