Senior Research Software Engineer — GPU/HPC Systems for Health Informatics
University of Kentucky College of Medicine · Lexington, KY
Apply & track with Apply EdgeThe Zero Knowledge Discovery Laboratory at the University of Kentucky (https://zed.createuky.net/) is seeking a Senior Research Software Engineer to develop high-performance computational and machine-learning software for large-scale scientific and biomedical applications.The primary focus of this position is to translate advanced research algorithms and prototype implementations into efficient, compiled software that runs natively on modern GPUs and high-performance computing systems. The successful candidate will work closely with researchers developing the underlying methods and will take substantial responsibility for software architecture, GPU implementation, performance optimization, and deployment at scale.Core ResponsibilitiesThe engineer will design and implement high-performance scientific software in modern C++ and CUDA, develop efficient data structures and memory layouts, and optimize computation for GPU and multi-GPU environments. The role includes converting research prototypes into robust and maintainable compiled software, profiling and improving performance, and deploying applications on Linux-based HPC systems.The position will also involve integrating computational workflows with large-scale data sources, including SQL-based systems, and working within secure or controlled-access computing environments. The engineer will collaborate directly with scientists and quantitative researchers to translate mathematical and algorithmic specifications into efficient production-quality implementations.Critical QualificationsCandidates must demonstrate substantial hands-on expertise in:Modern C++, including C++17/20, data structures, algorithms, memory management, debugging, and performance optimization.CUDA C/C++ and native GPU programming, including direct experience writing and optimizing GPU kernels rather than simply using GPU-enabled machine-learning frameworks.High-performance and parallel computing, including performance profiling, memory optimization, CPU-GPU communication, and scaling computational workloads.Linux and HPC environments, including experience running and managing computational workloads on clusters.SQL and large-scale data access, including programmatic retrieval and processing of data from relational database systems.Scientific software engineering, including version control, testing, build systems, benchmarking, and reproducible deployment.Candidates should be capable of understanding an algorithm from mathematical or research specifications and independently developing an efficient, production-quality implementation.Additional Desired ExperienceExperience with several of the following would be advantageous:Multi-GPU computing, CUDA streams, CUB/Thrust, NCCL, MPI, or OpenMP.NVIDIA Nsight Systems, Nsight Compute, or comparable profiling tools.Slurm or comparable HPC workload managers.CMake and modern C++ build/toolchain management.Microsoft SQL Server.Databricks, Spark, or Databricks SQL.Apptainer/Singularity, Docker, or related container technologies.Development within secure, regulated, or controlled-access computing environments.Experience with large biomedical, scientific, or other sensitive datasets.Python interoperability with high-performance C++/CUDA libraries.A degree in computer science, computer engineering, applied mathematics, computational science, or a related discipline is desirable, although demonstrated ability to build sophisticated high-performance software is more important than a particular degree.Evidence of ExpertiseApplicants must provide explicit evidence of relevant technical expertise to be considered. Evidence may include links to substantial C++ or CUDA code repositories, scientific software, technical publications, or descriptions of major GPU/HPC systems personally designed or implemented.For proprietary work that cannot be shared, applicants should describe the system architecture, scale, performance challenges, and their individual technical contributions.Candidates whose GPU experience is limited primarily to use of existing GPU-enabled machine-learning frameworks, without direct CUDA or GPU systems programming, are unlikely to be competitive.Appointment and CompensationThis is a full-time position with an initial appointment of 1–2 years, with the possibility of renewal based on performance, funding availability, and programmatic needs.Salary will be commensurate with experience and qualifications. The anticipated salary range is $90,000–$100,000 per year, subject to University of Kentucky classification and compensation policies. Due to the immediate need, US residency is preferable.