Christopher E. Moore
Curriculum Vitae
Phone: +1-720-***-****
***********.*.*****@*****.***
http://christopheremoore.net/
Technical Skills
Languages: C++, C, GLSL, OpenCL, Lua, C#, Java, Javascript, Python, PHP, BASIC, CUDA. APIs: OpenGL, SDL, OpenCV, OpenAL.
Applications: Microsoft Visual Studio, XCode, MatLab, Octave, Maxima, Mathematica. Build / Revision Software: Git, PerForce, SVN, CVS, Make, Ant. Operating Systems: Ubuntu, Mac OS X, Windows, Android. Experience and Interests
Gravitation, Differential Geometry, Tensor Analysis, GPGPU Programming, Nonlinear Optimization, Numerical Relativity, Computational Fluid Dynamics, Hyperbolic Conservation Law Solvers, Dynamic Systems, Computer Algebra Systems, Recurrent Neural Networks. Education
King Abdullah University of Science and Technology Fall 2015 to Present.
Thuwal, Makkah, Saudi Arabia.
PhD Student in the Fluid and Plasma Simulation group. Research projects include applying Jacobian- Free Newton-Krylov method to solve for self-similar ideal magnetohydrodynamics. Currently Enrolled.
Oregon State University
Fall 2000 to Fall 2009.
Corvallis, Oregon, United States of America.
Completed BSc in Mathematics and Computer Science on December 11, 2009. Completed MSc in Computer Science, option in Computer Visualization on June 18, 2006. Awarded the Laurel Scholarship.
Thesis Topic: A Recurrent Neural Network Implementation Using the Graphics Processing Unit. La Trobe University
Melbourne, Victoria, Australia.
Summer of 2004.
Study Abroad.
Personal Projects
GPGPU-Driven Hydrodynamics, Maxwell, and Numerical Relativity Simulation Simulates inviscid Euler fluid equations, Maxwell's equations, and ADM Bona-Masso numerical relativity equations. Demonstrates Burger’s, HLL, HLLC, and Roe schemes. Various flux limiters. Operates in 1 to 3 dimensions. Forward Euler, various Runge-Kutta (regular and TVD), integrators. Initial conditions can be specified symbolically, from which code is generated using my Lua Compute Algebra System. http://christopheremoore.net/hydrodynamics- c l/
Lua Computer Algebra System
Computer Algebra System capable of algebraic simplification, differentiation, and substitution. Support included for tensor index notation. Samples include geodesic calculating the Euler fluid equations based on Newtonian approximations of the relativistic conservation of matter stress-energy, computing the flux Jacobian of the Euler fluid equations, computing the FLRW equations. Webpage includes Emscripten- based interactive Lua demo.
http://christopheremoore.net/symbolic-lua
Jacobian-Free Newton-Krylov Solver of the Einstein Field Equations Allows the solving of the ADM primitive variables of the metric (lapse, shift, spatial metric) given the stress-energy tensor. Stress-energy tensors can be specified in terms of relativistic fluid source terms
(density, specific internal energy, pressure), electromagnetism (electric and magnetic field), with plans to extend the matter stress-energy tensor to incorporate heat and viscosity. Initial conditions of the Tolman- Oppenheimer-Volkoff equations of structure. Employs Jacobian-Free Newton-Krylov method to perform the nonlinear root finding. Also includes volume data visualizer for displaying the results. https://github.com/thenumbernine/efesoln-cl-lua
https://github.com/thenumbernine/EinsteinFieldEquationSolution/ Interactive Map of the Solar System
To-scale visualization of the Sun, eight planets, and Pluto, as well as all orbiting celestial bodies, all 500,000 JPL Small Body Database objects, over 5000 exoplanets, 100,000 stars from the HYG star database, 10,000 galaxies from the Simbad database. Orbit information provided from the NASA Horizons project. Calculates accurate gravitational and tidal forces on each planet's surface using Newtonian or relativistic Schwarzschild metric. Visualizes gravitational embedding of the planet calculated by the Schwarzschild metric.
http://christopheremoore.net/solarsystem
Relativistic Ray Casting
Simulates the path of light traveling along geodesics of metrics of Schwarzschild Cartesian black hole and Alcubierre warp drive bubble. Uses WebGL and GPGPU programming for integrating light rays in parallel.
http://christopheremoore.net/black-hole-skymap
Work Experience
United States Natural Resources
Software Engineer
September 2014 – May 2015
Designed LuaJIT+OpenGL prototypes to test GPGPU techniques to previous parts of pipeline to compare performance tradeoffs. Developed defect classification prototype tool using gradient domain image processing for seamlessly copying and pasting image features. Contributed to mathematical model of reconstructing 3D points from camera images.
Medical Simulation Corporation
Software Engineer
March 2013 - January 2014
Contributed to visualization, physics, performance, and various other aspects of Compass product line. Improved fluoroscopy rendering to be tomography-accurate (based on Beer-Lambert law). Speed up slowest bottleneck function to be 40% faster. Implemented a CRTP-based math library which is 1200+ lines less and more flexible. Designed a LuaJIT-driven rapid prototyping system and used it to prototype a 3-DOF pressure-driven balloon simulations. Contributed to Sencha JavaScript cross-platform UI. http://www.medsimulation.com
OTOY, Inc.
Software Engineer
November 2010 - May 2011
Developed login website using Apache/PHP, Amazon Buckets, and Lua scripts, hosted on an Amazon EC2 account. Ported code from C to Mozilla JavaScript-CTypes. Implemented FFI in LiveConnect for access via JavaScript. Performed various other miscellaneous jobs. http://www.otoy.com
Victoria Machine Vision
Melbourne, VIC, Australia
Project Engineer
February 2010 - July 2010
Implemented object recognition and computer vision algorithms for the purpose of product quality control. Made use OpenCV and Halcon for implementing computer vision algorithms. Worked with a small team that implemented hardware on-site at several locations. Rewrote configuration system to be Lua-driven, for greater flexibility and modularity. http://www.vmv.com.au
Rogue Wave Software
Corvallis, OR, USA
Software Programmer II
June 2008 - July 2009
Contributed to the research and development of an auto-parallelizing code translator, "Gazelle." The translator was capable of generating vendor-specific code for multi-core CPUs or GPUs, targeting backends such as Brook, CUDA, and OpenMP. Wrote a SCons-based build script and report generation tool in Python. Worked on a service-oriented architecture product, "Hydra," a cross-platform framework for C++ and Java. Tasks included performance testing, build system maintenance, and QA work. Designed a Rhino JavaScript-based tool for regression test success rate analysis. http://www.roguewave.com/products/hydra
National Aeronautics and Space Administration
Cape Canaveral, FL, USA
Internship
June 2007 - August 2007
Worked on the Simulation and Analysis of Launch Teams (SALT) project. Researched possible 3D engines to implement a C++ launch simulation application within. Engines included Second Life and the Torque Game Engine. Researched and implemented various languages to use for sequence scripting and for socket-based communication.
Northwest Alliance for Computational Science and Engineering Corvallis, OR, USA
Java3D Visualization Programmer
June 2002 - June 2006
Main programmer of an interactive visualization application for remote scientists to experience and explore the OSU Hinsdale Wave Research Lab facility. The Hinsdale Wave Lab was the largest tsunami simulator in the world. A 30-second clip of this application was shown on the Jumbotron at a home OSU football game to an audience of several thousand. The application was also shown on a History channel segment entitled, "Nature Tech: Tsunamis," on July 8th, 2003. http://nees.oregonstate.edu/virtual/
Collaborated on a GIS interface to a PostgreSQL database for the US Forest Service. Designed the AJAX-driven web-based client with functionality similar to Google Maps. http://gis.nacse.org/lichenair/