×
James E. T. Smith, Ph.D.

James E. T. Smith, Ph.D.

HPC Software Engineer

270 W 39th St, New York, New York, US, NY 10018
+1 (508)-596-7110

Background


Work Experience

Work Experience

  • Member of the Technical StaffLucata Corporation

    Jul, 2022 - Present

    Small startup developing custom architecture for sparse graph problems

    • Implemented a highly multithreaded version of the GraphBLAS library in C/C++, using C++11/14/17.

    • Optimized the multithreaded performance of Lucata's GraphBLAS implementation and worked closely with the hardware team to improve performance of the Lucata Pathfinder architecture.

    • Consolidated and improved the CMake build system for Lucata's custom LLVM 14 compiler.

    • Overhauled the CMake build system for the LucataGraphBLAS project and set up continuous integration, testing, code coverage, and static linting.

    • Collaborated with other teams regularly to address bugs and implement new features in the GraphBLAS library.

  • Flatiron Research FellowCenter for Computational Quantum Physics, Flatiron Institute

    Sep, 2020 - Jul, 20221 year 10 months

    Private research institute for high performance computing in basic science research.

    • Implemented OpenMP parallelized stochastic compression methods for quantum chemistry in the open source C++ package FRI-CC.

    • Contributed features, bug fixes, and documentation as one of the primary maintainers for the open source Python/C package PySCF.

    • Worked closely with the core team of PySCF developers improve the CMake build system and PyPI distribution after the release of PySCF v2.0.0.

    • Organized workshops to help members of the Flatiron community better utilize high performance computing resources as part of the Sciware working group.

  • Graduate (Ph.D.) Research AssistantUniversity of Colorado Boulder

    Aug, 2014 - Sep, 20206 years 1 month

    Public research university.

    • Implemented a hybrid MPI-OpenMP parallelized version of the HCI algorithm in the Sharma Group's C++ software Dice

    • Built decision tree and graph neural network models to predict etching reaction outcomes and trained these models with experimentally observed data.

    • Wrote a new module for the PySCF package to interface with Dice enabling the investigation previously intractable systems.

    • Frequently contributed to the PySCF quantum chemistry package, implementing new features and handling bug reports.

    • Organized and led a workshop on software best practices for graduate students and post doctoral researchers with staff from the Molecular Sciences Software Institute (MOLSSI).

Skills

Skills

  • Programming

    C/C++ (7+ years)

    Python (8+ years)

    Bash (8+ years)

    CMake (5+ years)

    Rust (<1 year)

  • Parallelism

    OpenMP

    MPI

    Cilk

    CUDA

  • Tools

    git

    gdb

    perf

    VTune

    clang-tidy

    GitHub Actions

Education

Education

  • Chemical Physics, Ph.D., University of Colorado Boulder

    Sep, 2014 - Aug, 2020

  • Chemistry, Minor in Mathematics, BS, Davidson College

    Sep, 2010 - May, 2014

Certificates
Volunteer Work

Volunteer Work

  • Instructor, Software Carpentry

    May, 2021 - Present

    Taught regularly about software best practices in scientific computing to learners with a broad programming background. Taught lessons on shell, Git, Python, and data visualization in Python.